• JVM笔记 3.6 内存分配和回收策略

    1. 对象优先在 Eden 分配 当Eden区没有足够的空间进行分配的时候就要做一个Minor GC 2. 大对象直接进入老年区 如果遇到朝生夕死的大对象更惨,所以要避免出现...

  • 120
    JVM笔记 3.5 垃圾回收器

    1. Serial收集器 单线程的收集器,这个单线程不仅仅是说他会用一个CPY或者一条收集线程去完成垃圾收集,更重要的是他要暂停其他所有线程直到GC结束,优点是采用了复制算法...

  • JVM笔记 3.4 HotSpot的算法实现

    1. 枚举根节点 可达性分析在执行GC的时候会停顿一下,如果引用关系不断变换的时候很难进行准确的可达性分析。目前虚拟机主要采用的是准确性GC,虚拟机应该有办法知道哪些地方存着...

  • 120
    JVM笔记 3.3 垃圾回收算法

    1. 标记-清除算法 先标记出所有需要回收的对象,然后在标记结束后统一回收,只不过存在两个不足 效率不足,标记和清扫效率都不高 空间问题,标记请扫后会产生大量不连续的内存,导...

  • JVM笔记 3.2 对象已死吗?

    1. 引用计数算法 给对象添加一个引用计数器,有一个地方引用就+1s,引用失效了就-1s,但如果令 objA.instance = objB,objB.instance = ...

  • 120
    JVM笔记 2.3 HotSpot虚拟机对象探秘

    1. 对象创建 在语言层次上创建一个对象,只是一个简单的new关键字,但在虚拟机中对象的创建有如下的过程 先检查能不能在常量池中定位到符号引用,并检查这个类是否已经被加载,解...

  • JVM笔记 2.2 运行时数据区域

    1. 程序计数器 简述程序计数器(program counter register)只占用了一块比较小的内存空间,至于小到什么程度呢,这样说吧,有时可以忽略不计的。可以看作是...

  • Java容器 - HashMap(2)

    (没写.....挖个坑 主要是整理下高并发的情况下HashMap的问题,他为什么不是线程安全的 首先我们来看一个在JDK8中HashMap的resize 方法 1.Hashm...

  • 120
    Java容器 - HashMap(1)

    美团技术团队的 https://zhuanlan.zhihu.com/p/21673805 已经写得很全面的,自己做个记录方便以后复习。 1.基础知识 简单来说,Java的序...