GC
庆辉100
这个作者很懒,什么都没留下…
展开
-
GC 垃圾回收
什么是垃圾系统没有被使用的无用对象或者一组循环引用对象如何找到垃圾引用计数对引用进行计数,无法解决循环引用问题(java里已经抛弃了这种算法,python现在垃圾回收用的还是引用计数)根可达算法根对象有哪些?线程栈变量静态变量常量池JNI指针等垃圾回收算法mark-sweep:标记清除copying:拷贝mark-compact:标记压缩标记清除:不适合伊甸区先标记后清除,两遍扫描,容易产生碎片,适合存活对象比较多的情况拷贝算法:适合伊甸区容易造成空间浪费,移动复制对象,原创 2020-09-07 18:29:21 · 175 阅读 · 0 评论 -
JVM 运行时数据区与指令
PC:program counter:程序计数器Method Area:方法区:逻辑概念,1.7之前指的PermSapce(永久区)1.8之后的MetaSapce(原数据区)Native Method astacks:由c++等编辑的本地方法,一般没法进行调优Heap:堆内存:调优重点Run-time constant pool :运行时常量池。Direct Memory:直接内存区,NIO提高效率实现zero copy的区域,让jvm可以直接访问内核空间的内存(OS管理的内存)如下图:每个线程原创 2020-09-07 18:27:59 · 143 阅读 · 0 评论 -
JVM 基础 1 - 前戏
JVM 前戏什么是垃圾jvm中的垃圾就是指 没有任何引用指向的一个对象或者是多个对象(多个对象循环引用)如何定位垃圾引用计数法:标记对象引用次数,标记为0,就可以回收,但无法解决循环引用多个对象的垃圾情况根可达算法:只要对象没有跟对象引用,就可以进行垃圾回收Jvm里什么是根?栈中的引用对象方法区的常量对象方法区中的静态成员nativie原生方法常见的垃圾回收算法有什么标记清除:对可以回收的垃圾进行清除,但清除后内存会产生碎片,位置不能连续拷贝算法:需要拷原创 2020-08-30 17:51:30 · 189 阅读 · 0 评论