深入理解JVM
面目不露骨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
论如何初步理解GC--极度枯燥,生人退避
什么是垃圾? 在Java堆中,没有被引用、没有在任何地方被使用、再也不会用到的对象就是垃圾。而在方法区中,假如某个类是无用的类,那么相应的类的instanceKlass也要被卸载回收。无用的类定义如下: 该类所有的实例对象都被回收 加载该类的ClassLoader被回收(暂时无法找到关于回收类加载器的资料) 该类的java.lang.Class对象无用,即没有任何地方在用反射机制去访问这个类 ...原创 2020-04-05 19:12:10 · 295 阅读 · 0 评论 -
自娱自乐,浅析执行引擎如何运作
8.1 概述 从外观看,所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。 8.2 运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态链接和方法返回地址等信息。 每一个栈帧都包括了局部变量表、操作数栈、动态链接、方法返回地址和一些额...原创 2020-04-21 23:53:29 · 464 阅读 · 0 评论 -
喜欢乏味的文章?这篇JVM类加载总结肯定适合你
7.1 概述 在了解class文件的存储格式后,虚拟机如何加载Class文件?Class文件中的信息进入虚拟机后会发生什么变化? 在java语言中,类的加载、连接、初始化过程都是在程序运行期完成的,这种策略会使类加载时稍微增加一些性能开销,但是会为java应用程序提供高度的灵活性,Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。 7.2 类加载的时机 类从被加载...原创 2020-04-21 23:51:42 · 157 阅读 · 0 评论 -
初识JVM运行时数据区
2.0 JVM组成 面试题: 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 Class loader(类装载):根据给定的全限定名类名(如:java.lang.Ob...原创 2020-03-13 19:14:59 · 233 阅读 · 0 评论
分享