JDK
文章平均质量分 54
「已注销」
这个作者很懒,什么都没留下…
展开
-
力扣代码学习
OJ(online judge)线上测试平台有限,写自己的算法,然后用一个简单的,或者JDK提供的功能进行比对。原创 2022-12-27 19:52:31 · 161 阅读 · 1 评论 -
强软弱虚引用类型
默认的引用关系,只有对象没有任何强引用时才会被回收。下图表示a强引用到一个新的对象。原创 2022-11-27 18:31:27 · 128 阅读 · 0 评论 -
CPU缓存伪共享
cpu缓存是由多一个缓存行组成的,缓存行时cpu缓存的最小缓存单元。目前主流的cpu缓存的缓存行大小都是64Bytes。也就是说,如果一个512字节(512 / 64 = 8)的一级缓存,就存在8个缓存行组成。如果缓存行存储的是long类型的数据,那么每个缓存行可以存储8个(64 / 8 = 8)long类型的数据。原创 2022-11-27 16:22:28 · 492 阅读 · 0 评论 -
内存一致性协议-MESI
(3)远程读:由于缓存行的数据和主内存不同,为了让远程能够得到最新的数据,必需将缓存行的数据同步到主内存,然后远程从主内存中读取该数据。这是缓存行和主内存的数据保持了一致,而且数据在本地和远程cache中,因此状态编程S。(4)远程写:同上,缓存需要同步到主内存,然后由远程进行数据修改。这时,缓存行的数据不是远程修改后的数据,因此缓存需要编程无效I。(4)远程写:远程写了之后,本地的缓存和修改后的数据不一致了,状态变为I。(2)本地写:写了之后,本地的缓存和主存的缓存不一致了,状态变成M。原创 2022-11-23 21:14:38 · 412 阅读 · 1 评论 -
real-logic Aeron[wiki]
高效且可靠的UDP单播,UDP多播和进程间通讯(IPC)消息传输。支持Java,.NET,C和C++客户端。所有客户端都能跨机器进行消息交互,或者在同一机器上进行进程间通讯,非常高效。消息流可以通过Archive模块进行持久化,以供回放。Aeron Cluster模块提供基于Raft一致性算法的容错能力。Agrona提供SBE序列化功能。Aeron Cluster:集群。Agrona:SBE序列化。功能:UDP单播和多播,IPC。Archive:持久化。原创 2022-09-29 21:50:38 · 481 阅读 · 0 评论 -
APT技术(1)
我们的代码分成两个module,module1用于定义注解和注解的解析,并注册注解的解析类(Processor),module2依赖module1,来真正的使用module1中定义好的注解来完成特定的功能。2. 注解处理器注册。原创 2022-09-15 21:46:10 · 139 阅读 · 0 评论 -
IDEA进行RemoteDebug
1. 非RemoteDebug模式在该模式下,请求的处理过程为:用户发送请求到server端后,server端进行处理,返回将结果返回给用户。2. RemoteDebug模式在该模式下,请求的处理过程为:(1)用户发送请求到server端;(2)server端处理请求时,询问本地Intellij是否有断点,如果有,则在本地断点处进入debug模式,并将远程断点处的堆栈信息发送到本地;(3)本地结束debug;(4)server返回处理结果。2.1 代码实现原创 2022-03-04 23:48:02 · 677 阅读 · 0 评论 -
SPI入门
1. 编写一个接口package com.john.spi;public interface IPeople { void sayHello();}2. 编写两个实现类(1)AmericanPeople:package com.john.spi.impl;import com.john.spi.IPeople;public class AmericanPeople implements IPeople { public void sayHello() {原创 2022-03-02 21:57:02 · 412 阅读 · 0 评论 -
JDK8 日期API
一. 为什么要使用JDK8的新版日期API1. 日期差值问题1). 使用老版本的Date来计算两个日期之间相差的天数:将两个日期转换成毫秒数(Date的getTime()方法返回的是对应日期距离1970.01.01的毫秒值),相减之后,将差值再转换成“天”的单位。2). 使用新版本的日期API来计算两个日期之间相差的天数:ChronoUnit.DAYS.between方法。发现使用老版本的API存在计算误差。2.线程安全问题SimpleDateFormater是线程不安全..原创 2022-02-19 19:54:20 · 204 阅读 · 0 评论