Java培训基础学习之Java虚拟机知识解析

时间:2021-07-16 | 标签: | 作者:Q8 | 来源:网络

小提示:您能找到这篇{Java培训基础学习之Java虚拟机知识解析}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Java培训基础学习之Java虚拟机知识解析内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

  

  所谓JVM,即Java Virtual Machine(Java虚拟机)的缩写。众所周知,Java2019年解决危机公关语言的一个非常重要的特点就是与平台的无关性,但是它们又是怎么扯上关系的呢?小编来为大家解答。
  作为Java的基础知识,很多企业在面试时会提问求职者Java虚拟机的一些知识:
  1、Java虚拟机为新生对象分配内存有哪两种方式?
  答:指针碰撞和空闲列表。Java虚拟机采用哪种方式为新生对象分配内存,取决于所使用的垃圾收集器,当垃圾收集器具有整理过程时,虚拟机将采用指针碰撞的方式;当垃圾收集器的回收过程没有整理过程时,则采用空闲列表方式。
  2、Java虚拟机运行时数据区包括哪些?
  答:根据Java虚拟机规范的规定,虚拟机内存在Java程序运行时被分为程序计数器、Java虚拟机栈、本地方法栈、堆和方法区五个区域。
  3、Java虚拟机类加载的周期包括哪几个阶段?
  答:类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。
  4、Java虚拟机分配过程中如何解决线程安全?
  答:两种方式:1)对分配内存空间的动作进行同步处理——实际上虚拟机采用CAS配上失败重试的方式保证更新操作的原子性;2)把内存分配的动作按照线程划分在不同的空间之中进行,即每个线程在Java堆中预先分配一小块内存,称为本地线程分配缓冲(TLAB)。哪个线程要分配内存,就在哪个线程的TLAB上分配,只有TLAB用完并分配新的TLAB时,才需要同步锁定。虚拟机是否使用TLAB,可以通过-XX:+/-UseTLAB参数来设定。
  5、Java虚拟机对象在内存中如何布局?
  答:在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据(Instance 电视广告列表Data) 和对齐填充(Padding)。
  6、Java虚拟机中主流的访问方式有哪几种?
  答:有使用句柄和直接指针两种。使用句柄访问的最大好处就是reference中存储的是稳定的句柄地址,使用直接指针访问的最大好处就是速度更快,节省了一次指针定位的时间开销。
 
Java培训基础学习之Java虚拟机知识解析

上一篇:应用场景如何抉择容器和虚拟机
下一篇:深入理解Java虚拟机


版权声明:以上主题为“Java培训基础学习之Java虚拟机知识解析"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
扫码咨询
    Java培训基础学习之Java虚拟机知识解析
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Java培训基础学习之Java虚拟机知识解析”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Java培训基础学习之Java虚拟机知识解析的相关事宜。

关键词:Java培训基础学习之Java虚拟

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:545321@QQ.com
电话:400-021-1330 | 客服QQ:545321
沪ICP备12034177号 | 沪公网安备31010702002418号