一:jvm是什么
jvm是java虚拟机java Virtual Machine的缩写
jdk包含jre和java DevelopmentTools
二:什么是java虚拟机
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。java虚拟机有自己完善的硬体结构,如处理器、堆栈、寄存器等,还有相应的指令系统。java虚拟机屏蔽了与具体操作系统平台相关的信息,使得java程序只需生成在java虚拟机上运行的目标代码。
JVM就是解析和运行java程序的。JVM用来解析和运行java程序的。
三:JVM中内存区域的划分
JVM内存区域的划分,首先就要知道JVM中的内存区域从什么地方来,JVM中的内存是JVM向操作系统中申请的一块内存,针对内存划分一个区域
堆:new的对象就会放在堆中
方法区:加载好的类放在方法区,静态成员
栈:局部变量
程序计数器:存储的是地址描述的是当前线程接下来要执行的指令在什么地方
注意:一个进程中存在多个线程,每个线程都有自己的栈和程序计数器,一个进程公用一个堆和一个方法区
判断一个变量是在堆上还是在栈上,和这个变量是局部变量(栈)、静态变量(方法区)还是成员变量(堆)有关。