
Java的学习
luyunix
一只菜鸟大王
展开
-
Collection体系
java集合框架集合之list和settreeSet底层TreeMapHsahMap底层HashMap 值以键的方式存储原创 2019-01-26 19:17:56 · 253 阅读 · 1 评论 -
垃圾回收之回收算法
标记清除算法Mark Sweep标记和清除两个阶段的效率都很低;会导致空间碎片的产生,进而导致需要分配大对象时没有连续的一整块空间,进而导致提前触发复制算法 Copying使用Eden和 From Survivor来分配对象,GC是将判定存活的对象复制到To Survivor中然后直接清除整个Eden 和Survivor区域适用于新生代,因为大多数对象都是朝生夕死的,需要复制的...原创 2019-02-14 22:16:55 · 212 阅读 · 0 评论 -
你真的了解java对象吗(对象的创建)
1、如果该对象类未被初始化(1),那么执行<clinit>类构造器初始化该类2、如果初始化对象所属类是,发现其父类未被初始化,则初始化其父类3、如果该对象所述的类已被初始化,则根据其内存布局中的类型指针找到该类在方法区的类型信息(类元数据信息),根据类中的字段个数及大小在堆中开辟一块内存区域,并对这些字段进行默认初始化(整型为0...)4、执行构造函数初始化对象 ...原创 2019-02-13 19:49:30 · 175 阅读 · 0 评论 -
你真的了解java对象吗(对象内存布局)
对象头Mark Word:占32bit或64bit(看jvm是多少位的),以32位为例,通常气孔下存储对象的hashcode、gc分代年龄、锁标志位、是否应用偏向锁。当该对象被作为同步锁时,该32位可悲复用存储其他信息:偏向锁-》偏向id偏向时间戳;轻量级锁-》指向线程的Displace Mark Word的指针;重量级锁-》仔细那个重量级锁的指针Class Matedata Address...原创 2019-02-13 19:56:33 · 187 阅读 · 0 评论 -
你真的了解java对象吗(对象的访问定位)
句柄定位对象时先定位句柄,句柄存放了对象和对象类型指针两个位置,句柄方式会多一次定位开销,这在对象较多的java中积少成多也不菲,因此hotspot没用句柄但句柄也有其优点,不用频繁更新其引用较为稳定直接指针(java)直接指向对象,对象自身包含了类型指针 ...原创 2019-02-13 20:03:04 · 325 阅读 · 0 评论 -
垃圾回收之标记算法
引用计数法给每个对象添加一个计数器,每次被引用时加1,取消引用时减1,计数为0的对象认为可被回收缺点是:难以解决循环引用的问题可达性分析法通过一系列的GC Roots对象沿着引用链查找,如果一个对象到GC Roots对象没有任何引用链相连则说它到GC Roots是不可达的,也被认为是可以回收的可以作为GC Root的对象 常量池的常量引用的对象 静态字段引用的对象...原创 2019-02-13 22:41:57 · 246 阅读 · 0 评论 -
SpringBoot相关特性
Springboot常用功能特性应用启动的三种方式SpringApplication静态方法runSpringApplication.run(SpringBootStudyApplication.class, args);通过Api调整应用行为SpringApplication application = new SpringApplication(SpringBoot...原创 2019-09-12 20:35:26 · 187 阅读 · 0 评论