深入理解java虚拟机
文章平均质量分 85
chanccx
这个作者很懒,什么都没留下…
展开
-
深入理解java虚拟机学习笔记(7)——经典垃圾收集器
经典垃圾收集器 目录经典垃圾收集器一、Serial收集器二、ParNew收集器三、Parallel Scavenge收集器四、Serial Old收集器五、Parallel Old收集器六、CMS收集器七、Garbage First收集器 一、Serial收集器 二、ParNew收集器 三、Parallel Scavenge收集器 四、Serial Old收集器 五、Parallel Old收集器 六、CMS收集器 七、Garbage First收集器 ...原创 2021-05-21 00:24:09 · 93 阅读 · 0 评论 -
深入理解java虚拟机学习笔记(5)——垃圾收集算法
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例原创 2021-05-20 00:09:47 · 105 阅读 · 0 评论 -
深入理解java虚拟机学习笔记(4)——判断对象是否存活
判断对象是否存活 程序计数器,虚拟机栈,本地方方法栈这几个区域的内存分配和回收都具备确定性,当线程结束时,内存自然就跟着回收了。 Java堆和方法区这两个区域只有处于运行期,才能知道程序会创建哪些对象,创建多少对象,这部分内存的分配和回收是动态的。 目录判断对象是否存活一、引用计数算法二、可达性分析算法二、 一、引用计数算法 示例:111 二、可达性分析算法 二、 ...原创 2021-05-19 00:11:11 · 116 阅读 · 0 评论 -
深入理解java虚拟机学习笔记(3)——OOM异常
OutOfMemoryError异常 目录OutOfMemoryError异常一、Java堆溢出二、虚拟机栈和本地方法栈溢出三、方法区和运行时常量池溢出四、直接内存溢出 一、Java堆溢出 Java堆用于存储对象实例,只要不断创建对象,并且保证GC Roots到对象之间有可达的路径来避免垃圾回收机制清除这些对象,随着对象的增加,总容量触及最大堆容量限制后就会产生内存溢出异常。 /** * VM Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError */原创 2021-05-17 23:26:37 · 184 阅读 · 0 评论 -
深入理解java虚拟机学习笔记(2)——HotSpot虚拟机对象探秘
HotSpot虚拟机对象探秘 目录HotSpot虚拟机对象探秘一、对象的创建二、对象的内存布局三、对象的访问定位1.句柄访问2.直接指针访问 一、对象的创建 在语言层面上,创建对象通常仅仅是一个new关键字而已,在虚拟机中,对象(限于普通Java对象,不包括数据和Class对象)如何创建呢? 检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载,解析和初始化过。如果没有,则先执行相应的类加载过程。 类加载检查通过后,虚拟机将为新生对象分配内存。 内存分配完成原创 2021-05-16 13:44:53 · 169 阅读 · 0 评论 -
深入理解java虚拟机学习笔记(1)——Java内存区域
Java运行时数据区域 目录Java运行时数据区域一、程序计数器二、Java虚拟机栈三、本地方法栈四、Java堆五、方法区六、运行时常量池七、直接内存 Java虚拟机在执行程序过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域。 一、程序计数器 程序计数器(Program Counter Register)是一块较小的内存原创 2021-05-15 16:18:19 · 98 阅读 · 0 评论