聊聊elasticsearch的MembershipAction

2019-04-25
阅读 30 分钟
1.8k
elasticsearch-6.7.1/server/src/main/java/org/elasticsearch/discovery/zen/MembershipAction.java

聊聊hibernate的session-level repeatable reads

2019-04-24
阅读 20 分钟
2.3k
这段代码展示了hibernate的session-level repeatable reads功能,这里reloadedProduct查询返回的是session中id为1的entity的缓存(但是也向db发出了sql语句,只是没有使用其返回的resultSet的值),而project操作查询则直接根据jdbc查询返回的结果返回

聊聊flink jdbc的ParameterValuesProvider

2019-04-23
阅读 26 分钟
2.9k
flink-jdbc_2.11-1.8.0-sources.jar!/org/apache/flink/api/java/io/jdbc/split/ParameterValuesProvider.java

聊聊jest的IdleConnectionReaper

2019-04-22
阅读 4 分钟
2.2k
jest-common-6.3.1-sources.jar!/io/searchbox/client/config/idle/IdleConnectionReaper.java

聊聊jest的NodeChecker

2019-04-21
阅读 13 分钟
1.9k
jest-common-6.3.1-sources.jar!/io/searchbox/client/config/discovery/NodeChecker.java

聊聊springboot jest autoconfigure

2019-04-20
阅读 7 分钟
3.2k
spring-boot-autoconfigure-2.1.4.RELEASE-sources.jar!/org/springframework/boot/autoconfigure/elasticsearch/jest/JestProperties.java

聊聊elasticsearch的TransportProxyClient

2019-04-19
阅读 28 分钟
2.3k
elasticsearch-6.4.3-sources.jar!/org/elasticsearch/client/transport/TransportProxyClient.java

聊聊springboot elasticsearch healthIndicator

2019-04-18
阅读 12 分钟
3.6k
spring-boot-actuator-autoconfigure-2.1.4.RELEASE-sources.jar!/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticsearchHealthIndicatorProperties.java

聊聊springboot elasticsearch autoconfigure

2019-04-17
阅读 8 分钟
3.3k
spring-boot-autoconfigure-2.1.4.RELEASE-sources.jar!/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchAutoConfiguration.java

聊聊spring tx的EnableTransactionManagement

2019-04-16
阅读 26 分钟
4.5k
spring-tx-5.1.6.RELEASE-sources.jar!/org/springframework/transaction/annotation/EnableTransactionManagement.java

聊聊spring data jpa的JpaQueryLookupStrategy

2019-04-15
阅读 12 分钟
3.2k
spring-data-commons-2.1.6.RELEASE-sources.jar!/org/springframework/data/repository/query/QueryLookupStrategy.java

聊聊spring data jpa的SimpleJpaRepository

2019-04-14
阅读 14 分钟
4.7k
spring-data-jpa-2.1.6.RELEASE-sources.jar!/org/springframework/data/jpa/repository/support/JpaRepositoryImplementation.java

聊聊spring data jpa的OpenSessionInView

2019-04-13
阅读 9 分钟
4.4k
Open Session In View简称OSIV,是为了解决在mvc的controller中使用了hibernate的lazy load的属性时没有session抛出的LazyInitializationException异常;对hibernate来说ToMany关系默认是延迟加载,而ToOne关系则默认是立即加载

聊聊rsocket load balancer的Ewma

2019-04-12
阅读 6 分钟
2.8k
序 本文主要研究一下rsocket load balancer的Ewma Moving Average SMA SMA(Simple Moving Average),即简单移动平均,其公式如下: {代码...} 这里的Pt到为Pt-n+1为最近的n个数据 WMA WMA(Weighted Moving Average),即加权移动平均,其公式如下: {代码...} WMA会给最近的n个数据加上权重,其中这些权重加起来和为1,一...

rsocket-java小试牛刀

2019-04-11
阅读 9 分钟
4.1k
RSocket接口继承了Availability(定义double availability()方法)及Closeable(定义了Mono<Void> onClose()方法)接口

Swagger2 WebFlux小试牛刀

2019-04-10
阅读 2 分钟
6.8k
swagger.version目前是3.0.0-SNAPSHOT,因而没有发布到maven官方仓库里头,需要从jcenter-snapshots中拉取

聊聊G1 GC的String Deduplication

