JVM

简介: JVM

1、什么是 JVM?

虚拟机Java Virtual Machine ---java 程序的运行环境(Java 二进制字节码的运行环境)


2、jvm、jre、jdk 关系:

jvm = 空的java 运行环境

jre = jvm + java基础类库

jdk = jre + 编译工具


3、jvm 作用/好处:

1) java实现跨平台(可移植性):一次编写,到处运行(java 语言的跨平台),实现代码的平台无关性

2) 自动内存管理,垃圾回收功能

3) 数组下标越界检查(java 是抛出异常,而其他语言的数组越界可能会覆盖其他代码的内存)

4) 多态


4、内存结构

内存结构之程序计数器(物理实现就是cpu的寄存器)

  • 作用:记住下一条 jvm 指令的执行地址。

源码中的语句一条接着一条被解释器翻译成了指令。

java 源程序 ------ jvm 指令(二进制字节码)

jvm 读写的频繁 ----- 计算机中 寄存器读取速度快速

▪ 特点:

  • 程序计数器是线程私有的每一个线程都有属于自己的程序计数器,记录本线程 jvm 指令的执行位置
  • 不会存在内存溢出


内存结构之虚拟机栈

  • 虚拟机栈:一个线程运行时所需要的内存。

一个线程-----------------一个虚拟机栈

  • 虚拟机栈的组成:由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存。

一个栈帧---------------------一个方法调用(需要的内存)

一个线程-----------一个活动栈-----------当前正在执行的方法

  • 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。(在栈顶正在执行的方法,就是活动栈帧)
目录
相关文章
|
2月前
|
Java
jvm
jvm就是我们常说的java虚拟机,他是整个java实现跨平台的最核心 的部分,所有的java程序会首先被编译为.class的类文件,这种类文 件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统 相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释 给本地系统执行。 只有jvm还不能成class的执行,因为再解释class的时候jvm需要调用 解释所需要的类库lib,而jre包含lib类库。jvm屏蔽了与具体操作系 统平台相关的信息,使得java程序只需生成在java虚拟机上运行的目 标代码(字节码)就可以在多种平台上不加修改地运行。
17 1
|
1月前
|
存储 算法 Java
JVM的简单介绍
JVM的简单介绍
15 1
|
2月前
|
存储 算法 Java
|
2月前
|
存储 Java Linux
|
11月前
|
存储 缓存 算法
JVM初探
JVM初探
|
12月前
|
存储 安全 算法
jvm的组成
jvm的组成
60 0
|
存储 安全 前端开发
JVM类装载器详解
JVM类装载器详解
97 0
|
消息中间件 存储 算法
JVM - G1初探
JVM - G1初探
90 0
|
存储 缓存 安全
JVM
jvm是Java Virtual Machine (Java虚拟机) 的缩写,jvm是一种用于计算设备的规范,它是一个虚拟出来的计算机,是通过再实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入了Java虚拟机后,Java语言在不同平台上运行时不需要重新的编译。
55 0
|
存储 数据可视化 Java
JVM系列之:关于HSDB的一点心得(一)
JVM系列之:关于HSDB的一点心得(一)
576 0
JVM系列之:关于HSDB的一点心得(一)