![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
祥子_每周一更
这个作者很懒,什么都没留下…
展开
-
垃圾回收与算法
如何确定对象可回收 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它的时候,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象是不可能被使用的。 但是JVM并没有使用引用计数来管理内存,其中最重要的原因就是它很难解决对象之间的相互引用关系。 可达性分析算法 通过一系列的“GC Roots”对象作为起点进行搜索,如果在“GC Roots”和一个对象之间没有可达路径,则称该对象是不可达的,不过要注意的是被判定为不可达的对象不一定就会成为可回收对象。被判定为不可达的对象要成为原创 2020-06-21 19:39:22 · 100 阅读 · 0 评论 -
java类加载机制
文章目录概念类的生命周期类加载器双亲委派模型 概念 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接时候用的Java类型。 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析统称为连接 类加载器 启动类加载器(Bootstrap ClassLoader) 扩展类加载器(Extension ClassLoader) 应用程序类加载器(Appl原创 2020-06-21 19:36:12 · 99 阅读 · 0 评论 -
jvm内存区域
文章目录jvm内存区域虚拟机栈(线程私有)本地方法栈(线程私有)程序计数器(线程私有)堆新生代老年代CMS算法中的promotion failed和concurrent mode failure方法区/永久代 jvm内存区域 JVM内存区域主要分为线程私有区域[虚拟机栈、本地方法栈、程序计数器],线程共享区域[方法区、堆] 线程私有区域的生命周期和线程一致;线程共享区域的生命周期和jvm一致。 虚拟机栈(线程私有) 描述java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧,用于存储局部变原创 2020-06-21 19:32:47 · 134 阅读 · 0 评论