分类: Java基础

16 篇文章

Map
Map HashMap也是懒加载 红黑树特点 1.根节点为黑色,所有节点都是红色或者黑色 2.相邻节点不能为红色 3.从任意一个节点出发到叶子节点黑色节点数量相同 4.所有叶子节点都是黑色并且为nul…
List
List 扩容 ArrayList 在什么时候初始化底层数组:ArrayList 的底层数组是在 第一次添加元素时 初始化的,而不是在 ArrayList 对象创建时立即初始化。这种设计称为 懒加载(…
空间分配担保机制
空间分配担保机制 是什么:在发生Minor GC之前,虚拟机会检查老年代最大可用的连续空间是否大于新生代所有对象的总空间 老年代最大可用的连续空间 > Minor GC之前所有对象 => …
JVM工具
JVM工具 命令行工具 1.jps 2.jstack: 生成整个jvm快照 3.jmap: 生成堆的快照 4.jhat: 将jmap生成的文件分析成html文件 5.jstat jstat -gc 1…
垃圾回收
垃圾回收 新生代(标记复制):serial + parnew + paralle Scavenge 老年代(标记整理):serialold + paralleold + CMS(标记清除) 共用:Z1…
JIT优化技术
JIT优化技术 1.作用: 配合解释器(将字节码逐行执行)执行代码。 2.如何检测热点数据:方法计数器(统计方法)+ 回边计数器(统计for while循环) 3.如何优化: 3.1 方法内联:将小方…
三色标记法
三色标记法(标记算法) 1.基本概念 白色(未被标记,默认)、灰色(还有引用的对象)、黑色(被标记完的)。 2.背景 原始的垃圾标记算法比如计数器法(无法解决循环依赖问题)、可达性分析法(整个分析都需…
对象的四种引用关系
Java中的引用有四种,分为强引用(Strongly Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)…
类加载的过程(对象创建的过程)
整体流程如下: 1. 类加载检查 分为两种情况类已经被加载过 和 未被加载过 1.1 未加载过 涉及三个阶段:加载、链接、初始化 加载: 通过类加载器将类文件(.class)加载到内存中。 链接: 验…