
java
文章平均质量分 73
帅气的老牛
这个作者很懒,什么都没留下…
展开
-
Java垃圾回收算法CMS和G1的区别
首先内存模型不一样:CMS还是采用传统的年轻代(包括一个伊甸区,两个幸存区)、老年代。 G1是把内存切分成大小相等的区域(region),逻辑上把他们划分为伊甸区、幸存区、老年区。CMS(cocurrent mark and sweep)major gc步骤:init mark:从roots出发(线程、静态引用、新生代)遍历存活对象;这个阶段应用线程暂停。 cocurrent mark:多个垃圾回收线程同时遍历JVM内存的存活对象;这个阶段应用线程是运行状态。 remark:上个阶段中,可能原创 2020-11-09 16:10:22 · 1226 阅读 · 0 评论 -
Java reference详解
最近在做一个服务编排执行引擎的东西,其中业务逻辑执行的参数上下文存储在了ThreadLocal里面,为了保证运行参数不丢失,对ThreadLocal进入了一些源码研究,发现实际的存储是在ThreadLocalMap里面,而map的中key居然是weakreference类型,这能保证GC的时候,业务运行参数不丢失吗?由此,对不同的引用reference做了一下深入了解,机制是什么?应用的场景是什么...原创 2019-12-09 19:27:33 · 564 阅读 · 1 评论 -
网络异常那些事
java里经常爆出的网络异常都是啥原因引起来得呢?其实java本身没做什么,只是如实上报了系统反馈的异常。1.host unreachable,network unreachable 两个异常出现的原因是因为路由设置有问题:a. 当向某一个目标IP发送数据包时,首先检查一下路由表,看看是否有和目标IP完全匹配的路由记录(网络id和主机id都相同),如果有,则将数据包发送到下一个路由...原创 2015-12-22 10:48:25 · 1771 阅读 · 1 评论