JVM 初探
1.线上用Dubbo开发的一个系统突然卡死了,JVM FullGC太频繁,求救
2.生产环境部署的一个系统隔几天就莫名其妙的进程崩溃,看了眼异常信息,说是OOM内存溢出,如何解决?在线等,急!
3.出去面试,光是说一些JVM内存模型、垃圾回收算法,不够啊!面试官怎么老是盯着我问生产环境遇到的JVM问题,各种参数的优化之类的,完全没经历过
.java源代码
写好的代码编译成.class后缀的字节码文件。对于编译好的这些.class字节码, 我们使用诸如 java -jar 之类的命令来运行
一旦你采用java命令,实际上此时就会启动一个JVM进程。
这个JVM就会来负责运行这些.class字节码文件,也就相当于是负责运行我们写好的系统
所以平时我们写好的某个系统在一台机器上部署的时候,你一旦启动这个系统,其实就是启动了一个JVM,由它来负责运行这台
机器上运行的这个系统
JVM要运行这些.class字节码文件中的代码,首先就得把这些.class文件中包含的各种类给加载进来。
此时就会有一个类加载器的概念
此时会采用类加载器把编译好的那些.class字节码文件给加载到JVM中,然后供后续代码运行来使用
最后一步,JVM就会基于自己的 字节码执行引擎,来执行加载到内存里的我们写好的那些类了

浙公网安备 33010602011771号