- 博客(8)
- 收藏
- 关注
原创 io对比分析
1 同步阻塞IO用户线程通过系统调用read发起IO读操作,由用户空间转到内核空间。内核等到数据包到达后,然后将接收的数据拷贝到用户空间,完成read操作。用户线程使用同步阻塞IO模型的伪代码描述为:{read(socket, buffer);process(buffer);}2同步非阻塞IO用户线程系统系统调用read 后直接返回,然后
2017-06-16 16:08:21 216
转载 concurrentHashMap 实现
【转】并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了vola
2017-06-10 17:59:50 200
原创 自动装箱拆箱
public static void main(String[] args) { Integer a=1; Integer b=2; Integer c=3; Integer d=3; Integer e=321; Integer f=321; Long g=3l; Sy
2017-06-09 23:27:36 190
原创 jvm工具
1 打印 堆快照 heapdumpjmap -dump:format=b,file=123.bin pid(进程)jmap -heap 打印内存信息2 打印 线程快照 threaddumpjstack -l pid
2017-06-08 20:24:46 199
原创 CMS 收集器过程
1 初始标记(STW) 标记GC Roots 直接关联对象2 并发标记 3 重新标记 STW 修正产生变动的对象的标记4 并发清除5 重置线程
2017-06-08 19:25:51 431
原创 parallel scavenge 与parnew 区别
两者都是复制算法,都是并行处理,但是不同的是,paralel scavenge 可以设置最大gc停顿时间(-XX:MaxGCPauseMills)以及gc时间占比(-XX:GCTimeRatio),
2017-06-08 19:18:21 6903
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人