java#jvm
你已被群主移出该群
这个作者很懒,什么都没留下…
展开
-
jvm分代回收机制及垃圾回收算法
目录 GC:主要回收堆空间 分代回收理论 垃圾回收基础知识 复制算法:所有新生代使用 标记清除算法:老年代 标记整理算法:老年代 jvm常用垃圾回收器(1.8) 单线程垃圾回收器:暂停所有的用户线程,开启GC线程 多线程垃圾回收器:多个GC线程来回收 并发垃圾回收器:让业务线程和GC线程同时跑,减少了Stop the world时间 GC:主要回收堆空间 Minor GC或者Young GC:回收新生代,大概三分之一的堆空间,Eden、From、To Major GC或者Old G原创 2020-08-24 17:43:49 · 176 阅读 · 0 评论 -
jvm对象及引用笔记
jvm中对象及引用 对象创建过程:每个对象必须是8字节整数大小(对象头+实例数据),如果大小不到8的倍数会有对象填充 类加载 检查加载:检查类的符号引用是否加载解析或者初始化过 分配内存:一般是堆内存,垃圾回收器一般都会带整理 指针碰撞:规整连续内存,分配完就将指针移动到新位置 空闲列表:虚拟机会维护一张内存的空闲列表,顺序寻找适合的内存空间就停止 解决并发安全 默认使用本地线程分配缓冲TLAB:会给每个线程分配一部分区域来用,一般为Eden区1% CAS机制加失败原创 2020-08-24 17:35:53 · 83 阅读 · 0 评论 -
JVM内存区域划分笔记
运行时数据区:在执行java程序过程中会内存分成若干区域 线程共享区 方法区:加载相关类的信息 常量池:一定是放在方法区的 静态常量池:即*.class文件中的常量池,包含字符串字面量,类、方法的信息,符号引用 方法里定义的常量 运行时常量池:在jvm完成类装载操作后,将class文件中的常量池加载入内存,并保存在方法区中,把符号引用变为直接引用 字符串常量池:为了高效使用String,所以有这种常量池 String不可变:不可变安全,hash唯一 S原创 2020-08-23 19:50:08 · 125 阅读 · 0 评论