您好,欢迎来到赋能网!

java培训课程JVM的体系结构学习

赋能网 2023-05-11 73


java培训课程:JVM的体系结构

1. java培训课程中JVM 由哪些区域构成?

      由类加载器和运行时数据区构成;运行时数据区又分为线程私有和线程共享两大区域,线程私有的包括程序计数器、虚拟机栈和本地方法栈,线程共享的包括堆和方法区。

2. 类加载器的作用是什么?

      加载 class 文件,生成类的结构信息,将其存放在方法区。

3. 类加载器有哪些种类以及它们之间的关系是什么?

      Bootstrap ClassLoader,加载 lib 下面的类;Extension ClassLoader,加载扩展类,即 jre/ext 下面的类;Application ClassLoader,加载用户编写的类;还可以继承 ClassLoader 类自定义类加载器。Application ClassLoader 是 Extension ClassLoader 的子类,Extension ClassLoader 又是 Bootstrap ClassLoader 的子类。

4. 什么是双亲委派机制?

      简单地说就是要加载类时先找自己的父类去进行加载。比如要加载 A.class,【关注尚硅谷,轻松学IT】首先 Application ClassLoader 会先找自己的父类,即 Extension ClassLoader,Extension ClassLoader 又会先找自己的父类,即 Bootstrap ClassLoader,它没加载到,再告诉 Extension ClassLoader,它又没加载到,才轮到 Application ClassLoader 去加载。这就是双亲委派机制,可以保证优先加载 JDK 自己的类。

5. 类的加载过程是怎样的?

      加载:将 class 文件加载进内存;

      验证:验证 class 文件的正确性;

      准备:给类中的静态变量分配空间;

      解析:将 class 常量池中的符号引用替换成直接引用;

      初始化:对静态变量和静态代码块进行初始化。

6. 说说你对栈内存的认识?

      栈内存是线程私有的一块区域,分为虚拟机栈和本地方法栈。基本类型的变量、对象的引用变量和实例方法都是在栈中分配的。栈的内存地址是连续的,不存在垃圾回收。本地方法栈和虚拟机栈差不多,只不过本地方法栈是为本地方法服务的。

7. 程序计数器的作用是什么?

      记录程序执行的位置,程序调用别的方法、循环、递归的时候,www.atguigu.com下一次要回到哪儿执行,就靠程序计数器记录。

8. 方法区是物理上的划分吗?

      方法区是用来存储类加载器生成的类的结构信息的,它是逻辑上的划分,是一种规范,并不是具体的实现。jdk1.7 对方法区的实现叫做永久代,它存在于堆内存中;jdk1.8 对方法区的实现叫元空间,它共用物理内存。

9. 你对堆内存了解多少?

      堆是 JVM 中最大的一块区域,存放数组以及对象。它又分为新生代、老年代,内存占比是 1:2 。新生代又分为伊甸园区、from 区和 to 区,这三块区域内存占比为 8:1:1 。对象在新生代的伊甸园区出生,经历了若干次垃圾回收达到了年龄的对象就会存放到老年代。

      以上就是整理的java培训课程内容,希望对你有所帮助。

  想了解更多相关资讯请关注Java培训频道-查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注赋能网了解更多:4008-569-579

本文链接:

本文章“java培训课程JVM的体系结构学习”已帮助 73 人

免责声明:本信息由用户发布,本站不承担本信息引起的任何交易及知识产权侵权的法律责任!

本文由赋能网 整理发布。了解更多培训机构》培训课程》学习资讯》课程优惠》课程开班》学校地址等机构信息,可以留下您的联系方式,让课程老师跟你详细解答:
咨询热线:4008-569-579

如果本页不是您要找的课程,您也可以百度查找一下: