随笔分类 - Java学习
Java持续学习
摘要:一、新生代 1、Serial收集器 新生代单线程复制算法GC(暂停工作线程) 支持组合老年代Serial odl和CMS 2、ParNew Serial多线程版本 支持组合cms|serial old 3、Parallel Scavenge 可控吞吐量-XX:MaxGCPauseMillis 最大垃
阅读全文
摘要:1、枚举根节点 解决何时枚举,不需要实时的枚举,oopMap数据结构对象存储枚举信息 对象引用发生变化,需要存储每一条指令到OOPMap吗,,几百M的对象耗时需要很大的内存。GC空间成本 2、安全点: 只有在特定位置才记录OOPMap为每条指令 安全点不能太少,太少会让GC去枚举引用链,太多增加程序
阅读全文
摘要:1、引用计数器法 给每个对象设置一个计数器,每当有一个引用就给计数器的值+1,引用时小时就减一,当计数器值为0是就可以回收掉了。 主流虚拟机都没有使用这种算法,循环依赖问题 2、可达性分析: 思路是通过一些列的“GC ROOTS”对象作为起始点,从这些对象往下搜索,搜索所走过的路线称为引用链,当一个
阅读全文
摘要:##概念 #####在JMM中,如果一个操作的结果需要对另外一个操作可见,那么这两个操作之间必须要存在happens-before关系(操作可以实在一个线程内,也可以在不同线程之间)。 ##程序中相关的happens-before规则如下 #####1、单个线程的每个操作,happens-beofe
阅读全文
摘要:1、QuartzTest:优点:任务运行抛出异常,后边定时任务会继续触发、支持cron表达式缺点:需要引入格外的jar包,通过JOB反射的方式创建任务(每次都会创建一个对象),但是可以通过JobData避免2、ScheduledThreadPoolExecutor (不支持cron)一、schedu
阅读全文
摘要:1、标记-清除算法 最基础的收集算法、主要对内存中的不使用的内存标记为可回收状态,进行回收 缺点: 标记、回收效率不高还会导致内存分配不够连续,容易触发新生代垃圾回收 2、复制算法 将可用内存分为两部分,每次只是用一部分,当其中一部分内存使用完之后,就将存活的对象复制到另外一块,然后对已使用的进行清
阅读全文
摘要:一张简单的图了解byteBuffer position limit
阅读全文

浙公网安备 33010602011771号