JAVA工程师面试专题-JVM篇

目录

一、运行时数据区

1、说一下JVM的主要组成部分及其作用?

2、说一下 JVM 运行时数据区 ?

3、说一下堆栈的区别

4、成员变量、局部变量、类变量分别存储在什么地方?

5、类常量池、运行时常量池、字符串常量池有什么区别?

6、JVM为什么使用元空间替换永久代

二、垃圾回收

1、GC是什么,为什么要GC?

2、Java 中都有哪些引用类型?

3、JVM如何判断一个对象是否可以被回收?

4、GC Root有哪些?

5、讲一下新生代、老年代、永久代的区别

6、JVM 分代年龄为什么是 15 ?可以是 25 吗?

7、Minor GC、Major GC、Full GC是什么

8、Minor GC过程

9、JVM 垃圾回收算法有哪些?

10、说一下 JVM 有哪些垃圾回收器?

11、JDK各版本默认垃圾收集器

12、G1垃圾收集器的特点

(1)并行和并发

(2)分代收集

(3)空间整合

(4)可预测的停顿时间模型

(5)缺点:

13、G1垃圾回收过程

14、JVM 中的三色标记法是什么?

15、说一下 CMS 垃圾回收器的工作原理

16、CMS收集器和G1收集器的区别

(1)使用范围不一样

(2)STW的时间

(3)垃圾碎片

(4)垃圾回收的过程不一样

17、如何选择垃圾收集器?


一、运行时数据区

1、说一下JVM的主要组成部分及其作用?

两个子系统:

  • 类加载器:根据给定的全限定名类名(如:java.lang.Object)来装载class文件到Runtime data area中的method area

  • 执行引擎:执行classes中的指令

两个组件:

  • 运行时数据区:这就是我们常说的JVM的内存

  • 本地接口:与native libraries交互,是其它编程语言交互的接口

2、说一下 JVM 运行时数据区 ?

  • 程序计数器(Program Counter Register):当前线程所执行的字节码的行号指示器,字节码解析器的工作是通过改变这个计数器的值,来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能,都需要依赖这个计数器来完成(为什么要线程计数器?因为线程是不具备记忆功能)。

  • Java 虚拟机栈(Java Virtual Machine Stacks):每个方法在执行的同时都会在Java 虚拟机栈中创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息(栈帧就是Java虚拟机栈中的一个单位)。

  • 本地方法栈(Native Method Stack):与虚拟机栈的作用是一样的,只不过虚拟机栈是服务 Java方法的,而本地方法栈是为虚拟机调用 Native 方法服务的(Native 关键字修饰的方法是看不到的,Native 方法的源码大部分都是 C和C++ 的代码)。

  • Java 堆(Java Heap):Java 虚拟机中内存最大的一块,是被所有线程共享的,几乎所有的对象实例都在这里分配内存。

  • 方法区(Methed Area)

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

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

相关文章

代码随想录算法训练营29期|day57 任务以及具体安排

