文章 2020-06-21 来自:开发者社区

2020年最全面的78道JVM面试题总结(含答案解析和思维导图)

前言 关于JVM系列面试知识点总结了一个思维导图,分享给大家 1、java中会存在内存泄漏吗,请简单描述。 会。自己实现堆载的数据结构时有可能会出现内存泄露。 2、64 位 JVM 中,int 的长度是多数? Java 中,int 类型变量的长度是一个固定值,与平台无关,都是 32 位。意思就是说,在 32 位 和 64 位 的 Java 虚拟机中,int 类型的长度是相同的。 3、Seria.....

2020年最全面的78道JVM面试题总结(含答案解析和思维导图)
文章 2019-12-25 来自:开发者社区

JVM 垃圾回收揭秘附常见面试题解析

JVM 垃圾回收常见面试题 问题答案在文中都有提到 如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 如何判断一个常量是废弃常量 如何判断一个类是无用的类 垃圾收集有哪些算法,各自的特点? HotSpot 为什么要分为新生代和老年代? 常见的垃圾回收器有那些? 介绍一下 CMS,G1 收集器。 Minor ....

文章 2019-11-21 来自:开发者社区

Java虚拟机堆和栈详细解析,以后面试再也不怕问jvm了!

堆 Java堆是和Java应用程序关系最密切的内存空间,几乎所有的对象都放在其中,并且Java堆完全是自动化管理,通过垃圾收集机制,垃圾对象会自动清理,不需自己去释放。根据垃圾回收机制的不同,Java堆有可能拥有不同的结构,最为常见的就是将整个Java堆分为新生代(Young Gen)和老年代(Tenured Gen)。其中新生代存放新生的对象或者年龄不大的对象,老年代则存放老年对象。新生代分为....

文章 2019-10-11 来自:开发者社区

深入理解JVM:元空间大小详细解析

前言 JVM加载类的时候,需要记录类的元数据,这些数据会保存在一个单独的内存区域内,在Java 7里,这个空间被称为永久代(Permgen),在Java 8里,使用元空间(Metaspace)代替了永久代。永久代和元空间保存的数据并不完全一样,永久代中还保存另一些与类的元数据无关的杂项。 在Java 7里将字符串常量从永久代移动到了堆区域,但是永久代并没有完全改造完成。直到Java 8,永久代的....

文章 2019-10-10 来自:开发者社区

面试必问:JVM类加载机制详细解析

前言 在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点。 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是class文件。平常我们写的Java文件,需要编译为class文件才能交给JVM运行。可以这么说:C语言代码——>二进制文件——>计算机硬件,就相当于Java代码——>字节码文件——&am...

文章 2019-08-07 来自:开发者社区

20道BAT面试官最喜欢问的JVM+MySQL面试题(含答案解析)

1. 内存模型以及分区,需要详细到每个区放什么。JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面,class 类信息常量池(static 常量和 static 变量)等放在方法区new: 方法区:主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字节码)等数据 堆:初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例....

文章 2018-06-21 来自:开发者社区

JVM内存区域解析

“原创精选,转载注明出处,三克油” @Date 2017.05.24 概念介绍(基于JDK7) 堆(分代收集算法) 年轻代(Minor GC) Eden区 存储新对象或者生命周期很短的对象 From Survivor区 Eden区的垃圾回收仍能存活下来的依旧存在引用的对象会待在这个区域 To Survivor区 Eden区的垃圾回收仍能存活下来的依旧存在引用的对象会待...

文章 2018-06-08 来自:开发者社区

jvm原理解析——不疯魔不成活

摘要: 作为一名java开发人员,如果有人问你java是什么?java是如何运行的?你该如何回答,事实上java是有Java语言、class文件、jvm、Java API共同组成。 java程序运行 *.java文件-->编译器-->*.class文件-->线程启动(main)-->jvm-->操作系统-->硬件 通过上面的流程我们可以看出java程序...

jvm原理解析——不疯魔不成活
文章 2018-03-20 来自:开发者社区

[深入理解Java虚拟机]第七章 类加载的过程 接下来我们详细讲解一下Java虚拟机中类加载的全过程,也就是加载、验证、准备、解析和初始化这5个阶段所执行的具体动作。加载“加载”是“类加载”(C

 通过之前的介绍可知,类加载过程共有5个步骤,分别是:加载、验证、准备、解析、初始化。其中,验证、准备、解析称为连接。下面详细介绍这5个过程JVM所做的工作。 加载 注意:“加载”是“类加载”过程的第一步,千万不要混淆。 1. 加载的过程 在加载过程中,JVM主要做3件事情: 通过一个类的全限定名来获取这个类的二进制字节流,即class文件: 在程序运行过程中,当要访问一个类时...

文章 2017-12-08 来自:开发者社区

JVM内存模型解析

JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线程私有的。下面我们就来一一分析一下这些不同区域的作用。 jvm-memory-model 堆内存 堆内存是所有线程共有的,可以分为两个部分:年轻代和老年代。下图中的Perm代表的是永久代,但是注意永久代并不属于堆内存中的一部分,同时jdk1.8之后永久代也将被移除。 ...

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

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注