加载中
reactor flux

发布订阅模式 A--->B-->C---->D subscribe: D--->C--->B--->A onSubscribe: A--->B--->C---->D request: D---->C--->B---->A onNext: A--->B-->-C--->D complete:A--->B---->C--->D Flux.jus...

03/27 10:30
98
jdk8 HashMap 扩容关于链表一段灵巧的代码

先看代码 final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; int oldCap = (oldTab == null) ? 0 : oldTab.length; int oldThr = threshold; int newCap, newThr = 0; ......

03/22 11:33
127
史上最简单的AQS

可重入独占锁 什么是可重入: public void say(){ synchronized(this){ System.out.println("1"); synchronized(this){ //这里如果不可重入,代理就卡在这里,相当于死锁 System.out.println...

03/21 14:35
58
一张图搞定spring-mybatis源码过程

spring-mybatis 加载过程 文本描述 1 配置SqlSessionFactoryBean 2 配置SqlSessionTemplate 3 在某个Bean上添加@MapperScan注解 4 Spring自动扫描Mapper接口,以MapperFacoryBean的形式注入到...

03/02 10:04
133
mybatis源码解读

1 启动加载过程 1.1 配置Configuration 1. 2 加载Mapper,包括从xml或者interface 1.3 SQL语句放入MapperStatement 1. 4 解析成SQLSource 1.5 将MapperInterface接口对应的工厂类注入到Mappe...

03/02 07:48
75
分布式事物理解

1 XA/JTA 协议 这种分布式事物都要求数据库提拱支持,也就是常说的XA。 XA一般有二阶断提交和三阶断提交两种。 JTA是JAVA是针对XA开发的一套接口,目前有一些开源软件有JTA进行实现。比如:at...

02/29 08:06
116
聊聊指令重排

重现指令重排 指令重排是CPU的操作,一般容易出现的地方是在多线程模式,单线程不会有问题。 出现指令重排一般是前后两个操作互为独立。比如a=1,b=2 单看这两条指令,就有可能出现重排。 pr...

02/27 23:14
112
AbstractNestablePropertyAccessor 之 Bean的属性设置

AbstractNestablePropertyAccessor 该类主要有两个实现类BeanWrapperImpl,DirectFieldAccessor 该类的作用就是用设置Bean的属性 static class People{ String name; int age; public S....

02/10 20:16
245
clickhouse配置与启动

配置两台服务 8123 8124 8123 配置 启动脚本 startClickhouse.sh clickhouse=clickhouse1 httpPort=8123 tcpPort=9000 syncPort=9009 homePath=/home/liuax01/clickhouse configPath=$homeP...

01/19 12:24
2K
spring aop 代理private方法 报错的问题分析

spring aop 代理private方法报空指针的问题 这两天做aop切面日志时,发现private方法报空指针。 原切入点配置如下: @Pointcut("@within(org.springframework.web.bind.annotation.RestContr...

2019/06/27 13:59
6.4K
spring aop 之 切面注解配置@Jointcut

切面表达式 execution within this target args @target @within @agrs @annotation && || ! execution execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-patter...

2019/06/27 09:46
364
java关于a+=b与a=a+b的区别

今天看到一个题目a += b与 a=a+b的区别 看下面一段代码 代码A short a=4; int b=5; a += b; 代码B short a=4; int b=5; a =a+b; 可以告诉你:A编译成功,B编译失败。 这里没有为什么,需要记...

2019/06/14 09:04
163
行为模式之迭代器模式与责任链模式

迭代器模式 迭代器模式比较简单,JAVA里面迭代接口都已经定义好了,我们要用该模式的时候只需要实现Iterator接口就好了。对于日常编来说,我们基本上不需要自己关注,因为JAVA已经给我们定义...

2019/06/11 17:06
163
spring application 之 Xml解析

org.springframework.beans.factory.xml.XmlBeanDefinitionReader 解析XML的入口类 DefaultBeanDefinitionDocumentReader XML标签解析类 protected void parseBeanDefinitions(Element root...

2019/06/09 11:30
32
spring application 之 类型转换器TypeConvertor

java.beans.PropertyEditor 属性编辑器,解决spring把字符串转成自定义对象的问题 PropertyEditorRegistry 接口,注册与查找PropertyEditor PropertyEditorRegistrySupport 实现 PropertyEd...

2019/06/05 11:12
145
Stream 示例

创建一个无限大小的Stream Stream s = Stream.generate(()->1); //测试循环10次 s.peek(System.out::println).limit(10).collect(Collectors.toList()); 创建一个1到100的数字,然后求和 In...

2019/06/01 15:57
63
java8 Stream之原理

Stream java8的Stream很重要,spring-reactor里面用到reactor-core,而java8的stream与之很相似,搞懂了再看reactor-core必定事半功倍。 先看一下它的强大,这里只是冰山一角: 从List<Studen...

2019/06/01 14:10
315
关于JAVA ClassLoarder机制与一个示例

ClassLoader 这个大家熟悉,加载机制,双亲委派。 JAVA启动时,会初始化3个类加载器,BootClassLoader,ExtClassLoader,AppClassLoader。 BootClassLoader 加载jre/lib下的JAR包,由C++实现。 ...

JAVA锁机制

synchronized 可重入锁,看一段代码 public static void main(String[] args) { B1 b1 = new B1(); B1 b2 = new B1(); Thread t1 = new Thread(()->{b1.say("p1");}); t1.st......

2019/05/28 10:20
34
spring application 之 ResolvableType

jdk1.5 的泛形 变量类型 <t>,<t,k>,<t extends list & map> 这些都是变量类型 类 class A<t extends b & list,k t>{} TypeVariable[] tvs = A.class.getTypeParameters() tvs 的 name 就是T...

2019/05/21 12:06
51

没有更多内容

加载失败,请刷新页面

返回顶部
顶部