目录一、Java内存模型1. 我们开发人员编写的Java代码是怎么让电脑认识的2. 为什么说java是跨平台语言3. Jdk和Jre和JVM的区别4. 说一下 JVM由那些部分组成,运行流程是什么?5. 说一下 JVM 运行时数据区6. 详细的介绍下程序计数器?(重点理解)7. 详细介绍下Java虚拟机栈?(重点理解)8. 你能给我详细的介绍Java堆吗?(重点理解)9. 能不能解释一下本地
转载 1月前
0阅读
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阅读
本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案。第一部分、Java 基础 1. JDK 和 JRE 有什么区别? JDK是java的开发工具包,有JDK8,9甚至到14的差别,安装以后,不仅包含了java 的开发环境,比如java.exe,还包含了运行环境(jr
转载 2023-08-28 15:42:44
96阅读
博主已将以下这些面试题整理成了一个面试手册,是PDF版的1、标记清除算法( Mark-Sweep)最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。从图中我们就可以发现,该算法最大的问题是内存碎片化严重,后续可能发生大对象不能找到可利用空间的问题。2、Serial Old 收集器(单线程标记整理算法 )Serial Old 是
前言如果你经常注意面试题,你会发现现在面试题多多少少会含有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阅读
JVMJAVA虚拟机的英文缩写,主要承担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
JVM面试题
转载 2021-08-12 16:11:20
199阅读
jvm面试题一、内存模型1.jvm内存结构程序计数器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。java虚拟机栈每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧,对应着一次次的方法调用。是线程私有的。本地方法栈java虚拟机栈用于管理java方法的调用,而本地方法栈用于管理本地方法的调用。是线程私有的。javajava堆区在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 以
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阅读
  • 1
  • 2
  • 3
  • 4
  • 5