第九章 动态规划part14 1143.最长公共子序列 /*二维dp数组 */ class Solution {public int longestCommonSubsequence(String text1, String text2) {// char[] char1 text1.toCharArray();// char[] char2 text2.toCharArray();// 可以在一開始的時候就先把text1, text2 轉成…

week04day01(爬虫)

一. 爬虫 只爬取公开的信息,不能爬取未公开的后台数据 1.爬虫的合法性 法无禁止皆可为 -- 属于法律的灰色地带https://www.tencent.com/robots.txt -- 网站/robots.txt 可以查看禁止爬取的内容 2. URL Uniform Resource Locator 统一资源定位符https://www.…

ACL权限-访问控制列表

一、简介 ACL(access control list)访问控制列表,可以对单一的用户或者组设置对文件或目录的独立rwx权限。 二、文件系统是否支持ACL权限 ACL权限是传统的Unix-like操作系统权限的额外支持项目,要有文件系统的支持,目前…

Learn HTML in 1 hour

website address https://www.youtube.com/watch?vHD13eq_Pmp8 excerpt All right, what’s going on? everybody. It’s your Bro, hope you’re doing well, and in this video I’m going to help you started with html; so sit back, relax and enjoy the show. If y…

网络爬虫基础(上)

1. 爬虫的基本原理 爬虫就是在网页上爬行的蜘蛛,每爬到一个节点就能够访问该网页的信息,所以又称为网络蜘蛛; 网络爬虫就是自动化从网页上获取信息、提取信息和保存信息的过程; 2. URL的组成部分 URL全称为Uniform Resource L…

基于Mapbox展示GDAL处理的3D行政区划展示实践

目录 前言 一、Gdal数据处理 1、数据展示 2、Java数据转换 二、Mapbox可视化 1、定义Mapbox地图 2、地图初始化 3、创建地图 三、界面优化 1、区域颜色设置 2、高度自适应和边界区分 3、中文标注 总结 前言 最近有遇到一个需求,用户想在地图上把行政区划…

Android 9.0 禁用插入耳机时弹出的保护听力对话框

1.前言 在9.0的系统rom定制化开发中,在某些产品中会对耳机音量调节过高限制,在调高到最大音量的70%的时候,会弹出音量过高弹出警告,所以产品 开发的需要要求去掉这个音量弹窗警告功能,接下来就来具体实现这个功能 2.禁用插入耳机时弹出的保护听力对话框的核心类 framework…

浅谈ORM框架

文章目录 一、什么是ORM框架?二、常见的ORM框架(持久层框架)2.0 什么是持久化2.1 Hibernate2.1.1、Hibernate的使用步骤 2.2 mybatis2.3 mybatis plus2.4 jpa springdata2.5 jfinal 三、ORM框架的优缺点?3.1 优点3.1.1、减少代码的重复量,提高…

Android 基础技术——Framework

笔者希望做一个系列,整理 Android 基础技术,本章是关于 Framework 简述 Android 系统启动流程 当按电源键触发开机,首先会从 ROM 中预定义的地方加载引导程序 BootLoader 到 RAM 中,并执行 BootLoader 程序启动 Linux Kernel&…

使用Flex布局在HTML中实现双行夹批效果

古代小说中经常有评点和批注,为了区别正文和批注,一般将批注排版成双行夹批的形式。我们知道,在Word中只需要先选择批注文字,然后通过“开始”菜单“段落”面板上字符缩放工具组里的“双行合一”命令,就可以很容易实现…

Android13 针对low memory killer内存调优

引入概念 在旧版本的安卓系统中,当触发lmk(low memory killer)的时候一般认为就是内存不足导致,但是随着安卓版本的增加lmk的判断标准已经不仅仅是内存剩余大小,io,cpu同样会做评判,从而保证设备…

vue实现列表自动无缝滚动列表

大家好,今天给大家分享的知识是vue基于vue-seamless-scroll实现自动无缝滚动列表 一、实现自动滚动 最近在开发过程中遇到一个问题,就是需要实现自动滚动列表,效果图如下 就是这样一个列表在自动循环展示。在这里我是运用的 vue-seamless-sc…

HTTP的详细介绍

目录 一、HTTP 相关概念 二、HTTP请求访问的完整过程 1、 建立连接 2、 接收请求 3、 处理请求 3.1 常见的HTTP方法 3.2 GET和POST比较 4、访问资源 5、构建响应报文 6、发送响应报文 7、记录日志 三、HTTP安装组成 1、常见http 服务器程序 2、apache介绍和特点 …

专转本的三道难关

道阻且长,路途中的艰辛只有亲身经历过转本的人才能感同身受,这三道难关也是每个升本人都会经历的。尤其是最后一个(o(╥﹏╥)o)!!! 01 选择大于努力 很多人想专转本都是为了圆本科的梦&a…

redis的缓存穿透,缓存并发,缓存雪崩,缓存问题及解决方案

缓存穿透 问题原因 解决方案 缓存并发 缓存雪崩 缓存失效时间设置一致导致的。 解决方案: 1)方案一 2)方案二 如何设计一个缓存策略,缓存热点数据?

实现RAG管道中的上下文压缩和过滤

每日推荐一篇专注于解决实际问题的外文,精准翻译并深入解读其要点,助力读者培养实际问题解决和代码动手的能力。 欢迎关注公众号(NLP Research),及时查看最新内容 原文标题:Implement Contextual Compression And Filtering In RAG Pipeline 原文地址:https://medium.…

新版AI系统ChatGPT源码支持GPT-4/支持AI绘画去授权

源码获取方式 搜一搜:万能工具箱合集 点击资源库直接进去获取源码即可 如果没看到就是待更新,会陆续更新上 新版AI系统ChatGPT网站源码支持GPT-4/支持AI绘画/Prompt应用/MJ绘画源码/PCH5端/免授权,支持关联上下文,意间绘画模型…

[极客挑战2019]HTTP

这道题考察的是http请求头字段的含义和使用; 具体如下 Referer:来源地址 User-Agent:客户端配置信息:浏览器类型、版本、系统类型等 X-Forwarded-For:代理地址,即数据发出的地址 开始解题:(对我这初学者真的烧脑&a…

Qt应用-视频播放器实例

本文讲解Qt视频播放器应用实例。 实现功能 视频的播放暂停、拖动进度控制,声音控制播放列表控制播放区域的暂停控制,全屏控制等。 界面设计 <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"><class>frmVide…

深度学习在时间序列预测的总结和未来方向分析

2023年是大语言模型和稳定扩散的一年&#xff0c;时间序列领域虽然没有那么大的成就&#xff0c;但是却有缓慢而稳定的进展。Neurips、ICML和AAAI等会议都有transformer 结构(BasisFormer、Crossformer、Inverted transformer和Patch transformer)的改进&#xff0c;还出现了将…