1. JVM 由哪些区域构成?
由类加载器和运行时数据区构成;运行时数据区又分为线程私有和线程共享两大区域,线程私有的包括程序计数器、虚拟机栈和本地方法栈,线程共享的包括堆和方法区。
2. 类加载器的作用是什么?
加载 class 文件,生成类的结构信息,将其存放在方法区。
3. 类加载器有哪些种类以及它们之间的关系是什么?
Bootstrap ClassLoader,加载 lib 下面的类;Extension ClassLoader,加载扩展类,即 jre/ext 下面的类;Application ClassLoader,加载用户编写的类;还可以继承 ClassLoader 类自定义类加载器。Application ClassLoader 是 Extension ClassLoader 的子类,Extension ClassLoader 又是 Bootstrap ClassLoader 的子类。
4. 什么是双亲委派机制?
简单地说就是要加载类时先找自己的父类去进行加载。比如要加载 A.class,首先 Application ClassLoader 会先找自己的父类,即 Extension ClassLoader,Extension ClassLoader 又会先找自己的父类,即 Bootstrap ClassLoader,它没加载到,再告诉 Extension ClassLoader,它又没加载到,才轮到 Application ClassLoader 去加载。这就是双亲委派机制,可以保证优先加载 JDK 自己的类。
5. 类的加载过程是怎样的?
加载:将 class 文件加载进内存;
验证:验证 class 文件的正确性;
准备:给类中的静态变量分配空间;
解析:将 class 常量池中的符号引用替换成直接引用;
初始化:对静态变量和静态代码块进行初始化。
6. 说说你对栈内存的认识?
栈内存是线程私有的一块区域,分为虚拟机栈和本地方法栈。基本类型的变量、对象的引用变量和实例方法都是在栈中分配的。栈的内存地址是连续的,不存在垃圾回收。本地方法栈和虚拟机栈差不多,只不过本地方法栈是为本地方法服务的。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
7. 程序计数器的作用是什么?
记录程序执行的位置,程序调用别的方法、循环、递归的时候,下一次要回到哪儿执行,就靠程序计数器记录。
8. 方法区是物理上的划分吗?
方法区是用来存储类加载器生成的类的结构信息的,它是逻辑上的划分,是一种规范,并不是具体的实现。jdk1.7 对方法区的实现叫做永久代,它存在于堆内存中;jdk1.8 对方法区的实现叫元空间,它共用物理内存。
9. 你对堆内存了解多少?
堆是 JVM 中最大的一块区域,存放数组以及对象。它又分为新生代、老年代,内存占比是 1:2 。新生代又分为伊甸园区、from 区和 to 区,这三块区域内存占比为 8:1:1 。对象在新生代的伊甸园区出生,经历了若干次垃圾回收达到了年龄的对象就会存放到老年代。
相关推荐
Java工程师必备:JVM原理、内存模型、调优、垃圾回收机制、面试题
在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱。 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了系列技术干货合集,助力小伙伴们顺利进大厂~ 小编根据C4认证的成长路径整理了Java的相关资源,从零基础带你进入Java的世界。 欢迎大家扫描文末二维码,一起学习~ 一、JVM原理 【JVM原理最全、清晰、通俗讲解,五天40小时吐血整理】 【JVM工作原理】 【初探JVM原理与结构】 【JVM原理和.
常见JVM面试题及答案整理
前言 总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新。 1.什么情况下会发生栈内存溢出。 思路: 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。 我的答案: 栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作...
猿创征文 【高级篇】Java 进阶之JVM实战
JVM 是 Java 实现 跨平台的基础,所有的Java程序都基于JVM,那么JVM底层到底是如何实现的呢,Java目前已火了20多年了,下面我们就一起来看看 这个强大的 JVM!!!
JVM 之体系结构
JVM体系结构
【Java进阶营】20个高级Java面试题汇总
这是一个高级Java面试系列题中的部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。 什么是可变参数? 断言的用途? 什么时候使用断言? 什么是垃圾回收? 用一个例子解释垃圾回收? 什么时候运行垃圾回收? 垃圾回收的最佳做法? 什么是初始化数据块? 什么是静态初始化器? 什么是实例初始化块? 什么是正则表达式? 什么是令牌化? 给出令牌化的例子? 如何使用扫描器类(Scanner Class)令牌化?
87道Java核心知识高频面试题Java集合+JVM与调优+并发编程+Redis
87道Java核心知识高频面试题Java集合+JVM与调优+并发编程+Redis 前言: 《金九银十》已接近尾声,BATJ一线大厂面试题疑难杂症一网打尽!今天跟大家分享一下Java集合,JVM与调优,并发编程,redis的面试题,当然我分享的往往不止这些面试题哦,关注我核心知识点的面试题都有哦,还有文末领取答案 Java集合22题 ArrayList 和 Vector 的区...
JAVA面试题进阶
看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点 MyBatis 面试题 1、什么是 Mybatis? 2、Mybaits 的优点: 3、MyBatis 框架的缺点: 4、MyBatis 框架适用场合: 5、MyBatis 与 Hibernate 有哪些不同? 6、#{}和${}的...
【Java进阶营】Java架构师面试题——JVM性能调优
对JVM内存的系统级的调优主要的目的是减少gc的频率和Full gc的次数。 1.Full gc 会对整个堆进行整理,包括Young、Tenured和Perm。Full gc因为需要对整个堆进行回收,所以比较慢,因此应该尽可能减少Full gc的次数。 2.导致Full gc的原因 1)年老代(Tenured)被写满 调优时尽量让对象在新生代gc时被回收、让对象在新生代多存活一段时间和不要创建过大的对象及数组避免直接在旧生代创建对象 。 2)持久代Pemanet Generation空间不足 增大Perm
快速入门JVM第一讲——JVM体系结构概述
相信学过Java的同学,都应该晓得JVM,它几乎是面试中必问的知识点。要想称为一名合格的Java程序员,JVM是你必须要掌握的知识点,它的重要性就不言而喻了。笔者本人也只是刚刚好入了JVM的门槛,多少对它有了一定的了解,本文详细记录了笔者本人快速入门JVM的学习过程,希望对初次学习JVM的同学有一定的借鉴之处! JVM体系结构 在讲述JVM体系结构之前,先来看如下几道面试题,你能解决几道面试题呢?...
从CAD到Web:高效转换STEP/IGES模型为GLB格式的实践指南
本文详细介绍了如何将工业设计中的STEP/IGES模型高效转换为Web友好的GLB格式。通过PythonOCC和gltf-pipeline等工具链,实现从CAD到Web的无缝转换,大幅提升模型加载速度和展示效果。文章包含实战案例、优化技巧和常见问题解决方案,帮助开发者快速掌握3D模型转换技术。
SE (3) -Transformers:三维旋转 - 平移等变注意力网络
E (3) 变换器,这是一种用于三维点云和图的自注意力模块变体,在连续三维旋转平移下具有等变性。注意力机制的计算量会随着点云规模的增大呈二次方增长,因此引入邻域的概念是很有必要的:每个点不再关注所有其他点,而只关注其最近的邻点。注意力机制此前已在图的领域中以内部注意力、自注意力、顶点注意力或图注意力等名称被引入 [17, 31, 32, 12, 26]。等变性意味着当输入数据发生旋转或平移时,模型的输出也会以相应的、可预测的方式进行变换,从而保证模型性能的稳定性和可预测性。
猿创征文 |【高级篇】Java 进阶之JVM实战
想要进阶Java高级工程师? 那你得会JVM! 一文彻底搞定JVM实战
最终篇——SWAT模型的建立
同理,Soil Data也是同样的方法导入,在Soil Database Options的选项中,选择UserSiol,用同样的方法导入土壤类型,进行重分类。打开窗口后,只定义HRU Thresholdes,其余两个不用设置,设定各数据单元的计算率,这里的10%的意思是计算精度,即分成级HRU计算单元太小,小于平均计算单元的10%,我们就不对这HRU单元进行计算(也就是说太破碎的计算单元不进行计算),若选择0%意味着全部进行计算,需要耗费大量的内存和时间,对计算机要求较高,不建议。
Java——《面试题——JVM篇》
JVM定义了不同运行时数据区,他们是用来执行应用程序的。某些区域随着JVM启动及销毁,另外一 些区域的数据是线程性独立的,随着线程创建和销毁。jvm内存模型总体架构图如下:(摘自oracle 官方网站)JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建 销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。下图是根据自己理解画的一个 JVM内存模型架构图:JVM内存分为线程私有区和线程共享区线程私有区1、程序计数器。
WPS用户看过来:避开格式错乱坑,用WPS Office完美制作红头文件(2024最新版)
本文详细解析了WPS Office与Word在红头文件制作中的核心差异,提供了2024年最新版的零误差实战指南。从字体处理、页面布局到红头制作关键步骤,帮助用户避开格式错乱坑,确保跨设备显示一致。特别针对WPS用户优化,解决字体丢失、版式错位等常见问题。
fastlio2原理详解
其核心是利用IMU的高频数据(通常100-500Hz)进行状态预测(前向传播),同时利用激光雷达扫描(通常10-100Hz)作为观测来校正状态。转换了卡尔曼增益的计算公式,将对大维度观测矩阵的求逆(点云数量级)转换为对小维度状态矩阵的求逆,从而极大提升了计算效率。:利用预测出的连续IMU状态,将一帧内每个激光点根据其时间戳反向插值,统一校正到扫描结束时刻,输出无畸变的点云。收敛后,用最终的状态将本帧点云。,根据其精确的时间戳,利用前后两个IMU位姿进行插值,计算出该点采集时刻的精确位姿,再将其全部。
Jvm面试题及答案(2021年Jvm面试题大全带答案)
Jvm面试题及答案(2021年Jvm面试题大全带答案) Jvm面试题及答案【最新版】Jvm高级面试题大全(2021版),发现网上很多Jvm面试题及答案整理都没有答案,所以花了很长时间搜集,本套Jvm面试题大全,Jvm面试题大汇总,有大量经典的Jvm面试题以及答案,包含Jvm语言常见面试题、Jvm工程师高级面试题及一些大厂Jvm开发面试宝典,面试经验技巧等,应届生,实习生,企业工作过的,都可参考学习! 这套Jvm面试题汇总大全,希望对大家有帮助哈~ 博主已将以下面试题整理成了一个Jvm面试手册,是PD.
布尔可满足性问题(SAT)深度研究
布尔可满足性问题(Boolean Satisfiability Problem, SAT)是计算机科学和数理逻辑中的一个核心决策问题。其定义为:对于一个给定的布尔逻辑公式,判断是否存在一组对其变量的真值赋值(即,为每个变量指定真 (True) 或假 (False)),使得该公式的最终计算结果为真。如果存在这样的赋值,则称该布尔公式是可满足的 (satisfiable);否则,称其为不可满足的 (unsatisfiable)。
【Java进阶营】Java架构师面试题——JVM性能调优_jvm性能调优面试题
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。
YOLOv8融合HAttention:激活更多像素的注意力机制科研实践指南
HAttention通过层级化像素激活与融合的设计,为YOLOv8的像素级特征利用能力带来了质的飞跃。从原理理解到代码实现,再到集成调优,每一步都是科研中“解决像素信息遗漏难题”的具体实践。如果你在实验中发现某类细节或大尺度目标的检测仍有不足,可以尝试结合数据增强(如随机裁剪、多尺度训练)来强化模型对像素特征的学习能力。科研的价值在于不断挖掘技术的潜力,希望这份指南能真正帮你在目标检测的像素级特征利用领域找到新的突破点,祝你在科研探索中持续收获创新与成长。
08-StarRocks性能调优FAQ
StarRocks性能调优摘要 本文提供了StarRocks数据库性能调优的常见问题解答,涵盖查询优化、索引设计、分区策略和系统配置等关键方面。主要内容包括:查询优化技巧(使用EXPLAIN分析、避免全表扫描、优化JOIN和聚合查询);索引选择与维护建议(高频查询列索引、复合索引);分区策略设计(时间分区、范围分区)及其管理方法;以及系统内存配置优化(JVM参数调整、查询内存限制设置)。这些优化措施可显著提升StarRocks的查询性能和系统效率。
【Java高级篇】JVM体系结构概述
JVM体系结构概述1. JVM的位置2. jvm内存结构栈运行原理栈+堆+方法区的交互关系对象分配规则3. 类的加载机制什么是类的加载类的生命周期类加载器Code测试类加载机制4. GC算法 垃圾回收什么事GC对象存活判断GC算法垃圾回收器 关于JVM知识点的面试题 请谈谈你对JVM的理解?java8的虚拟机有什么更新? 什么是OOM?什么是StackOverflowError?有哪些方法分析? JVM的常用参数调优你知道哪些? 谈谈JVM中,对类加载器你的认识? JVM体系总体分四大块: j
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
2500



被折叠的 条评论
为什么被折叠?



