JVM 全景图

今天我重新复习了一下 jvm 的一些知识点。我以前觉得 jvm 的知识点很多很碎,而且记起来很困难,但是今天我重新复习了一下,对这些知识点进行了简单的梳理之后,产生了不一样的看法。虽然 jvm 的知识点很碎,但是如果你真的对这些知识很熟的话,应该是可以将这些知识点通过一条主线或者几条主线给串联起来的。今天趁着复习到这里,我就写一下关于 jvm 的知识全景图。

在我的大脑里,jvm 有5条主线:垃圾回收、年轻代与老年代、垃圾回收器、内存模型、类加载。下面我一条主线一条主线的来说。当然,我会写的很省略,因为我已经理解了,而且我感觉写的太长的话很麻烦,真的很累。

垃圾回收

1、为什么要有垃圾回收?

2、Java 垃圾回收中是如何判断一个对象死亡的?

3、关于可达性分析,知道哪些可以作为 GC ROOT 吗?

栈帧:JVM 内存结构中虚拟机栈,栈中有栈帧,栈帧指向堆对象,所以栈帧是 GC Roots

类的静态变量是 GC roots

4、垃圾回收算法介绍一下?

5、垃圾回收会发生在哪几个区域?

主要是在堆上,尤其是在新生代中

年轻代与老年代

1、为什么要区分年轻代和老年代?

2、 什么是STW?

3、哪些对象会进入老年代?

4、什么时候会进行年轻代GC?

5、什么时候会进行老年代GC?

反正就是如果感觉老年代空间放不下或者真的放不下了,就要 Old GC。

垃圾回收器

1、常用的垃圾回收器有哪些?

这个时候我应该说我比较熟 CMS 和 G1,对 ParNew 和 ParOld 不太熟,然后引导面试官问我关于 CMS 和 G1 的问题。

2、CMS垃圾回收器介绍一下

3、G1回收器了解吗?介绍一下

JVM 内存模型

1、能说一下JVM运行时的内存区域划分吗?

2、堆和栈有啥区别?介绍一下

3、对象一定是在堆在分配的吗?

类加载

1、类加载器有哪些?介绍几个常见的类加载器

2、双亲委派原则了解吗?介绍一下

3、为什么需要双亲委派?

确保Java类的唯一性,避免类重复加载

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

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

相关文章

基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作

第一章、理论篇:以问题导入的方式,深入掌握原理基础 什么是MaxEnt模型? MaxEnt模型的原理是什么?有哪些用途? MaxEnt运行需要哪些输入文件?注意那些事项? 融合R语言的MaxEnt模型的优势&…

Pycharm Conda虚拟环境 设置终端进入特定分支而不是主环境base

Pycharm Conda虚拟环境 设置终端进入特定分支而不是主环境base 问题描述 我的电脑有pycharm和anaconda。pycharm采用conda作为管理工具。我每次建立一个pycharm项目,都会为这个项目建立对应的conda解释器。当我希望采用pycharm里的终端时,我希望进入的…

科技云报道:卷完参数卷应用,大模型落地有眉目了?

科技云报道原创。 国内大模型战场的比拼正在进入新的阶段。 随着产业界对模型落地的态度逐渐回归理性,企业客户的认知从原来的“觉得大模型什么都能做”的阶段,已经收敛到“大模型能够给自身业务带来什么价值上了”。 2023 年下半年,不少企…

[羊城杯 2020]Easyphp2 ---不会编程的崽

摆烂一周了,继续更!!题目还是简单哦。 提示明显要我们修改数据包,第一反应是修改referer。试了一下不太对。url很可能存在文件包含 使用伪协议读取一下源码吧。它过滤了base64关键字。尝试url编码绕过,这里可以使用二…

基于Android封装Java-WebSocket,开箱即食

