jvm面试题30问

什么是JVM的跨平台?

在这里插入图片描述

什么是JVM的语言无关性?

在这里插入图片描述

什么是JVM的解释执行

在这里插入图片描述

什么是JIT?

在这里插入图片描述
JIT:在Java编程语言和环境中,即时编译器(JIT compiler,just-in-time compiler)是一个把Java的字节码(包括需要被解释的指令的程序)转换成可以直接发送给处理器的指令的程序。

对象一定是在堆中创建吗?

几乎所有的对象都是在堆中创建,但这不是绝对。
热点代码指的是在程序运行时被频繁执行的代码段。
对象逃逸是指当我们在某个方法里创建了一个对象,这个对象除了被这个方法引用,还在方法体之外被其它的变量引用。
在这里插入图片描述

讲一讲JVM的10种垃圾回收器

在这里插入图片描述

什么是垃圾回收中的STW?

STW(stop the world)
会造成用户的卡顿!用户体验非常差!
在这里插入图片描述

什么是可达性分析算法?

可达性的链路分析
做完可达性分析之后,可达的对象就是存活的对象,反之,没有可达的对象就是垃圾,完成JVM中存活对象和垃圾对象的判断!
如果不使用可达性分析的话,使用引用计数法,循环引用的对象计数不为0。
在这里插入图片描述

JVM中的垃圾回收算法

JVM从诞生到现在只有三种垃圾回收算法,分别是:复制算法、标记清除算法和标记整理算法。
复制算法:将可用的内存一分为二,交换复制。效率比较高,适合于新生代。空间利用率只有50%。
标记清除算法:根据可达性分析进行标记,红色不可回收,灰色可回收。效率可以,但是垃圾回收之后内存不连续,存在内存碎片,大对象无法分配。
标记整理算法:在标记清除算法的基础上把存活对象移动到堆空间的一端,从而完成空间的整理。空间利用率可以,但效率比较低。
三种算法各有所长,又各有所短。
在这里插入图片描述

JVM的分代模型

新生代和老年代,在不同的代里面采用不同的垃圾回收算法
**为什么要进行分代?**因为对象的生命周期不一样,有的对象朝生夕死,但是有的对象生命周期比较长,如果堆内存不分代,所有对象存在相同的区域,那么垃圾回收的时候就会变的很复杂。分代后,垃圾回收就可以按区域的不同,采用不同的回收算法,保证整体垃圾回收的高效性。
在这里插入图片描述

CMS垃圾回收器

CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。
垃圾回收依赖于可达性分析算法
GC Roots数量很少,一般不会很多,可以在初始标记的时候全暂停。
CMS垃圾回收器的特点
优点:进行垃圾回收的时候,部分工作可以并发,暂停时间比较短;
缺点:业务线程和垃圾回收线程同时运行,cpu核心数小于4的时候,CMS垃圾回收器的效率是比较低的;并发清理会出现一种情况,业务线程可以会产生新垃圾(浮动垃圾),本次垃圾回收是处理不了的;并发清理标记清除算法,会产生内存碎片,空间不连续,大对象无法分配。
在这里插入图片描述

G1垃圾回收器

为了实现暂停时间的可预测,使用化整为零的思想,将堆空间分成大小相等的一些独立区域,每个区域叫做region。
在这里插入图片描述

JVM的运行时数据区有哪些?

在这里插入图片描述
在这里插入图片描述

什么是堆内存?堆内存包含哪些部分?

为了提高复制算法的空间利用率,Eden占80%。(绝大数对象都是朝生夕死)
对象一般要经过15次垃圾回收,才能进入老年代。
不同的代采用不同的垃圾回收算法。
在这里插入图片描述

什么是内存溢出?

在这里插入图片描述

什么是内存泄漏?与内存溢出有什么关系?

在这里插入图片描述

对象头包括哪些部分?

在这里插入图片描述
在这里插入图片描述

给定一个具体的类,请分析对象的内存占用

在这里插入图片描述
在这里插入图片描述
对象的整个占用大小应该是8字节的整数倍。
最终实际占用:40个字节。

常用的JVM启动参数有哪些?

在这里插入图片描述
在这里插入图片描述

设置堆空间的最大值(-Xmx)应该要考虑哪些因素?

在这里插入图片描述
在这里插入图片描述

Java8默认使用的垃圾回收器是什么?

在这里插入图片描述

什么是并行垃圾收集?

在这里插入图片描述

什么是STW?什么是安全点,什么是安全区域?

STW STOP THE WORLD
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果CPU使用率突然飙升,你会怎么排查?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CMS、G1垃圾回收器中的三色标记你了解吗

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类加载与类加载器

在这里插入图片描述
在这里插入图片描述

什么是双亲委派机制?它有什么作用?

在这里插入图片描述

G1收集器有哪些特点

在这里插入图片描述
在这里插入图片描述

哪些手段来排除OOM的问题?

在这里插入图片描述

使用过那些JVM相关的命令工具?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fireworks AI和MongoDB:依托您的数据,借助优质模型,助力您开发高速AI应用

我们欣然宣布 MongoDB与 Fireworks AI 正携手合作 让客户能够利用生成式人工智能 (AI) 更快速、更高效、更安全地开展创新活动 Fireworks AI由 Meta旗下 PyTorch团队的行业资深人士于 2022 年底创立,他们在团队中主要负责优化性能、提升开发者体验以及大规模运…

Ubuntu22.04有线网络连接但是没网,网络图标显示问号

Ubuntu22.04有线网络连接但是没网,网络图标显示问号 问题描述解决方案 问题描述 有线网络连接 但是没网 且网络图标显示问号 解决方案 进入设置->隐私->在 连接情况 中关闭连接检查 关闭后 网络正常

vue 时间轴页面 自己的写法 欢迎交流指正

<div class"first-box"><!--贯穿线--><div class"vertical-line-wrap"><div class"vertical-line"></div><div class"vertical-line-arrow"></div></div><!--开始--><div c…

用于图生成的自回归扩散模型 笔记

1 Title Autoregressive Diffusion Model for Graph Generation&#xff08;Lingkai Kong、Jiaming Cui、Haotian Sun、Yuchen Zhuang、B. Aditya Prakash、Chao Zhang&#xff09;【PMLR 2022】 2 Conclusion This study propose an autoregressive diffusion model …

iOS ------ JSONModel源码

一&#xff0c;JSONModel的基本使用 1&#xff0c;基本使用方法 - (instancetype)initWithDictionary:(NSDictionary *)dict error:(NSError **)err; - (instancetype)initWithData:(NSData *)data error:(NSError **)error; - (instancetype)initWithString:(NSString *)str…

Python深度学习基于Tensorflow(3)Tensorflow 构建模型

文章目录 数据导入和数据可视化数据集制作以及预处理模型结构低阶 API 构建模型中阶 API 构建模型高阶 API 构建模型保存和导入模型 这里以实际项目CIFAR-10为例&#xff0c;分别使用低阶&#xff0c;中阶&#xff0c;高阶 API 搭建模型。 这里以CIFAR-10为数据集&#xff0c;C…

9.4.k8s的控制器资源(job控制器,cronjob控制器)

目录 一、job控制器 二、cronjob控制器 一、job控制器 job控制器就是一次性任务的pod控制器&#xff0c;pod完成作业后不会重启&#xff0c;其重启策略是&#xff1a;Never&#xff1b; 简单案例 启动一个pod&#xff0c;执行完成一个事件&#xff0c;然后pod关闭&#xff1b;…

初识指针(2)<C语言>

前言 前文介绍完了一些指针基本概念&#xff0c;下面介绍一下&#xff0c;const关键字、指针的运算、野指针的成因以及避免&#xff0c;assert函数等。 目录 const&#xff08;常属性&#xff09; 变量的常属性 指针的常属性 指针的运算 ①指针 -整数 ②指针-指针 ③指针与…

【Osek网络管理测试】[TG3_TC6]等待总线睡眠状态_2

&#x1f64b;‍♂️ 【Osek网络管理测试】系列&#x1f481;‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件&#xff1a;VN1630 软件&#xff1a;CANoe 2.测试目的 验证DUT在满足进入等待睡眠状态的条件时是否进入该状态 …

17 内核开发-内核内部内联汇编学习

​ 17 内核开发-内核内部内联汇编学习 课程简介&#xff1a; Linux内核开发入门是一门旨在帮助学习者从最基本的知识开始学习Linux内核开发的入门课程。该课程旨在为对Linux内核开发感兴趣的初学者提供一个扎实的基础&#xff0c;让他们能够理解和参与到Linux内核的开发过程中…

英伟达推出视觉语言模型:VILA

NVIDIA和MIT的研究人员推出了一种新的视觉语言模型(VLM)预训练框架&#xff0c;名为VILA。这个框架旨在通过有效的嵌入对齐和动态神经网络架构&#xff0c;改进语言模型的视觉和文本的学习能力。VILA通过在大规模数据集如Coy0-700m上进行预训练&#xff0c;采用基于LLaVA模型的…

VBA编程之条件语句

上一篇我们讲述了条件语句以及分支。文章的最后用到了逻辑运算符“And“那么今天我们来聊一聊逻辑运算符和Select……Case结构。 在学习前我们先来了解一下&#xff0c;在生活中我们经常说”这个包括那个“&#xff0c;”你或者他“&#xff0c;”不是“等等。而这里”包括“和…

esp32+mqtt协议+paltformio+vscode+微信小程序+温湿度检测

花费两天时间完成了这个项目&#xff08;不完全是&#xff0c;属于是在resnet模型训练和温湿度检测两头跑......模型跑不出来&#xff0c;又是第一次从头到尾独立玩硬件&#xff0c;属于是焦头烂额了......&#xff0c;完成这个项目后&#xff0c;我的第一反应是写个csdn&#…

[每日AI·0506]巴菲特谈 AI,李飞飞创业,苹果或将推出 AI 功能,ChatGPT 版搜索引擎

AI 资讯 苹果或将推出 AI 功能&#xff0c;随 iPhone 发布2024 年巴菲特股东大会&#xff0c;巴菲特将 AI 类比为核技术 巴菲特股东大会 5 万字实录消息称 OpenAI 将于 5 月 9 日发布 ChatGPT 版搜索引擎路透社消息&#xff0c;斯坦福大学 AI 领军人物李飞飞打造“空间智能”创…

论文辅助笔记:Tempo 之 model.py

0 导入库 import math from dataclasses import dataclass, asdictimport torch import torch.nn as nnfrom src.modules.transformer import Block from src.modules.prompt import Prompt from src.modules.utils import (FlattenHead,PoolingHead,RevIN, )1TEMPOConfig 1.…

【C++】 认识多态 + 多态的构成条件详细讲解

前言 C 目录 1. 多态的概念2 多态的定义及实现2 .1 虚函数&#xff1a;2 .2 虚函数的重写&#xff1a;2 .2.1 虚函数重写的两个例外&#xff1a; 2 .3 多态的两个条件&#xff08;重点&#xff09;2 .4 析构函数为啥写成虚函数 3 新增的两个关键字3.1 final的使用&#xff1a;3…

09_电子设计教程基础篇(电阻)

文章目录 前言一、电阻原理二、电阻种类1.固定电阻1、材料工艺1、线绕电阻2、非线绕电阻1、实心电阻1、有机实心电阻2、无机实心电阻 2、薄膜电阻&#xff08;常用&#xff09;1、碳膜电阻2、合成碳膜电阻3、金属膜电阻4、金属氧化膜电阻5、玻璃釉膜电阻 3、厚膜电阻&#xff0…

vue2实现生成二维码和复制保存图片功能(复制的同时会给图片加文字)

<template><divstyle"display: flex;justify-content: center;align-items: center;width: 100vw;height: 100vh;"><div><!-- 生成二维码按钮和输入二维码的输入框 --><input v-model"url" placeholder"输入链接" ty…

智能家居1 -- 实现语音模块

项目整体框架: 监听线程4&#xff1a; 1. 语音监听线程:用于监听语音指令&#xff0c; 当有语音指令过来后&#xff0c; 通过消息队列的方式给消息处理线程发送指令 2. 网络监听线程&#xff1a;用于监听网络指令&#xff0c;当有网络指令过来后&#xff0c; 通过消息队列的方…

SpringSecurity6 学习

学习介绍 网上关于SpringSecurity的教程大部分都停留在6以前的版本 但是&#xff0c;SpringSecurity6.x版本后的内容进行大量的整改&#xff0c;网上的教程已经不能够满足 最新的版本使用。这里我查看了很多教程 发现一个宝藏课程&#xff0c;并且博主也出了一个关于SpringSec…