JVM
臭臭臭1717
no one
展开
-
[JVM]JVM内存基础
JVM内存分区:线程私有:虚拟机栈/本地方法栈/程序计数器(当前线程执行的字节码计数器,改变计数器的值可以进行程序的跳转,循环,异常处理等操作)公有:方法区(包括常量池(用于存放字段值和符号引用)等,程序加载时将编译后的class文件字节码加载到此区域)/堆堆的分区:新生代:eden区,survivor0, survivor1,老年代1.Eden区 Eden区位于Jav...原创 2018-10-04 19:06:39 · 209 阅读 · 0 评论 -
[JVM]虚拟机类加载机制
运行前的准备工作 在javac编译成.class文件中的字节流后,在运行时jvm要将.class文件加载到JVM中,并且进行相应的处理便于之后的运行。整个加载到运行中的步骤如下1.加载 2.连接(验证,准备,解析)3.初始化 4.使用 5.卸载可以看到初始化之前需要完成loading和linking的过程,初始化的时机在虚拟机规范中有明确的规定在虚拟机启动时会先对main所在...原创 2018-10-07 12:17:37 · 109 阅读 · 0 评论 -
[JVM]解释器和JIT(just in time complier)即时编译器
JVM执行class字节码的过程当JVM加载.class文件中的字节码到jvm后是如何进行执行的呢那就是解释器和即时编译器的工作了javac的字节码最终是要以本地机器码的形式来执行的有解释器和即时编译器两种方式来对字节码来处理解释器根据.class文件的字节码逐条执行(一次一次转换为单条机器码?)基于栈的架构,而不是传统的寄存器架构为了实现平台无关性(不同操作系统的寄存...原创 2018-10-25 14:24:19 · 538 阅读 · 1 评论