![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
踏着七彩祥云的小丑
这个作者很懒,什么都没留下…
展开
-
JVM体系结构——之运行时数据区
文章目录JVM运行时数据区概念区域分类方法区运行时常量池堆年轻代年老代虚拟机栈栈帧局部变量表操作数栈动态链接本地方法栈程序计数器(PC寄存器) JVM运行时数据区 概念 Java虚拟机在执行Java程序的过程中会把它管理的内存分成若干个不同的数据区域,这些区域都有各自的用途以及创建和销毁的时间,有的区域时跟随虚拟机的启动而存在,有些区域则依赖于线程的启动和结束建立和销毁。 区域分类 上图中堆和方法区属于线程共享区域,虚拟机栈、本地方法栈和程序计数器(PC计数器)属于线程私有区域 方法区 作用: 用于原创 2020-11-16 14:23:40 · 82 阅读 · 0 评论 -
Java体系结构——之运行时数据区——堆
文章目录JVM堆分代新生代老年代永久代堆内存常用参数垃圾收集器常用参数垃圾回收算法(Garbage Collection:GC)引用计数法标记清除法标记压缩法复制算法分代算法垃圾收集器新生代收集器Serial收集器ParNew 收集器Parallel Scavenge 收集器老年代收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器常见问题汇总 JVM堆 Java中最大的一块空间,存放对象实例和数组。也根据不同的版本号存放静态变量和字符串常量等。 分代 分代概念: 新生成原创 2020-11-16 14:23:23 · 169 阅读 · 1 评论 -
JVM体系结构——之执行引擎
文章目录JVM执行引擎介绍分类字节码执行机制帧的组成部分1、局部变量表2、操作数栈(表达式栈)3、动态连接(链接)4、方法返回地址(方法出口) JVM 执行引擎 介绍 执行引擎负责字节码指令的执行,方法的字节码流由一系列有序指令组成,指令又由一个单字节的操作码 + 0个或多个操作数组成。操作码表示需要执行的操作,操作数表示操作的数据,一般来源于当前栈桢中的局部变量或当前Java栈桢中操作数栈的顶部,至于操作数的个数,由操作码决定(操作码本身就决定了它是否需要操作数,以及操作数的形式等等)。 分类 一次原创 2020-11-16 14:22:58 · 102 阅读 · 0 评论 -
JVM体系结构——之类加载器
文章目录JVM的类加载器介绍种类虚拟机自带的加载器用户自定义的加载器class文件的寻址(双亲委派机制(沙箱安全机制))类的生命周期 JVM的类加载器 介绍 负责查找和解析class文件,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构,这个时候ClassLoader只负责class文件的加载,由Execution Engine决定是否可以运行。 举例: 上图中,Car.class 是由 .java 文件经过编译而来的 .class文件,存在本地磁盘 Class原创 2020-11-16 14:22:23 · 77 阅读 · 0 评论 -
JVM自学整理——2020
文章目录JVM基本感念什么是JVMJVM运行过程(简述)JVM作用JVM体系结构类加载器(classLoader)执行引擎运行时数据区程序计数器(PC寄存器)补充的知识点JDK、JRE、JVM之间的联系Java源文件生成字节码文件与底层计算机交互的过程:JDK、JRE、JVM之间的区别 JVM 基本感念 什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,一种用计算机设备的规范,是一个虚构出来的计算机,是通过实际的计算机上仿真模拟各种计算机功能来实现的。 JVM运行原创 2020-11-16 14:22:04 · 92 阅读 · 0 评论