2019-04-09
阅读 2 分钟
3.8k
具体的实现大致是JVM会记录char[]的weak reference及hash value,当找到一个hash code相同的String时,就会挨个char进行比较,当所有都match,那么其中一个String就会修改指针指向另一个String的char[],这样前者的char[]就可以被回收

聊聊jvm的StringTable及SymbolTable

2019-04-08
阅读 6 分钟
4.5k
在java7的时候将字符串常量池移到java heap,字符串常量池被限制在整个应用的堆内存中,在运行时调用String.intern()增加字符串常量不会使永久代OOM了。使用-XX:StringTableSize可以设置StringTableSize,默认是65536java8的时候去除PermGen,将其中的方法区移到non-heap中的Metaspace,因而SymbolTable也跟随Metaspace...

聊聊Java 9的Compact Strings

2019-04-07
阅读 18 分钟
3.2k
Java 6引入了Compressed Strings,对于one byte per character使用byte[],对于two bytes per character继续使用char[];之前可以使用-XX:+UseCompressedStrings来开启,不过在java7被废弃了,然后在java8被移除

聊聊java String的intern

2019-04-06
阅读 14 分钟
2.8k
当调用intern方法时,如果常量池没有一个equals此String对象的字符串,将此String对象添加到池中,并返回此String对象的引用(即intern方法返回指向heap中的此String对象引用)

聊聊reactor-netty的AccessLogHandlerH2

2019-04-05
阅读 4 分钟
1.9k
reactor-netty-0.8.5.RELEASE-sources.jar!/reactor/netty/http/server/AccessLogHandlerH2.java

聊聊reactor-netty的AccessLog

2019-04-04
阅读 11 分钟
3.6k
对于使用undertow的spring boot应用,可以server.undertow.accesslog.enabled=true来开启

聊聊netty的ResourceLeakDetector

2019-04-03
阅读 34 分钟
4.5k
netty-common-4.1.33.Final-sources.jar!/io/netty/util/ResourceLeakDetector.java

聊聊netty的maxDirectMemory

2019-04-02
阅读 15 分钟
4.9k
netty-common-4.1.33.Final-sources.jar!/io/netty/util/internal/PlatformDependent.java

聊聊jvm的Stack Memory

2019-04-01
阅读 30 分钟
3.1k
序 本文主要研究一下jvm的Stack Memory Virtual Machine Stack 每个jvm线程都有一个私有的Virtual Machine Stack,它在线程同时被创建 该stack主要用于存储frames,即所谓的stack frames 每个方法在执行的时候都会创建一个stack frame,用于存储方法的局部变量、返回值、Operand stack等 Stack Memory Stack Memory是执...

聊聊jvm的CompressedClassSpace

2019-03-31
阅读 8 分钟
4.4k
java8移除了permanent generation,然后class metadata存储在native memory中,其大小默认是不受限的,可以通过-XX:MaxMetaspaceSize来限制

聊聊jvm的Code Cache

2019-03-30
阅读 8 分钟
6.8k
JVM生成的native code存放的内存空间称之为Code Cache;JIT编译、JNI等都会编译代码到native code,其中JIT生成的native code占用了Code Cache的绝大部分空间

聊聊openjdk的BufferPoolMXBean

2019-03-29
阅读 12 分钟
2.3k
序 本文主要研究一下openjdk的BufferPoolMXBean PlatformManagedObject java.management/java/lang/management/PlatformManagedObject.java {代码...} PlatformManagedObject接口定义了getObjectName方法用于返回ObjectName BufferPoolMXBean java.management/java/lang/management/BufferPoolMXBean.java {代码...} Buf...

聊聊jvm的-XX:MaxDirectMemorySize

2019-03-28
阅读 12 分钟
8.8k
-XX:MaxDirectMemorySize=size用于设置New I/O(java.nio) direct-buffer allocations的最大大小,size的单位可以使用k/K、m/M、g/G;如果没有设置该参数则默认值为0,意味着JVM自己自动给NIO direct-buffer allocations选择最大大小

聊聊openjdk的jhsdb工具

2019-03-27
阅读 13 分钟
6.2k
在java9之前,JAVA_HOME/lib目录下有个sa-jdi.jar,可以通过如上命令启动HSDB(图形界面)及CLHSDB(命令行)