自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (1)
  • 收藏
  • 关注

原创 java spi ,servlet3.0 spring web启动

问题: spring web,在没有web.xml的情况下是如何被tomcat拉起来启动的呢?首先是,tomcat 会通过 java 的spi 机制(其实tomcat 没java提供的spi方式,只是参照了其规范而已,下面详述),去找 javax.servlet.ServletContainerInitializer (since servlet 3.0)的实现类sping-web jar里有对 ServletContainerInitializer 的实现 SpringServletContainerI

2021-04-25 09:56:01 176

原创 java Double.doubleToLongBits 方法作用

看了官方注释,没看懂,测试了下,是下面所说的作用:这个方法的作用其实就是:将已浮点格式存储在内存中的小数,直接当做Long 读取出来。比如 0.2 在内存中是: 0011111111001001100110011001100110011001100110011001100110011010然后该方法直接把他当做Long 读取出来,得到的数值是 4596373779694328218 ,我们再...

2019-09-12 11:28:03 3230

原创 socket通信例子

 NIO 同步非阻塞方式,socket 的通信例子。服务器端:package com.kangzye.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.nio.ByteBuffer;import ja...

2018-10-08 17:45:56 259

原创 vim 将匹配的数字累加 sum column

例子:数学  30语文  29英语  89 现在要将三门课程分数加起来并打印出来,可执行以下命令:let i=0:g/^/let i+=str2nr(substitute(getline('.'),'.\+\(\d\+\).\+,'\1','')):echo i 如此就会得到总分,下面解释一下各命令let i=0  是设置i变量并赋值0str2nr...

2018-09-12 13:41:18 2082

转载 shell $$,$! 等的特殊用法

变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的

2018-09-12 10:14:19 543

原创 POM引入spring基本配置

   <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version>

2018-09-10 11:46:06 2825

原创 spring cloud配置笔记

spring cloud 有很多组件:hystrix , ribbon ,feign, gateway, eureka 等。hystrix 使用(包的依赖暂时不讲)在controller上注解  @EnableCircuitBreaker ,然后再方法上再注解 @HystrixCommand(fallbackMethod="gun") ,如:@RestController@...

2018-08-20 16:09:30 225

原创 spring boot 的EnableAutoConfiguration

Spring Boot 2 中,很大程度上将 xml的配置,使用 javaBean 的方式配置。使用 @EnableAutoConfiguration 注解注释在启动类上之后,几表示打开。那么spring会在 classpath 中寻找所有的 @Configuration 的类,当做配置类来加载。其类内部一般就是有很多被注解为  @Bean 的方法,这些方法产生的 Bean 即是放在 spr...

2018-08-17 20:30:32 91

原创 spring hystrix 随笔

hystrix 是一个断路器,可以进行熔断等功能。最简单的demo:@RestController@EnableCircuitBreakerpublic class MainController { @RequestMapping("/fun") @HystrixCommand(fallbackMethod="gun") public String fun(@Re...

2018-08-10 17:17:06 121

原创 zookeeper随笔

Zookeeper 依托zab协议,实现分部式的“管理者”,下面记录一些使用摘要1、节点     根是  /  ,整个数据结构呈现树形     每个节点可以有子节点。可以有数据。 并还有状态信息。     czxidThe zxid of the change that caused this znode to be created.创建次节点的事物IDmzxi...

2018-07-04 16:06:48 95

原创 java通配符匹配文件路径

java.nio.file.PathMatcher 接口的 matches 方法,可以测试一个地址是否和通配符地址匹配:PathMatcher matcher = FileSystems.getDefault().getPathMatcher( "glob:**/*.xml");boolean matches = matcher.matches(Paths.get("D:/tmp/...

2018-06-26 18:24:32 6298

原创 linux输入文字到屏幕任意位置

#!/bin/bashfunction prompt_command {let prompt_x=$COLUMNS-5}PROMPT_COMMAND=prompt_commandfunction clock {local BLUE="\[\033[0;34m\]"local RED="\[\033[0;31m\]"local...

2018-06-25 13:54:32 1167

原创 BeanShell 的使用

在jmeter中可以使用beanshell语言,来对请求报文或者结果进行一些处理,入下面是需要对。import com.cnn.electronic.invoice.util.SecurityUtil;import com.cnn.base.common.lang.DESedeEncrypt;String requestBody = "{'tradeNo':'T-40ec63a8d1...

2018-06-08 10:56:57 300

原创 lambda表达式

1、lambda 表达式1 , Arrays.asList("s","vo").forEach(System.out::println); // AArrays.asList("s","vo").forEach(o->System.out.println(o)); // B    这里涉及到3个知识点    a. java8新增了函数指针这个概念,就是使用 “...

2018-05-21 11:41:04 102

原创 vim 将字母大小写替换

有时候需要将驼峰格式属性,转变成下划线,并小写该字母的格式,那么可以用s替换方式::%s/\([A-Z]\)/_\u\1/g注意此处\u\1 表示对\1 匹配进行小写,反之使用 \U\1  ...

2018-05-12 12:39:29 1827

原创 nginx rewrite 命令备忘

rewite在server块下,会优先执行rewrite部分,然后才会去匹配location块 server中的rewrite break和last没什么区别,都会去匹配location,所以没必要用last再发起新的请求,可以留空location中的rewirte:不写last和break - 那么流程就是依次执行这些rewrite 1. rewrite break  url重...

2018-05-02 17:23:24 230

原创 vim 的粘贴板

1、vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如:[plain] view plain copyw 跳转到下个word,W:跳转到上个word  f  某行正向查找并跳转    F: 反向...

2018-04-07 14:05:45 143

原创 vim关于滚动

 set nowrap # 让行不换行显示,可以水平滚动set wrap   #undo set scrollbind 绑定上下set scrollopt=hor  左右set snoscrollbind  #undoset scrolloff=7    上下间隙7行...

2018-04-04 15:59:38 1697

原创 关于如何统计文件中出现的具体信息,并且计数

如题,我们会用到 grep   sort  uniq命令如: grep -o -e '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+' | sort | uniq -c grep -o 作用是输出匹配的内容,并且在每行中是尽可能多的匹配sort 是用来排序,主要目的就是因为 后面的 uniq  -c 是统计的 连续的相同内容有多少行。所以需要用sort来将相同的...

2018-03-23 15:44:23 250

原创 sql explain详解

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id 1、EXPLAIN tbl_nameEXPLAIN tbl_name...

2018-03-22 14:04:05 487

原创 数据库隔离级别

(零)没有并发控制存在的问题:更新遗失。 解决办法就是下面的“可读取未确认”。(一)可读取未确认(Read uncommitted)更新丢失  脏读  不可重复读  幻读写事务阻止其他写事务,避免了更新遗失。但是没有阻止其他读事务。 存在的问题:脏读。即读取到不正确的数据,因为另一个事务可能还没提交最终数据,这个读事务就读取了中途的数据,这个数据可能是不正确的。 解决办法就是下...

2018-02-27 15:41:39 68

原创 jhat工具的 OQL 查询语法

 jmap -dump:format=b,file=./abc.dump之后,会产生 abc.dump 文件,然后如果服务及其性能相当不错的话,可以再服务器上直接运行命令:jhat -J-Xmx2000M abc.dump 运行之后,会打开默认的7000 端口对外提供http的服务,用浏览器即可进行查看。 From:http://blog.csdn.net/wanglh...

2018-01-24 20:39:17 818

原创 ESB总线架构图(借用)

 根据近期对开源ESB产品的研究,已经对Oracle和Tibco的ESB总线产品的实施经验积累,对ESB总线的核心产品架构有了进一步的清晰认识,将ESB的核心架构整理为上图,上图中看到的内容也是做为一款完整的ESB服务总线产品所必须要具备的功能。首先整个架构体系里面分为三个组件或子系统,即偏开发态的设计器,偏运行态的ESB核心引擎和SOA治理管控平台三个方面的内容。以上三者组合和集成形成一款...

2018-01-16 13:56:27 4365

原创 guava 小桥段

List<stateVo> stateVos = Lists.newArrayList();ListenableFuture[] futures = FluentIterable.from(stateVos).transform(new Function<stateVo, ListenableFuture>() { @Override public...

2018-01-04 15:42:48 58

原创 vim的折叠功能

问题:怎样在vim中实现代码折叠功能?      解决方法:直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠    小试折叠:  1  :set fdm=marker  在vim中执行该命令  2  5G  将光标跳转到第5行  3  zf10G  折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记  4  zR ...

2017-12-05 10:12:51 115

原创 shell 脚本1

二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.1.整数比较  [cpp] view plain copy -eq 等于,如:if [ "$a" -eq "$b" ]   -ne 不等于,如:if [ "$a" -ne "$b" ]   -gt 大于,如:if [ "$a" -gt "$b" ]   -ge 大于等于

2017-11-27 15:44:51 75

原创 vim 操作原石材料

Vim 用户都应该知道 Vim 的 Normal 模式下 operator + motion 组合的便利,比如daw 删除光标下的普通单词以及其后的空格ciW 删除光标下的以空格分隔的“单词”并进入插入模式 (i 表示 inner,不删除单词后的空格)yis 复制光标下的句子到默认寄存器确实这几个都比较平淡无奇,不过请看以下这些ci[ 删除一对 [] 中的所有字符并进...

2017-10-16 16:54:57 202

原创 vim 内置函数

1 平台API的重要性要使用任何一门语言写出点真正有用的程序来,都离不开平台API的调用。使用C/C++开发Windows程序需要大量调用Win32API,开发Linux程序需要大量调用Linux API,开发Java程序,需要调用使用Java封装好的平台API。API大体上分为两种,一种是以函数的形式体现,如Win32API, Linux API, Socket API等,另一种则是以类的...

2017-09-12 12:00:17 1823

原创 Mockito备忘

@spy 和 @mock 区别spy的情况是会创建一个真实实例,方法都是真实的,而mock 创建的实例,方法都是虚的,否返回null之类的默认值。如果@spy再加上 @InjectMocks 那么,那么表示 对象中的属性对象(一些用@resource标记的对象)需要从@spy时上下文中,给出这些属性的对象,否则会是null的。 @spy的对象上,要改动某个方法不能这样when(...

2017-07-03 15:40:46 61

原创 jstat 查看内存情况

D:\Users\yftan>jmap -heap 7872Attaching to process ID 7872, please wait...Debugger attached successfully.Server compiler detected.JVM version is 24.45-b08 using thread-local object all...

2017-06-15 15:24:49 308

原创 Eclipse 快捷键录

Alt+Shift+ ←  向前选中一个Block ,可能是一个单词,也可能是整个方法Alt+Shift+ →  向后选中一个Block ,可能是一个单词,也可能是整个方法Alt+Shift+ ↑   去往上一个方法名称定义上Alt+Shift+ ↓   去往下一个方法名称定义上Ctrl+Shift+ P  去往最近闭合花括号Ctrl+Shift+ G  在workspace...

2017-06-02 11:28:38 52

原创 跑步健身准则

跑步是世界上公认的对健康最有益的运动。很多人开始跑步之后,整个人就完全变了,不仅身体更加结实,皮肤更加紧实,而且精力也大为改善,睡眠质量也大大提高。毫不夸张的说,跑步可以彻底改变一个人。跑步可以提高胆固醇,降低血液凝块的危险,锻炼你50%经常处于闲置状态的肺。跑步还可以通过增加你的淋巴细胞来增强你的免疫力。美国最新的一项研究表示,如果每周跑步2.5个小时,那么可以延长寿命3年。即使你跑步...

2017-04-14 11:25:40 291

原创 vim 比较全的命令

曾经使用了两年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。1. 关于Vimvim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用...

2017-04-06 10:32:15 102

原创 vi 的t f m e j 的特殊用法

from http://blog.csdn.net/qqzhuyuehe/article/details/5754297删除一个分行符:J      在 Vim 中你可以把两行连起来,这意味着两行间的换行符被删除了。以下面两行为例子:        A young intelligent         turtle把光标移到第一行,然后按 "J":        A...

2017-04-05 17:22:17 651

原创 vi在linux下的拷贝粘贴

====以下内容不大对,待验证纠正==========如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset就可以了,下面讲一下vim的粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的。vim帮助文档里与粘贴板有关的内容如下:   1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(...

2017-03-31 11:29:20 726

原创 eclipse 无法运行JUnit测试

公司有个项目接受,结果导入到eclipse里面发现无法运行junit单元测试。总报错:Caused by: org.apache.commons.discovery.DiscoveryException: No implementation defined for org.apache.commons.logging.LogFactoryat org.apache.commons.dis...

2017-03-22 19:23:06 5083 1

原创 vim对文件进行批量编码转换

一、设置文件集合,即要对哪些文件进行操作,可以使用通配符,比如我通常是对 C/C++ 源程序进行编码转换::args *.h *.cpp二、给出要在每个文件上执行的命令,这里是转换编码::argdo set fenc=utf-8 | update  这样就 ok 了,一边偷着乐去吧。这里要注意的是如果要同时执行多个命令则需要用 “|” 隔开,上面的 update ...

2017-03-07 11:18:42 432

原创 分布式系统中日志的串联

        分布式系统中,一个业务任务请求会被多个系统串联或者并行的去执行,最后返回结果,这已经很常见。 为了在日志中能很快的在各个系统中对应的属于同一业务任务的日志,我们可以在最初时,产生一个 SN 唯一编码,然后在各个系统之间的调用参数中,必须统一规范的传递这个SN 。于是每个系统都能知道SN.        系统知道了SN 之后,怎么方便的应用起来?不能每次log的时候都...

2017-02-23 15:29:25 514

原创 InheritableThreadLocal 的一些用途

InheritableThreadLocal 是 ThreadLocal 的近亲,和 后者基本用法一直,但是前者非线程安全,后者线程安全,InheritableThreadLocal 的用途是,创建的子线程会继承父线程的这些上下文,于是可以取到放在InheritableThreadLocal里的东西,这样可以用在比如:分布式系统中,多个系统串联起来工作,为了将这些系统中的请求的日志能串联起来,可以...

2017-02-22 10:13:32 561

原创 类属性和构造函数 在继承关系中的执行顺序

类属性和构造函数 在继承关系中的执行顺序:class A { public String ss="a"; public A() { System.out.println("Con-A:"+ss); fun(); } public void fun() { System.out.println("fun-a:"+ss); }}public c...

2017-02-16 17:11:59 231

最新绝对绿色无污染的Atom,版本1.24

绿色无污染无公害产品,值得拥有; Atom 是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。

2018-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除