随笔分类 - JVM
摘要:目录: JVM常用工具分析 jps jstat jmap jstack jconsole jvisualvm JVM常用工具分析 JDK bin目录下中我们所熟知的工具有java.ext、javac.ext,但还有一些其它的命令行程序,可用于监视虚拟机和故障处理。 工具名称 作用描述 jps.exe
阅读全文
摘要:目录: 几种GC介绍 对象优先分配到Eden区 大对象直接进入老年代 长期存活的对象会进入老年代 空间担保 GC日志解读 几种GC介绍: Minor GC:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存 。 Major GC:是清理永久代。 Full GC:是清理整个堆空间—包括
阅读全文
摘要:目录: Serial ParNew Parallel Scavenge Serial Old Parallel Old Concurrent Mark Sweep G1 GC收集器配合使用图: Serial: 单线程的收集器,它的“单线程”的意义并不仅仅说明它只会使用一个CPU或一条收集线程去完成垃
阅读全文
摘要:目录: 标记清除算法 标记整理算法 复制算法 热点算法(分代收集算法) 标记清除算法: 最基础的收集算法是“标记-清除”(Mark-Sweep)算法。该算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 该算法有两个主要不足: 一个是效率问题,标
阅读全文
摘要:目录: 我的疑问 什么是GC,为什么要有GC 四种引用对象 我的疑问: 什么是垃圾回收。 回收什么东西。 怎样回收。 如何回收。 本节解决前两个问题,什么是垃圾回收,回收什么东西。 什么是GC,为什么要有GC: GC(Gabage Collection),是垃圾回收的意思。 我们知道向c、c++是需
阅读全文
摘要:目录: 函数解析 静态分派、动态分派 函数解析 1、虚拟机方法字节码: Java符合编译期可知,运行期不可变的两类方法是:静态方法和私有方法。 与之对应的是5条方法调用的字节码指令: invokestatic:调用静态方法。 invokespecial:调用实例构造器(<init>)方法、私有方法、
阅读全文
摘要:目录: 简介 堆 方法区(元空间) 栈 简介 运行时数据区分为两类,一类是线程间共享的方法区和堆,另一类是线程私有的虚拟机栈、本地方法栈以及程序计数器。 堆 对于大多数应用来说,Java堆(Heap)是Java虚拟机所管理的内存中最大的一块,它是用来存放对象实例。 堆是被所有线程共享的内存区域,虚拟
阅读全文
摘要:目录: 类加载器: 什么是类加载器,它的作用是什么。 类加载器的分类及它们的作用。 如何实现一个自定义类加载器、自定义加载器的用途。 双亲委派: 什么是双亲委派。 为什么要使用双亲委派。 类加载器: 1、什么是类加载器,它的作用是什么。 类加载器就是把字节码文件加载到虚拟机中,即根据类的全限定名来获
阅读全文
摘要:目录: 类加载机制简介 类加载机制流程 类加载机制简介 类加载机制就是虚拟机把描述类的数据从Class文件中加载到内存中的一种机制,并且在加载的过程中会对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 类加载机制流程 类从被加载到虚拟机的内存中开始,直到类被卸载出内存为
阅读全文
摘要:目录: 什么是JVM 为什么要学习JVM 笔记整理 什么是JVM 摘自:https://blog.csdn.net/qq_41701956/article/details/80020103 Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟
阅读全文
摘要:目录: Java虚拟机简介 Class类文件结构 Class类文件结构详解 Java虚拟机简介 在介绍JVM前首先我们来看看java的口号:一次编译到处运行。那这句话我们要怎么理解呢,换句话来说,java是如何实现一次编译到处运行的呢? 周所周知,机器识别的是二进制的数据,JVM是java程序的抽象
阅读全文

浙公网安备 33010602011771号