欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

程序员文章站 2022-06-07 21:19:05
...
一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。运行时常量池:是方法区的一部分,Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用于存放编译器生成的各种符号引用,这部分内容将在类加载后放到方法区的运行时常量池中。2.虚拟机栈描述的是java 方法执行的内存模型:每个方法被执行的时候 都会创建一个“栈帧”用于存储局部变量表(包括参数)、操作栈、方法出口等信息。每个方法被调用到执行完的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。声明周期与线程相同,是线程私有的。 局部变量表存放

1. Java虚拟机学习 - 体系结构 内存模型

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。

2. Java虚拟机学习 - 对象访问

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。

3. Java虚拟机学习 - 垃圾收集算法

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。

4. Java虚拟机学习 - 垃圾收集器

简介:Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的新生代收集器。对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率。

5. Java虚拟机学习 - 对象内存分配与回收

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。

6. Java虚拟机学习 - 查看JVM参数及值的命令行工具

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:1. HotSpot vm中的各个globals.hpp文件 查看jvm初始的默认值及参数

7. Java虚拟机学习 - JDK可视化监控工具

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:JConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定。双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器。

8. Java虚拟机学习 - 对象引用强度

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。

9. Java虚拟机学习 - 内存调优

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。

10. Java虚拟机学习 - 类加载器(ClassLoader)

虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐

简介:类加载器(ClassLoader)用来加载 class字节码到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源文件在经过 Javac之后就被转换成 Java 字节码文件(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每一个这样的实例用来表示一个 Java 类。实际的情况可能更加复杂,比如 Java 字节代码可能是通过工具动态生成的,也可能是通过网络下载。

以上就是虚拟机学习入门教程:10个虚拟机学习零基础入门教程推荐的详细内容,更多请关注其它相关文章!