JVM
文章平均质量分 60
# JVM
存在,及合理
记录点点滴滴,汇成山河大海
展开
-
JVM的介绍
JDK 是 Java Development Kit( Java 开发工具套件 )的缩写,看名字估计你就猜到了,它才是我们交付给用户的那台汽车。JRE 是 Java Runtime Environment 的缩写, 从名字就能看出来,JRE 关注 Java 的运行时环境,它主要由三个部分构成,分别是核心类库、支持文件以及 JVM。JRE 由 Java API 和JVM 组成,JVM 通过类加载器加载 Java 应用,并通过 Java API 来执行。2020年3月,JDK14发布。删除CMS垃圾回收器。原创 2024-05-21 22:45:54 · 142 阅读 · 0 评论 -
JVM结构-整体结构
虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软作实现。常用的虚拟机有/MWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)原创 2023-07-16 10:38:44 · 162 阅读 · 0 评论 -
JVM结构-堆
堆不是一种数据结构(什么结构都可以存放在堆中)堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息JVM堆被同一个JVM实例中的所有Java线程共享JVM堆通常由某种自动内存管理机制所管理这种机制叫做“垃圾回收”应用通过堆存储数据(申请、回收、托管) allocate/de-allocate dynamic GC。原创 2023-07-16 10:38:09 · 59 阅读 · 0 评论 -
JVM-栈
栈管运行,堆管存储内容存放函数 方法 参数局部变量先进后出后进先出内存管理 自动存放速度 比堆快申请大小受限 默认大小1M可能抛出的异常Java虚拟机规范允许Java栈的大小是动态的或者是固定不变的如果采用固定大小虚拟机栈,那每一个线程的虚拟机栈容量可以在线程创建的时候独立选定。如果线程请求分配的栈容量超过java虚拟机栈允许的最大容量,虚以机将会抛出一个StackOverflowError异常。原创 2023-07-16 10:38:05 · 64 阅读 · 0 评论 -
JVM结构-方法区
当类加载到内存中后,JM就会将静态常量池中的内容存放到运行时的常量池中,运行时常量池里面存储的主要是编译期间生成的字面量、符号引用等等。字符串常量池,也可以理解成运行时常量池分出来的一部分类加载到内存的时候字符串,会存到字符串常量池里面。符号引用:例如类和接口的全限定名、字段的名称和描述符、方法的名称和描述符。字面量:例如文本字符串、final修饰的常量。,即时编译器编译后的代码和数据。类的信息,常量,静态变量。用于存储已被虚拟机加载。原创 2023-07-16 10:38:15 · 37 阅读 · 0 评论 -
JVM结构程序计数器
就是一个指针,指向方法区中的方法字节码(用来存储指向下一条指令的地址,也即将要执行的指令代码),由执行引擎读取下一条指令。原创 2024-05-21 23:43:11 · 102 阅读 · 0 评论 -
JVM结构-执行引擎
JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被JVM所识别的字节码指令、符号表,以及其他辅助信息。那么,如果想要让一个Java程序运行起来,执行引擎(Execution Engine)的任务就是将字节码指令解释/编译为对应平台上的本地机器指令才可以。简单来说,JVM中的执行引擎充当了将高级语言翻译为机器语言的译者。原创 2024-05-21 23:49:12 · 126 阅读 · 0 评论