JVM
Bug+
当我们向别人阐述问题时,我们会先强迫自己整理好逻辑
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM 篇:GC 基本概念
基本概念 在谈垃圾收集器之前,我们先来捋一捋哪些内存会被当成垃圾回收。虚拟机的内存区域可以分为 程序计数器,虚拟机栈,本地方法栈,堆,方法区,直接内存。 程序计数器 和 虚拟机栈 和 本地方法栈 都为线程私有的,当线程结束之后其内存会被销毁,所以这部分不存在垃圾回收。 直接内存 是使用本地内存,所以垃圾收集器无法管理。 堆 是垃圾收集的主要区域。存储着几乎所有的对象 (现在已经有 ...原创 2019-02-21 14:12:52 · 271 阅读 · 0 评论 -
JVM 篇:HotSpot GC
注:HotSpot 是 JDK 自带的虚拟机类型如果对垃圾回收的基本概念不是很了解,可以点击 GC 基本概念 前往了解。HotSpot 使用可达性分析算法来获知哪些对象是有用的,然后把没用的对象回收掉。具体过程为:GC 时程序中各线程会跑到 安全区域 里面离自己最近的 安全点 更新 OopMap 的数据(栈帧中引用的位置),然后阻塞自己通过 OopMap 记录的引用位置快速的枚举 GC ...原创 2019-02-21 17:04:42 · 274 阅读 · 0 评论 -
JVM 篇:Java 虚拟机工具
JDK 自带的可视化工具VisualVM : $JAVA_HOME/bin/jvisualvm.exeJConsole : $JAVA_HOME/bin/jconsole.exe 这两款工具都很好用,JConsole 比较简单,但该有的功能都有;VisualVM 是官方推荐使用的工具,有一些功能要装上插件才能使用(不装插件还不如 JConsole),装插件很简单,就和 NotePad ...原创 2019-02-21 17:42:38 · 251 阅读 · 0 评论 -
JVM 篇:类加载机制
概述 Java 和 C/C++ 这种在编译时就开始连接的语言不同,Java 是在运行期动态加载,动态连接的。(以效率换灵活度) 类的生命周期如下,其中 加载,验证,准备,初始化,卸载 这五步的顺序是确定的 (这里说的是开始的顺序,而不是等到前一个执行完再执行下一个);解析 一般来说是在 初始化 之前开始的,但有些情况会在 初始化 之后才开始 (为了支持 Java 的运行时绑定)加载...原创 2019-02-22 16:29:39 · 182 阅读 · 0 评论 -
JVM 篇:虚拟机字节码执行引擎
概述 Java 虚拟机规范规定了字节码执行引擎的规范,这个规范形成了所有具体虚拟机实现的统一外观:输入字节码,内部解析,输出结果。 执行引擎的运行其实就是栈帧的入栈和出栈的过程。每个栈帧都包括了 局部变量表 (local variable table,也称本地变量表),操作数栈 (operand stack) 和 栈帧信息 (动态连接,方法返回地址和其他一些额外信息)。栈帧结构局部变...原创 2019-02-23 18:17:42 · 228 阅读 · 0 评论 -
JVM 篇:虚拟机种类
通用平台的虚拟机Classic VMJDK1 与 JDK2 的官方默认虚拟机,世界第一种 java 虚拟机通过纯解释器执行 Java 代码,即时编译器只能通过外挂的形式存在,并且不能与解释器一起运行。(那个时候的 java 很慢)Exact VMSun 公司为了解决 Classic VM 的效率问题而计划研发的,但只在 Solaris 系统上发布过,后来就被 HotSpot 取代了...原创 2019-02-19 17:37:34 · 980 阅读 · 0 评论 -
JVM 篇:虚拟机内存分布
以下内容为阅读 深入理解Java虚拟机(第2版)后的笔记及对 JDK8 的实践补充。看完这本书后最大的感觉就是,,,再看一遍,很多原来理解不了的知识点就可以看懂了,因为很多内容是前后呼应的。有兴趣的可以去阅读这本书,强推。运行时数据区域程序计数器线程私有CPU 一般是分片运行的,线程转换的时候需要记录当前指令的位置,以便下一次运行时从中断处继续,这个就是程序计数器的作用。每一个线程有...原创 2019-02-19 19:47:12 · 274 阅读 · 0 评论 -
JVM 篇:虚拟机异常
以下内容为阅读 深入理解Java虚拟机(第2版)后的笔记及对 JDK8 的实践补充。看完这本书后最大的感觉就是,,,再看一遍,很多原来理解不了的知识点就可以看懂了,因为很多内容是前后呼应的。有兴趣的可以去阅读这本书,强推。// 虚拟机异常一般为 *Error,常见的有 OutOfMemoryError 和 StackOverflowErrorpublic class JVMError {...原创 2019-02-19 20:26:35 · 263 阅读 · 0 评论
分享