目录一、Java内存模型1. 我们开发人员编写的Java代码是怎么让电脑认识的2. 为什么说java是跨平台语言3. Jdk和Jre和JVM的区别4. 说一下 JVM由那些部分组成,运行流程是什么?5. 说一下 JVM 运行时数据区6. 详细的介绍下程序计数器?(重点理解)7. 详细介绍下Java虚拟机栈?(重点理解)8. 你能给我详细的介绍Java堆吗?(重点理解)9. 能不能解释一下本地
1. 说一说JVM的主要组成部分2. 说一下 JVM 的作用?3. 说一下堆栈的区别?4. Java内存泄漏5. JVM 有哪些垃圾回收算法?6. 说一下 JVM 有哪些垃圾回收器?7. 说一下类加载的执行过程?8. 什么是双亲委派模型?为什么要使用双亲委派模型?9. CMS垃圾清理的过程10. 常用的 JVM 调优的参数都有哪些?系列文章基于JDK81. 说一说JVM的主要组成部分点击放大看,一
转载
2023-09-01 06:52:23
64阅读
博主已将以下这些面试题整理成了一个面试手册,是PDF版的1、标记清除算法( Mark-Sweep)最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。从图中我们就可以发现,该算法最大的问题是内存碎片化严重,后续可能发生大对象不能找到可利用空间的问题。2、Serial Old 收集器(单线程标记整理算法 )Serial Old 是
本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案。第一部分、Java 基础
1. JDK 和 JRE 有什么区别?
JDK是java的开发工具包,有JDK8,9甚至到14的差别,安装以后,不仅包含了java 的开发环境,比如java.exe,还包含了运行环境(jr
转载
2023-08-28 15:42:44
96阅读
前言如果你经常注意面试题,你会发现现在面试题多多少少会含有jvm相关的面试题,随着互联网的发展,高并发高可用、快速响应成为软件的必须,而JVM与这些有着密切关联。今天我们就来谈谈如何学习jvm以及jvm常见面试题。1.JVM基本概念2.线程3.JVM内存区域4.JVM运行时内存5.垃圾回收与算法6.Java四种引用类型7.GC垃圾收集器8.Java IO/NIO9.JVM类加载机制JVM常见面试题
转载
2023-09-19 20:43:36
58阅读
1、请你简述一下 Java 内存结构(运行时数据区)① 程序计数器程序计数器:线程私有。一块较小的内存空间,程序计数器用于保存 JVM 中下一条所要执行的字节码指令的地址!如果正在执行的是 Native 方法,则这个计数器值则为空。程序计数器在硬件层面是通过 寄存器 实现的!Java指令执行流程:.java代码源文件经过编译为.class 二进制字节码文件。.class 文件中的每一条二进制字节码
转载
2023-11-25 12:26:55
107阅读
JVM是JAVA虚拟机的英文缩写,主要承担JAVA字节码的执行作用,执行过程中会经历加载class文件→管理并分配内存→执行垃圾回收机制,JAVA程序需要跨平台执行的时候,就需要JVM来实现。如果有过几次面试经验或者有圈内朋友的话,应该知道在大厂面试中,基本上或多或少会问到有关于虚拟机的问题。许多经验不足的或者应届生,在应对面试官时只会说:“我知道JVM内存”,当说出这句话的时候,面试已经结束了。
转载
2021-09-10 16:24:50
88阅读
前言:该篇主要对Java虚拟机相关的题目进行介绍。JVM篇基本上在面试的时候,都会或多或少的涉及JVM,主要看面试官的侧重点,笔者在面试过程中,是通过volatile问题,引导了JVM相关问题上的。1)JVM的内存区域,各区域存储什么,及其作用。①程序计数器#1.当前线程正在执行字节码行号指示器。#2.为了线程切换后能够恢复到正确的执行位置,每个线程都需要一个独立的程序计数器。(线程私有)#3.当
转载
2023-07-17 22:20:29
65阅读
是一个新生代收集器,也是复制算法的收集器,同时也是多线程并行收集器,与PartNew 不同是,它重 点关注的是程序达
转载
2023-12-25 10:20:44
955阅读
文章目录1.说一下 JVM 的主要组成部分及组成部分的作用?2.说一下 JVM 的作用?3.深拷贝和浅拷贝4.说一下堆栈的区别?5.队列和栈是什么?有什么区别?6.对象的创建方式和步骤7.创建对象时为对象分配内存8.创建对象时处理并发安全问题9.创建对象时对象的访问定位10.Java内存泄漏11.简述Java垃圾回收机制12.Java 中都有哪些引用类型?13.如何判断对象是否可以被回收14.说
转载
2023-10-07 20:54:48
135阅读
Object的finalize()方法的作用是否与C++的析构函数作用相同与C++的析构函数不同,析构函数调用确定,而它的是不确定的将未被引用的对象放置于F-Queue队列;当垃圾回收器宣布一个对象死亡,至少需要经过两个阶段,1.当对象进行可达性分析时发现没有和GC ROOTS相连接就会被第一次标记;2.判断对象是否覆盖finalize(),如果覆盖,并且未被引用过这个方法的对象就会被放在F-Qu
转载
2023-07-17 21:00:16
54阅读
JVM面试题
转载
2021-08-12 16:11:20
199阅读
jvm面试题一、内存模型1.jvm内存结构程序计数器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。java虚拟机栈每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧,对应着一次次的方法调用。是线程私有的。本地方法栈java虚拟机栈用于管理java方法的调用,而本地方法栈用于管理本地方法的调用。是线程私有的。java堆java堆区在jvm启动的时候即被创建,
原创
2021-08-13 22:56:23
282阅读
1、你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景?参考 触发JVM进行Full GC的情况及应对策略。2、Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处?启动Bootstrap类加载、扩展Ext...
转载
2021-08-18 13:42:45
185阅读
1)使用PC寄存器存储字节码指令地址有什么用呢?为什么使用PC寄存器记录当前线程的执行地址呢? 因为CPU需要不停的切换各个线程,这时候切换回来以后,就得知道接着从哪开始继续执行。 JVM的字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。 2)PC寄存器为什么被设定为 ...
转载
2021-08-30 11:12:00
195阅读
2评论
JVM,运行时数据区,内存结构,回收算法
原创
2024-04-20 17:44:19
22阅读
JVM 内存模型线程共享堆和方法区线程私有虚拟机栈 本地方法栈 程序计数器方法区:原来是通储局部变量类加载机制 七个阶段: 加载 验证 准备 解析 初始化 使用 卸载加载通过一个类的权限域名获取他的二进制字节流将二...
原创
2022-07-05 15:01:30
35阅读
Jvm面试题及答案(Jvm面试题大全带答案)发现网上很多Jvm面试题及答案整理都没有答案,所以花了很长时间搜集,本套Jvm面试题大全,有大量经典的Jvm面试题以及答案,包含Jvm语言常见面试题、面试经验技巧等,应届生,实习生,企业工作过的,都可参考学习! JDK11 中加入的具有实验性质的低延迟垃圾收集器,目标是尽可能在不影响吞吐量的前提下,实现在任意堆内存大小都可以把停顿时间限制在 10ms 以
转载
2024-03-05 12:08:29
104阅读
JVM 是小白 Java 程序员成长路上的一道坎也是很多工作2到3年程序员的一个重点面试问题之一,学习JVM之前,只需要知道代码编译成 Class,虚拟机加载 Class 运行就可以了,学习 JVM 之后,可以深入理解代码从编译到加载的过程、内存中对象的创建与垃圾回收、日常开发中快速定位性能问题等,当然也是面试不可缺少的加分项。 在这我整理20道精选的JVM面试题分享给大家,希望能帮助到大家同时可
转载
2023-08-13 22:59:44
87阅读
问题:1、JVM管理的内存结构是怎样的?
2、不同的虚拟机在实现运行时内存的时候有什么区别?
3、运行时数据区中哪些区域是线程共享的?哪些是独享的?
4、除了JVM运行时内存以外,还有什么区域可以用吗?
5、堆和栈的区别是什么?
6、Java中的数组是存储在堆上还是栈上的?
7、Java中的对象创建有多少种方式?
8、Java中对象创建的过程是怎么样的?
9、Java中的对象一定在堆上分配内存吗?
转载
2023-08-10 14:17:56
85阅读