金三银四面试题(八):JVM常见面试题(2)

今天我们继续探讨常见的JVM面试题。这些问题不比之前的问题庞大,多用于面试中​JVM部分的热身运动,开胃菜,但是大家已经要认真准备。

JRE、JDK、JVM 及JIT 之间有什么不同?

  • JRE 代表Java 运行时(Java run-time),是运行Java 引用所必须的。
  • JDK 代
    表Java 开发工具(Java development kit),是Java 程序的开发工具,如Java
    编译器, 它也包含JRE。JVM 代表Java 虚拟机( Java virtual machine), 它
    的责任是运行Java 应用。
  • JIT 代表即时编译( Just In Time compilation),当
    代码执行的次数超过一定的阈值时, 会将Java 字节码转换为本地代码,如,主
    要的热点代码会被转换为本地代码, 这样有利大幅度提高Java 应用的性能。

讲一讲JVM 选项-XX:+UseCompressedOops

当你将你的应用从32 位的JVM 迁移到64 位的JVM 时,由于对象的指针从
32 位增加到了64 位,因此堆内存会突然增加,差不多要翻倍。这也会对CPU
缓存(容量比内存小很多)的数据产生不利的影响。因为,迁移到64 位的JVM
主要动机在于可以指定最大堆大小, 通过压缩OOP 可以节省一定的内存。通过
-XX:+UseCompressedOops 选项,JVM 会使用32 位的OOP,而不是64 位
的OOP。

Serial 与Parallel GC 之间的不同之处?

Serial 与Parallel 在GC 执行的时候都会引起stop-the-world。它们之间主要
不同serial 收集器是默认的复制收集器,执行GC 的时候只有一个线程, 而
parallel 收集器使用多个GC 线程来执行。

什么是空闲列表

如果Java堆内存中的内存并不是规整的,已被使用的内存和空闲的内存相互交错在一起,不可以进行指针碰撞啦,虚拟机必须维护一个列表,记录哪些内存是可用的,在分配的时候从列表找到一块大的空间分配给对象实例,并更新列表上的记录,这种分配方式就是空闲列表。

64 位JVM 中,int 的长度是多数?

Java 中,int 类型变量的长度是一个固定值,与平台无关,都是32 位。意思就
是说,在32 位和64 位的Java 虚拟机中,int 类型的长度是相同的。

32/64 位JVM 的最大堆内存分别是多数?

理论上说上32 位的JVM 堆内存可以到达2^32,即4GB,但实际上会比这个
小很多。不同操作系统之间不同,如Windows 系统大约1.5 GB,Solaris 大约
3GB。64 位JVM 允许指定最大的堆内存,理论上可以达到2^64,这是一个非
常大的数字,实际上你可以指定堆内存大小到100GB。甚至有的JVM,如Azul,
堆内存到1000G 都是可能的。

往期文章
金三银四面试题(一):JVM类加载与垃圾回收

金三银四面试题(二):数据库缓存的数据一致性

金三银四面试题(三):JVM内存模型

金三银四面试题(四):Full GC 和 Minor GC

金三银四面试题(五):JVM之TLAB

金三银四面试题(六):对象大小知多少

金三银四面试题(七):JVM常见面试题(1)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/503519.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 05 Vuex

Vue 学习 Vue 05 vuex01 介绍02 工作原理(原理图)使用 03 案例求和补充HTML 纯vue实现vuex使用 04 getters配置项05 mapState 与 mapGetters补:ES6语法mapState使用mapGetters总结 06 mapActions 与 mapMutationsmapMutationsmapActions总结 …

最新Java面试题1【2024中级】

互联网大厂面试题 1:阿里巴巴Java面试题 2:阿里云Java面试题-实习生岗 3:腾讯Java面试题-高级 4:字节跳动Java面试题 5:字节跳动Java面试题-大数据方向 6:百度Java面试题 7:蚂蚁金服Java…

深入理解 Hadoop 上的 Hive 查询执行流程

在 Hadoop 生态系统中,Hive 是一个重要的分支,它构建在 Hadoop 之上,提供了一个开源的数据仓库系统。它的主要功能是查询和分析存储在 Hadoop 文件中的大型数据集,包括结构化和半结构化数据。Hive 在数据查询、分析和汇总方面发挥…

java数组与集合框架(一) -- 数据结构,数组

数据结构 概述 为什么要讲数据结构? 任何一个有志于从事IT领域的人员来说,数据结构(Data Structure)是一门和计算机硬件与软件都密切相关的学科,它的研究重点是在计算机的程序设计领域中探讨如何在计算机中组织和存储…

CQI-17:2021 V2 英文 、中文版。特殊过程:电子组装制造-锡焊系统评审标准

锡焊作为一个特殊的工艺过程,由于其材料特性的差异性、工艺参数的复杂性和过程控制的不确定性,长期以来一直视为汽车零部件制造业的薄弱环节,并将很大程度上直接导致整车产品质量的下降和召回风险的上升。 美国汽车工业行动集团AIAG的特别工…

154 Linux C++ 通讯架构实战9 ,信号功能添加,信号使用sa_sigaction 回调,子进程添加,文件IO详谈,守护进程添加

初始化信号 使用neg_init_signals(); 在nginx.cxx中的位置如下 //(3)一些必须事先准备好的资源,先初始化ngx_log_init(); //日志初始化(创建/打开日志文件),这个需要配置项,所以必须放配置文件载入的后边;//(4)一些初…

Hello算法8:堆

Hello算法8:堆 定义 堆heap是满足特定条件的完全二叉树(只有最底层节点未填满,且节点靠左填充),主要有以下两种: 大顶堆:任意节点的值≥其子节点的值 小顶堆:任意节点的值≤子节点的值 堆的常用操作 方…

最小覆盖子串-java

最小覆盖子串-java 题目描述 : 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必…

阿里云2核4G云服务器支持多少人同时在线?并发数计算?

阿里云2核4G服务器多少钱一年?2核4G配置1个月多少钱?2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

语音识别:基于HMM

HMM语音识别的解码过程 从麦克风采集的输入音频波形被转换为固定尺寸的一组声学向量: 其中是维的语音特征向量(例如MFCC)。 解码器尝试去找到上述特征向量序列对应的单词(word)的序列: 单词序列的长度是。…

HAProxy + Vitess负载均衡

一、环境搭建 Vitess环境搭建: 具体vitess安装不再赘述,主要是需要启动3个vtgate(官方推荐vtgate和vtablet数量一致) 操作: 在vitess/examples/common/scripts目录中,修改vtgate-up.sh文件,…

计算机网络——32差错检测和纠正

差错检测和纠正 错误检测 EDC 差错检测和纠错位(冗余位) D 数据由差错检测保护,可以包含头部字段 错误检测不是100%可靠的 协议会泄露一些错误,但是很少更长的EDC字段可以得到更好的检测和纠正效果 奇偶校验 单bit奇偶校验 …

opejdk11 java 启动流程 java main方法怎么被jvm执行

java启动过程 java main方法怎么被jvm执行 java main方法是怎么被jvm调用的 1、jvm main入口 2、执行JLI_Launch方法 3、执行JVMInit方法 4、执行ContinueInNewThread方法 5、执行CallJavaMainInNewThread方法 6、创建线程执行ThreadJavaMain方法 7、执行ThreadJavaMain方法…

YOLOv9改进策略 :主干优化 | ConvNeXtV2:适应自监督学习,让 CNN “再一次强大”?

💡💡💡本文改进内容:完全卷积掩码自编码器框架 ConvNeXt V2,它显著提高了纯convnet在各种识别基准上的性能,包括ImageNet分类,COCO目标检测和ADE20k分割。还提供了各种尺寸的预训练ConvNeXt v2模型,从而在ImageNet上具有76.7%精度的3.7M Atto model和88.9%精度的650…

CrossOver软件2024免费 最新版本详细介绍 CrossOver软件好用吗 Mac电脑玩Windows游戏

CrossOver是一款由CodeWeavers公司开发的软件,它可以在Mac和Linux等操作系统上运行Windows软件,而无需在计算机上安装Windows操作系统。这款软件的核心技术是Wine,它是一种在Linux和macOS等操作系统上运行Windows应用程序的开源软件。 Cross…

本地虚拟机服务器修改站点根目录并使用域名访问的简单示例

说明:本文提及效果是使用vmware虚拟机,镜像文件是Rocky8.6 一、配置文件路径 1. /etc/httpd/conf/httpd.conf #主配置文件 2. /etc/httpd/conf.d/*.conf #调用配置文件 调用配置文件的使用: vim /etc/httpd/conf.d/webpage.conf 因为在主配…

【STM32 HAL库SPI/QSPI协议学习,基于外部Flash读取。】

1、SPI协议 简介 SPI 协议是由摩托罗拉公司提出的通讯协议 (Serial Peripheral Interface),即串行外围设备接口,是 一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率 较高的场合。 SPI 物理层 SPI 通讯…

【讲解下Docker in Docker的原理与实践】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

elementUI this.$msgbox msgBox自定义 样式自定义 富文本

看这个效果是不是很炫?突出重点提示内容,对于用户交互相当的棒! 下来说说具体实现: let self = this const h = self.$createElement; this.$msgbox({title: null,message: h("p", {style: "margin-top:10px"}, [h("i", {class: "el-i…

Linux——将云服务器作为跳板机,frp实现内网穿透

文章目录 操作步骤1. 准备工作:2. 配置frp服务器端:3. 配置frp客户端:4. 启动frp客户端:5. 测试连接:6. 安全注意事项: 云服务器性能分析阿里云具体操作步骤1. 购买:2. 登录:3. 首次…