JVM
Dong丶Xm
这个作者很懒,什么都没留下…
展开
-
【Java虚拟机】第三章、jvm运行期优化,解释器,编译器(AOT静态编译,JIT动态编译)
已经第三章了,看了前两章是不是有点懵?或者开始意识到了什么?或者整个串联起来了?回顾一下第一张主要讲的是jvm怎么创建第二章讲的是jvm内存结构和番外篇class加载过程 那么我们再结合这一章解释器和编译器,静态和动态编译,把他们串到1起,简单的总结下jvm被创建后是如何运行的。之后我们要开始学习GC优化了。 都知道写的好的C/C++运行效率很高,殊不知JA...原创 2019-03-19 17:59:45 · 533 阅读 · 0 评论 -
【Java虚拟机】第一章、Java虚拟机是如何产生的
先不讲java虚拟机,我们从最最基本的出发。当我开始学习java之初,老是听我老师吹牛逼说java能跨平台,如何如何厉害,我一直有疑问,java可以跨平台,别的就不行?很惭愧,现在才正式开始总结一下:1.、java是如何做到跨平台的,为什么有了JDK,JRE就能跨平台2、为什么tomcat能在各个平台运行,靠的是啥,为啥运行之后访问的东西都是一样的,不会有linux和window的区别...原创 2019-03-07 11:22:40 · 253 阅读 · 0 评论 -
【Java虚拟机】第二章、深入理解JVM-------内存模型
目录 虚拟机栈程序计数器本地方法栈java堆方法区常量池直接内存总结public static void main(String[] args){ String str = "Hello World!"; System.out.println(str); System.out.println("Hello World!");}...原创 2019-03-27 16:59:45 · 319 阅读 · 0 评论 -
JVM类加载的过程(加载、验证、准备、解析、初始化)
加载加载一般可以分为显示加载(Class.forName()加载类)和隐式加载(new 类)。这个过程主要完成三件事:通过类全名/路径获取该类的class文件的二进制字节流。 将class中的静态区域结构转化成JVM方法区运行时的数据结构。 在内存中生成一个代表这个类的java.lang.Class对象,作为数据访问这个类的唯一入口。验证这一步骤确保加载的这个类符合jvm规范和安...原创 2019-03-13 10:42:40 · 335 阅读 · 0 评论 -
【Java虚拟机】第五章、JVM--------GC算法,GC收集器,GC调优
目录哪些是垃圾垃圾收集算法垃圾收集器GC优化上面讲完了整个流程和整个内存结构,下面就要开始进行优化了。想要知道怎么优化,就得先知道GC,有哪些内存算是垃圾,知道哪些内存是垃圾后,怎么清理垃圾,如何选择清理算法。各种垃圾收集器是用的什么算法。很多人一开始都感觉GC是java自动的,不需要管,但是深入java之后明白,如果你要成神,这个是必不可少的,Elastic Search...原创 2019-05-15 15:27:42 · 352 阅读 · 0 评论