文章 2022-02-14 来自:开发者社区

Java面试题 简述jvm内存模型?

程序计数器:线程私有,各线程之间独立储存,互不影响,若当前执行的是Java方法,则记录的就是当前执行指令的地址,若是native方法,则为空;java虚拟机栈:线程私有,每个方法在执行时都会创建一个栈帧,方法执行过程就是栈帧在虚拟机栈中从入栈到出栈的过程,入栈表示方法开始被调用,出栈表示方法执行完毕,栈帧用于保存方法内部局部变量、操作数、方法返回值、动态链接;我们平时说的栈其实一般就是指局部变量....

文章 2022-02-14 来自:开发者社区

常见Java面试题之JVM加载class文件的原理机制

JVM加载class文件的原理机制JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载....

文章 2022-02-14 来自:开发者社区

被面试官侮辱后,我决定通宵研究JVM!

文章大纲什么是JVM(一): JVM(二): JAVA为什么说是“平台无关的编程语言”(三): JVM内部结构一:类加载器(Class Loader)二:执行引擎(Execution Engine)三:什么是解释器(Interpreter),什么是JIT编译器?四:堆(Heap)1、堆的内部结构划分2、为什么要将堆划分成这种结构3、 新生代(Young Generation)4、 新生代GC回收....

被面试官侮辱后,我决定通宵研究JVM!
文章 2022-01-27 来自:开发者社区

2020秋招面试JVM虚拟机高频问题总结 问题+答案(5)

类加载器加载Class大致要经过如下8个步骤:1、检测此Class是否载入过,即在缓冲区中是否有此Class,如果有直接进入第8步,否则进入第2步。2、如果没有父类加载器,则要么Parent是根类加载器,要么本身就是根类加载器,则跳到第4步,如果父类加载器存在,则进入第3步。3、请求使用父类加载器去载入目标类,如果载入成功则跳至第8步,否则接着执行第5步。4、请求使用根类加载器去载入目标类,如果....

2020秋招面试JVM虚拟机高频问题总结 问题+答案(5)
文章 2022-01-27 来自:开发者社区

2020秋招面试JVM虚拟机高频问题总结 问题+答案(4)

G1此垃圾收集器不需要和别人配合,自己处理新生代和老年代。在jdk9中G1变为Server模式默认的垃圾收集器。它的发明就是为了替代CMS。G1(Garbage-First)从整体来看是基于标记-整理的算法,从局部来看是基于复制算法。它和CMS一样可以和用户进程并行。相对于CMS 它的优点是首先它能建立可预测的停顿时间模型,能在一个规定的时间段内指定垃圾收集的时间不超过限制的毫秒数,并且它将Ja....

2020秋招面试JVM虚拟机高频问题总结 问题+答案(4)
文章 2022-01-27 来自:开发者社区

2020秋招面试JVM虚拟机高频问题总结 问题+答案(3)

新生代垃圾收集器Serial此垃圾收集器年代久远,用于新生代的垃圾收集,采用复制算法。是单线程的垃圾收集器也就是不管你的服务器有多少CPU,反正它就用其中的一个CPU启动一个线程去处理垃圾回收,并且停止所有工作线程等待它回收完成。所以它在收集时会STW(stop the world)。能与其搭配的老年代收集器是CMS与Serial Old。单线程的好处就在于它简单,没有上下文线程切换的开销。多用....

2020秋招面试JVM虚拟机高频问题总结 问题+答案(3)
文章 2022-01-27 来自:开发者社区

2020秋招面试JVM虚拟机高频问题总结 问题+答案(2)

二、深入理解虚拟机之垃圾回收1.如何判断对象是否死亡(两种方法)。一、引用计数法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能被再使用的。主流的JVM里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象间的互循环引用的问题。二、可达性分析算法通过一些列的称为“GC Roots”的对象作为起始点,从....

2020秋招面试JVM虚拟机高频问题总结 问题+答案(2)
文章 2022-01-27 来自:开发者社区

2020秋招面试JVM虚拟机高频问题总结 问题+答案(1)

下面是按jvm虚拟机知识点分章节总结的一些jvm学习与面试相关的一些东西。一般作为Java程序员在面试的时候一般会问的大多就是Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理这些问题了。下边附面试常考问题,并且给出答案深入理解虚拟机之Java内存区域:1.介绍下Java内存区域(运行时数据区)。2.对象的访问定位的两种方式。深入理解虚拟机之垃圾回收1.如何判断对象是否死亡(两种方....

2020秋招面试JVM虚拟机高频问题总结 问题+答案(1)
文章 2022-01-13 来自:开发者社区

面试之JUC和JVM,通俗易懂。

垃圾回收机制算法复制算法:用于年轻代标记清除算法:用于老年代标记整理算法:用户老年代分代收集算法:年轻代特点是区域相对老年代较小,对像存活率低,使用复制算法,老年代的特   点是区域较大,对像存活率高。标记清除和标记整理混合使用。一个对象怎么判断是垃圾被回收引用计数法:是通过判断对象的引用数量来决定对象是否可以被回收,很难处理循     环引用,相互引用的两个对象则....

文章 2021-12-31 来自:开发者社区

面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试者,如果知晓这些变化,又将成为面试中的亮点。如果在网络上搜索JVM内存结构,90%的可能会搜到Java7及以前的内存图,本篇文章将会对JVM内存结构再次细化,深入理解Java8之后内部的变化。现在意识到....

面试官,Java8 JVM内存结构变了,永久代到元空间

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Java面试那些事儿

手把手带您学习Java,开启编程之路。

+关注