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)组成,对应着每次方法调用时所占用的内存。
一个栈帧---------------------一个方法调用(需要的内存)
一个线程-----------一个活动栈-----------当前正在执行的方法
- 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。(在栈顶正在执行的方法,就是活动栈帧)
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/16544644.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2021-08-02 font-awesome不显示以及字体样式的引入方式: