深入java虚拟机
读《深入理解JAVA虚拟机》,以思维导图及自问自答的方式,理解与消化java虚拟机的内容。
coder_flag
南昌大学软件工程专业学生。
展开
-
程序编译及代码优化
提问: 为何HotSpot虚拟机使用解释器与编译器并存架构? 为何HotSpot 虚拟机要实现两个不同的即时编译器(C1,C2)? 程序何时使用解释器执行,何时使用编译器执行? 哪些程序代码会被编译为本地代码?如何编译为本地代码? 如何从外部观察即时编译器的编译过程和编译结果? 先上思维导图: 在前端编译器中,“优化”手段主要用于提升程序编码效率,之所以把javac这类将java代码转...原创 2019-01-06 23:29:56 · 227 阅读 · 0 评论 -
java内存区域
java内存区域: Java 与c++之间有一堵由内存动态分配与垃圾回收机制围成墙,外面的人想进来,里面的人想出去。 对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方...转载 2018-11-21 22:41:45 · 114 阅读 · 0 评论 -
java对象创建过程
java对象创建的过程: (1)类加载检查: 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 (2)分配内存: 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大...转载 2018-11-20 22:03:04 · 192 阅读 · 0 评论 -
JAVA反射机制
一、什么叫反射? 首先给个定义: JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 什么意思呢,简单来说就是通过反射,我们在程序运行时可以获得程序或者程序集中每一个类型的成员和成员信息。 java程序中的一般的对象的类型...转载 2018-11-01 20:27:29 · 101 阅读 · 0 评论