java虚拟机
袁非非
目前大三学生,软件工程专业,研究Java
展开
-
虚拟机字节码执行引擎
虚拟机字节码执行引擎概述Java虚拟机的执行引擎:输入的时字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。运行时栈帧结构一个线程中的方法调用链可能工会很长,很多方法都同时处于执行状态。对于执行引擎来说,在活动过程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧,于这个栈帧相关联的方法称为当前方法。执行引擎运行的所有字节码指令都只针对当前栈帧进行操作。接下来详细的解释一下栈帧中...原创 2019-10-28 19:46:29 · 114 阅读 · 0 评论 -
虚拟机类加载机制
虚拟机类加载机制虚拟机的类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。总结以下知识点:在Java语言中,类的加载连接初始化过程都是在程序运行期间完成的。1 类加载的时机:类从被加载到虚拟机内存中开始,到卸载出内存它的整个生命周期包括:加载,验证,准备,解析,初始化,使用,卸载7个阶段,验证,准...原创 2019-10-28 17:22:47 · 91 阅读 · 0 评论 -
JVM底层原理分析
JVM的内存模型很多人都看过,周志明老师的《深入理解Java虚拟机》已经解释的很清楚了。但是只限于概念性的知识,关于底层的原理并没有做深入的阐述,下面我们通过一个实例代码来分析JVM内存模型之间的联系与各模块之间的底层原理,底层比较复杂,可能篇幅有点长,请耐心阅读,一定给你讲透彻,阅读本文建议同《深入理解JVM》这本书一起参考。此处先上一段代码,以下通过代码逐步分析:public cla...原创 2019-10-19 17:55:14 · 406 阅读 · 0 评论 -
synchronized底层原理解析
sychronized底层原理探秘Synchronized作用:官方解释:同步方法支持一种简单的策略来防止线程干扰和内存一致性错误:如果一个对象对多个线程可见,则对该对象变量的所有读取或写入都是通过同步方法完成的。一句话总结出Synchronized的作用: 能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果synchronized的底层原理及其实现:代码结合模...原创 2019-10-18 16:21:05 · 330 阅读 · 0 评论 -
Java虚拟机GC垃圾回收
Java虚拟机对象已死吗:引用计数方法给对象添加一个计数器,每当一个地方引用他时,计数器就加1,当引用失效时,计数器就减1,任何时候计数器为0的对象就是不会再被使用的。引用计数方法带来的问题:无法解决对象之间循环引用的问题:例如:Person a=new Peson();Peson b=new Person();a.instance=b;b.instance=a;以上情况,使...原创 2019-10-15 18:02:16 · 109 阅读 · 0 评论