JVM
李阳光1
这个作者很懒,什么都没留下…
展开
-
JVM_6玩转类加载与类加载器
类的生命周期7个阶段 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个**生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、 初始化(Initialization)、使用(Using)和卸载(Unloading)**7 个阶段。 其中验证、准备、解析 3 个部分统称为连接(L原创 2020-07-31 16:02:04 · 169 阅读 · 0 评论 -
JVM_5class文件结构及深入字节码指令
JVM的无关性查看字节码指令工具Sublime 查看 16 进制的编辑器javap javap 是 JDK 自带的反解析工具。 它的作用是将 .class 字节码文件解析成可读的文件格式。 在使用 javap 时我一般会添加 -v 参数,尽量多打印一些信息。同时,我也会使用 -p 参数,打印一些私有的字段和方法。jclasslib idea插件cl原创 2020-07-31 14:55:26 · 226 阅读 · 0 评论 -
JVM_4垃圾回收器总结,Hotspot中的实现
并行:垃圾收集的多线程的同时进行。并发:垃圾收集的多线程和应用的多线程同时进行。注:吞吐量=运行用户代码时间/(运行用户代码时间+ 垃圾收集时间) 垃圾收集时间= 垃圾回收频率 * 单次垃圾回收时间三色标记三色标记最大的好处是可以异步执行,从而可以以中断时间极少的代价或者完全没有中断来进行整个 GC。黑色:根对象,或者该对象与它的子对象都被扫描过。灰色:对本身被扫描,但是还没扫描完该对象的子对象。白色:未被扫描对象,如果扫描完所有对象之后,最终为白色的为不可达对象,既垃圾对象。三色标记的..原创 2020-07-31 13:59:07 · 269 阅读 · 0 评论 -
JVM_3垃圾回收机制及算法
什么是 GC ?Java 与 C++等语言最大的技术区别:自动化的垃圾回收机制(GC)为什么要了解 GC 和内存分配策略1、面试需要2、GC 对应用的性能是有影响的;3、写代码有好处栈:栈中的生命周期是跟随线程,所以一般不需要关注堆:堆中的对象是垃圾回收的重点方法区/元空间:这一块也会发生垃圾回收,不过这块的效率比较低,一般不是我们关注的重点分代回收理论当前商业虚拟机的垃圾回收器,大多遵循“分代收集”的理论来进行设计,这个理论大体上是这么原创 2020-07-31 13:59:15 · 148 阅读 · 0 评论 -
JVM_2对象和引用
JVM 中对象的创建过程 java8JVM参数_官方文档 类加载就是把 class 加载到 JVM 的运行时数据区的过程1)检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用(符号引用 :符号引用以一组符号来描述所引用的目标),并且检查类是否已经被加载、 解析和初始化过。2)分配内存 接下来虚拟原创 2020-07-31 13:59:19 · 184 阅读 · 0 评论 -
JVM_1入门
java文件的执行流程Java 文件->编译器>字节码->JVM->机器码。hotspotJVM内存分类法(1)JVM 内存主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈等。(2)线程私有区域:一个线程拥有单独的一份内存区域。(虚拟机栈、本地方发栈、程序计数器)线程共享区域:被所有线程共享,且只有一份。 (方法区、堆)直接内存: 这个虽然不是运行时数据区的一部分,但是会被频繁使用。你可以理解成没有被虚拟机化的操作系统上的其他内存。虚拟机栈大小默认1M,不同原创 2020-07-31 13:59:23 · 121 阅读 · 0 评论