一、JVM 概念
即java virtual machine 的简称,意为java虚拟机,可以说是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
二、种类
VMWare、Visual Box(使用软件模拟物理CUP的指令集)、JVM(使用软件模拟java字节码的指令集)
三、运行机制
1、启动流程
2、基本结构、内存模型
PC寄存器:每个线程拥有一个PC寄存器,在线程创建时创建,它指向下一条指令的地址,执行本地方法时,PC的值 为undefined;
方法区:保存装载的类信息(类型的常量池,字段、方法信息,方法字节码),通常和永久区关联在一起;
java堆:创建的对象,线程共享的,GC的主要工作区间;
java栈:线程私有,由一系列帧组成,帧保存每一个方法的局部变量、操作数栈、常量池指针,每次方法调用创建一 个帧,并压栈;
3、volatile
4、保证线程可见性方法
volatile;synchronized(unlock之前,写变量值回主存);final(一旦初始化完成,其他线程就可见)
5、解释运行与编译运行
解释运行:解释方式运行字节码,读一句执行一句;
编译运行:将字节码编译成机器码,直接执行机器码,运行时编译,编译后性能有数量级的提升。