初学Java的人可能对于JVM很陌生,其实,随着学习的深入,你会发现JVM的重要性,尤其是想要成为资深的Java开发工程师,JVM是绕不开的知识点。对于零基础的人来说,在武汉Java培训班,要掌握哪些JVM相关知识呢?
1、JVM运行时数据区域根据JVM规范,JVM内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。
2、常量池有以下几类全局字符串池class文件常量池运行时常量池。
3、编译和加载的区别编译指的是我们写的.java文件通过调用-javac命令生成.class的字节码文件。而加载指的是将class字节码文件从各个来源通过类加载器装载入内存中。字节码来源。一般的加载来源包括从本地路径下编译生成的.class文件,从jar包中的.class文件,从远程网络,以及动态代理实时编译类加载器。一般包括启动类加载器,扩展类加载器,应用类加载器,以及用户的自定义类加载器。
4、类加载流程加载:将class字节码文件从各个来源通过类加载器装载入内存中。链接:验证-主要是为了保证加载进来的字节流符合虚拟机规范,不会造成安全错误。准备-主要是为类变量(也就是静态变量)分配内存,并且赋予初值(对于基本类型的数据是0,对象则是null)。解析-将常量池内的符号引用替换为直接引用的过程。初始化:对类变量进行初始化。
5、内存模型首先说明一点,在前面讲述的运行时数据区,只是JVM的规范,并不是具体的实现。在jdk1.7中,JVM内存会划分为堆内存和非堆内存,堆内存中也会划分为年轻代和老年代,而非堆内存则为**代。年轻代又会分为Eden和Survivor区。Survivor也会分为FromPlace和ToPlace,Eden,FromPlace和ToPlace的默认占比为8:1:1。而在jdk1.8中,移除了**代,取而代之的是元空间。
以上就是初学者在参加Java培训时要掌握的JVM相关知识,千锋武汉Java培训采用全程高品质面授模式,学员可以接触热门行业项目,多学科联合项目,职业素养及职后发展能力,让学员毕业之后可以无缝对接真实工作需求,学员毕业后自然更受企业青睐。
资讯来源:https://www.bilibili.com/video/BV1Ph411n7Ep
|