前置条件,build.gradle引入依赖: implementation org.java-websocket:Java-WebSocket:1.4.0 封装websocket类: public class WsHelper {private static Option option new Option();public JWebSocketClient client;public Boolean ping_…

服务器的云备份和快照有哪些区别?

服务器的云备份和快照是两种常见的数据保护和恢复机制,它们有一些区别: 1. 云备份: 定义:云备份是将服务器上的数据定期备份到云存储中,以保护数据免受意外删除、数据损坏、病毒感染等风险。 特点: 备份数据…

Android 13 aosp hiddenapi config

Android 11 hiddenapi路径 frameworks/base/config/hiddenapi-greylist-packages.txtAndroid 13 hiddenapi路径 frameworks/base/boot/hiddenapi/hiddenapi-unsupported-packages.txt

c++STL list 简单模拟实现

分享一份cstl库list简单模拟实现。 如果能帮到你的话请点个免费的赞吧&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; ​ #pragma once #include<assert.h>namespace my_list {template<class T>class ListNode {typedef ListNode<T> Node…

uniApp移动端安卓中使用webview打开pdf文件是下载而不是预览解决方案

关键 使用到 pdf.js 第一步&#xff1a; 下载pdf.js 文件到项目根目录 也就是这个文件 附下载地址&#xff1a;uni-app-pdf: 在uni-app中使用pdf.js实现在手机上打开pdf 也可通过其他方法下载 如npm 第二步&#xff1a; 拷贝hybrid文件到项目根目录 第三步&#xff1a;…

HarmonyOS实战开发-通过screenshot模块实现屏幕截图 。

介绍 本示例展示全屏截图和屏幕局部截图。 本示例通过screenshot模块实现屏幕截图 &#xff0c;通过window模块实现隐私窗口切换&#xff0c;通过display模块查询当前隐私窗口。 效果预览 使用说明&#xff1a; 点击右上角图标打开弹窗&#xff0c;选择截屏&#xff0c;展示…

AI智能电销机器人获客的方法

随着计算机和AI技术的发展&#xff0c;普通的电话营销已经逐步脱离人工操作的方法&#xff0c;转向电脑智能拨打。很多电销智能机器人已经达到让客户分辨不出真假人工的效果&#xff0c;电销智能机器人的获客价值有哪些&#xff1f;电销智能机器人的获客渠道包括哪些&#xff1…

stable-diffusion-webui安装教程

现在AI开始进入绘画领域,并且能自动根据文本来创建图片出来,这是一个划时代的进步。 这时候,我也不能落后,要紧跟上时代的步伐,那么也来学习一下stable-diffusion的使用,这样也算多一项对技术的认识,提高对AI的认知。 从网上看到很多stable-diffusion-webui的安装,其…

为什么苹果 Mac 电脑需要使用清理软件?

尽管 Apple Mac 电脑因其卓越的性能、简洁高效的 macOS 操作系统及独特的美学设计备受全球用户青睐&#xff0c;但任何电子设备在长期使用后都难以避免面临系统资源日渐累积的问题。其中一个重要维护需求在于&#xff0c;随着使用时间的增长&#xff0c;Mac电脑可能会由于系统垃…

element-ui 在Popover弹框中使用Select选择器,Vue3

bug描述&#xff1a; 当选择完select的时候,popover也会退出。 解决&#xff1a; popover组件的的关闭是当点击组件外的元素时会关闭&#xff0c;select虽然是写在组件内的&#xff0c;但是select有一个默认属性teleported“true” 会把它默认插到 body 元素&#xff0c;我…

html表单1:表单基础

表单 网页中的一个交互区域 form表单标签属性 action:选择将表单传递给谁处理 target:选择跳到那个页面(_self/_blank…) method:选择请求方式 input输入控件 type"text"表示为输入框 ,name属性中传入接收方规定的参数 value代表输入框中的默认值 maxlength…

强行让Java和Go对比一波[持续更新]

概述 很多Java开发如果想转Golang的话&#xff0c;比较让Java开发蛋疼的第一是语法&#xff0c;第二是一些思想和设计哲学的Gap&#xff0c;所以我这儿强行整理一波Java和Golang的对比&#xff0c;但是由于GO和Java在很多方面都有不同的设计&#xff0c;所以这些对比的项可以更…

Docker容器(五)Docker Compose

一、概述 1.1介绍 Docker Compose是Docker官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。Compose 是 Docker 公司推出的一个工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml&#xff0c;…

分布式主键ID生成策略

业务系统对分布式ID的要求 唯一性&#xff1a;在分布式系统中&#xff0c;每个节点都需要生成唯一的标识符来确保数据的唯一性。传统的单点生成ID方式无法满足分布式环境下的需求&#xff0c;而分布式ID能够在整个系统中保证每个节点生成的ID都是唯一的。 顺序性&#xff1a;某…

【Android】一文总结Android的init语言

&#x1f53a;导读&#xff1a; 1、在Android系统中&#xff0c;存在多个以xxx.rc形式命名的文件&#xff0c;这些文件可以理解成Android系统配置文件&#xff0c;在Android系统启动过程中&#xff0c;由init进程加载并解析&#xff0c;这些文件中的内容形成了Android的init语言…

hadoop streaming及hadoop官方文档

由于hadoop的map reduce框架计算性能已经比较老旧&#xff0c;有很多新的框架性能有很大提升&#xff0c;已经很少有基于相关api进行开发的项目&#xff0c;但hadoop streaming工具能帮助开发者兼容任何语言地运行自己的分布式程序&#xff0c;下面来简单介绍。 官方api文档地…