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)组成,对应着每次方法调用时所占用的内存。

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

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

  • 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。(在栈顶正在执行的方法,就是活动栈帧)
目录
相关文章
|
小程序 JavaScript
小程序用 rich-text长按复制事件
小程序用 rich-text长按复制事件
544 0
|
SQL 关系型数据库 MySQL
mysql的binlog恢复数据
mysql的binlog恢复数据
240 0
|
3月前
|
运维 监控 网络协议
如何设计一个高性能内网穿透服务
本文深入解析了基于Go语言开发的高性能内网穿透工具IntraLink,涵盖其技术架构、核心实现、协议处理、性能优化与安全机制,展示了如何构建高效、稳定、安全的内网穿透服务。
136 1
|
安全 iOS开发
|
8月前
|
人工智能 安全 Anolis
打造更 AI 的操作系统 《龙蜥+超级探访》第三期走进浪潮信息
且看龙蜥社区如何联合浪潮信息向更高层次的操作系统智能化迈进?
打造更 AI 的操作系统 《龙蜥+超级探访》第三期走进浪潮信息
|
存储 文件存储 数据安全/隐私保护
exFAT和NTFS的区别是什么
exFAT和NTFS的区别是什么
2122 9
|
消息中间件 Java Apache
使用Spring Boot实现与ActiveMQ的消息队列集成
使用Spring Boot实现与ActiveMQ的消息队列集成
|
监控 前端开发 安全
区块链积分商城系统开发详细步骤及源码
区块链积分商城系统涉及到多个方面的技术和流程。以下是一般开发流程的简要概述
|
数据可视化 API Python
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
307 0