
JVM
施施球球
神即道,道法自然如来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM小记一
作为Java程序员,JVM似乎已经成为你成长阶段必须要掌握的一项技能。无论是Java程序的系统调优,还是OOM。一些看似貌似很高深的问题,背后都隐藏的JVM技能。这也成为我一个具备5年Java开发经验的人,必须去深入了解一下JVM的原因。 学习要了解点: 1,JVM如何加载JAVA字节码,转换为机器码? 2,JVM如何管理JAVA的内存? 3,JVM使用了哪些垃圾回收机制和算法? ...原创 2019-03-20 16:37:18 · 145 阅读 · 0 评论 -
JVM小记二
C和C++代码无需额外的运行,可以直接编译成CPU能够理解的机器码, 为什么Java要在虚拟机里运行? 1,Java作为一门高级程序语言,语法非常复杂,抽象程度很高,直接在硬件上运行并不现实。 2,脱离底层硬件的依赖,只要能够安装虚拟机,就可以实现一次编写,到处运行。 3,虚拟机带来了托管环境,能够替代码处理冗长而且容易出错的部分。如自动内存管理,垃圾回收,数组越界,动态类型转换等。 ...原创 2019-03-21 10:50:18 · 155 阅读 · 0 评论 -
JVM小记三
JVM如何执行方法调用的? 说到JVM执行方法调用,主要是指JVM如何识别class文件中指定的方法的。 确定方法的唯一标识:包名 + 类名 + 方法名 + 方法的入参 + 方法的返回参数。 对于Java代码来说,只需通过包名 + 类名 + 方法名 + 方法的入参 就可以唯一标识一个方法,JVM虚拟机中还加入的方法的返回参数。 所以对于Java来说就引入了重载和重写的概念? 重载:同一个...原创 2019-03-21 21:46:00 · 126 阅读 · 0 评论 -
JVM小记四
JVM对于静态绑定可以在链接解析阶段直接识别目标方法的情况; 对于动态绑定需要在运行的时候根据调用者的情况去查询方法表的索引来获取对应的目标方法。 动态绑定包括:invokevirtual, invokeinterface 方法表本质上是一个数组,每个数组元素指向一个当前类及其祖先类中非私有的实例方法。 满足两个特质: 1,子类方法表包含父类方法表中所有方法 2,子类方法在方法表中的索...原创 2019-03-22 10:11:37 · 115 阅读 · 0 评论