JVM系列——概述,程序计数器day1-1
JVM(Java虚拟机)
Java二进制字节码的运行环境
优点(特点)
- 一次编写,处处运行,实现跨端
- 内存管理机制(垃圾自动回收)
- 数组下标越界检查
- 多态
JVM,JRE,JDK
JVM:运行环境 JRE:JVM+Java基础类库 JDK:JVM+Java基础类库+编译工具
JVM的用处
- 有助于理解底层实现原理
- 走向框架,优化程序,解决问题
常见的JVM
JVM仅是一套规范
JVM三大核心部分
- ClassLoader:类加载器
- JVM内存结构(方法区,堆,栈,程序计数器,本地方法栈)
- 执行引擎(解释器,即时编译器,垃圾回收)
程序计数器
Program Counter Register程序计数器((寄存器)
是Java对程序硬件的屏蔽与抽象
程序执行基础流程
将Java源代码编译成为二进制字节码(JVM指令),等二进制字节码经过解释器之后形成机器码,最后让CPU执行
作用
记住下一条JVM指令的执行地址,根据地址信息按照顺序进行执行 若没有程序计数器,则不知道下一条该执行哪一条命令
程序计数器在物理上依赖寄存器实现 寄存器是CPU中读取速度最快的一个单元
特点
- 线程私有(每个线程均有一个自己的程序计数器)
- 不存在内存溢出