jvm简单八股

1、jvm中内存分为那几个区域,1.7和1.8

jvm 中主要有 程序计数器、虚拟机栈、本地方法栈、堆、方法区、直接内存。
线程私有的有:程序计数器、虚拟机栈、本地方法栈
线程共有的有:堆、方法区、直接内存
堆空间又可以分为:新时代、老年代、永久代(1.8后叫元空间);1.7的永久代使用的是jvm的内存,1.8后的元空间使用的是本地内存
新时代分为:eden,s0,s1 区其中比例为(8:1:1)

2、jvm对象的创建过程(五步)

1、类加载检查
2、内存分配
3、初始化0值
4、填充对象头(对象年龄-最大为15,对象头中只给分配了4位空间,hash值,地址)
5、执行init
对象内存分配两种方式:指针碰撞、空闲列表
对象分配原则为:1、对象优先分配在eden区,2、长期存活的进入老年代、3、大对象直接进入老年代
访问对象的两种方式:句柄和直接指针

3、垃圾相关

1、垃圾检测算法:
1、引用计数法;
2、可达性分析算法
(其中链表起始位置为:GCRoot可以为:1、方法区中类静态属性引用的对象,2、方法区中常量引用对象、3、本地方法区中引用的对象、4、虚拟机栈中引用的对象、5、所有被同步锁持有的对象)
2、垃圾回收算法:
1、标记-清除
2、标记-复制(也叫复制算法,多用于年轻代的垃圾回收算法)
3、标记整理 (多用于老年代的垃圾回收算法)
4、分代收集(Java中对象大多数存活时间是很短的)

4、引用相关

强引用 软引用 弱引用 虚引用
强引用对象:一般对象都是强引用对象,当垃圾回收时候发现空间不足不会清除,而是直接报错
软引用对象:当垃圾回收时候,空间不足时候才回去回收
弱引用对象:当垃圾回收扫描到了这个对象时候就会回收
虚引用对象:不能直接使用,要搭配引用队列《ReferenceQueue》一块使用,一般用来跟踪对象被垃圾回收的活动

垃圾回收器

1、serial 收集器(串行收集器)
2、ParNew 收集器(serial 收集器的多线程版本)
3、serial Old 收集器(单线程)
4、parallel Scavenge 收集器(吞吐量高)

上面的垃圾收集器算法:年轻代:复制算法 老年代:标记-整理算法

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

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

相关文章

contOS7安装docker命令及yum源更换为国内源

docker介绍 Docker是一个开源的容器化平台,通过将应用程序及其依赖打包成轻量级、可移植的容器,确保开发、测试和部署环境的一致性。Docker的核心概念包括容器、镜像、Dockerfile和镜像仓库。容器是轻量级的虚拟化技术,共享宿主机内核但保持独立运行环境,启动快且资源占用少…

SpringBoot集成Redis-6.x版本流程

SpringBoot集成Redis是我们常见的功能&#xff0c;今天我们分享一下&#xff1a; 前言&#xff1a; 1、pom包引用 <!-- Redis Starter (默认使用 Lettuce) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boo…

zookeeper Curator(3):Watch事件监听

文章目录 Curator API 常用操作 Watch事件监听NodeCachePathChildrenCacheTreeCache 本章代码已分享至Gitee: https://gitee.com/lengcz/curator01 Curator API 常用操作 Watch事件监听 zookeeper 允许用户在指定节点上注册一些Watcher &#xff0c;并且在一些特定事件触发的时…

多模态融合相机L3CAM

多模态融合相机L3CAM L3CAM是Beamagine公司推出的多模态传感器融合技术&#xff0c;结合了激光雷达&#xff08;LiDAR&#xff09;和可见光摄像头&#xff0c;旨在为自动驾驶、工业机器人和其他需要精确环境感知的应用场景提供高效、安全的解决方案。 L3CAM技术参数 L3CAM结合…

结构化思维

前言 洞悉分析方法论 系统解决管理问题 1 构建问题分析框架 1.1 摘要 &#xff08;1&#xff09;何谓问题分析和解决&#xff1f; &#xff08;2&#xff09;问题分析和解决的基本原则 1.2 什么是问题分析与决策&#xff1f; 1.3 问题解决者需要具备的四种能力 &#xf…

什么是数字签名(ECDSA)?

数字签名是区块链、数字身份认证和安全通信的核心技术之一&#xff0c;ECDSA&#xff08;椭圆曲线数字签名算法&#xff09;是目前最常见、最主流的数字签名算法之一&#xff0c;尤其在区块链系统&#xff08;如比特币、以太坊、EOS&#xff09;中广泛应用。 一、什么是数字签名…

深入剖析AI大模型:Dify的介绍

今天介绍的内容&#xff0c;跟大模型开发还是息息相关的。俗话说&#xff1a;有人的地方就是江湖&#xff01;对于我们技术其实也一样&#xff0c;一个新技术的出现&#xff0c;自然会衍生出相应的生态圈。今天的文字只是介绍&#xff0c;以后会有专门的实操篇&#xff0c;主要…

Open VSX Registry关键漏洞使攻击者可完全控制Visual Studio Code扩展市场

网络安全研究人员近日披露了 Open VSX Registry&#xff08;"open-vsx[.]org"&#xff09;中存在的一个关键漏洞。若被成功利用&#xff0c;攻击者可能完全控制整个 Visual Studio Code 扩展市场&#xff0c;造成严重的供应链风险。 漏洞详情与潜在影响 Koi Securi…

Python从入门到高手9.1节-Python中的字典类型

目录 9.1.1 理解字典类型 9.1.2 字典的类型名 9.1.3 字典的定义 9.1.4 字典的主要性质 9.1.5 好好学习&#xff0c;天天向上 9.1.1 理解字典类型 在日常生活中&#xff0c;我们常常会接触到“字典”这种数据类型&#xff0c;例如一本书籍的目录结构&#xff0c;在目录结构…

封禁UDP端口提高防御能力分析

封禁不必要的 UDP 端口 确实可以在一定程度上提高系统的防御力&#xff0c;但这并不是一个绝对的“好”或“坏”的问题&#xff0c;需要根据具体情况来判断。以下是详细分析&#xff1a; ✅ 封禁 UDP 端口能提高防御力的原因 (优点) 减少攻击面&#xff1a; 服务暴露&#xff…

阿里云-arms监控

监控java应用 若是容器集群环境&#xff0c;则选择容器服务环境 手动安装方式&#xff0c;是手动把 agent的jar包放到 ecs服务器&#xff0c;然后运行个人的spring boot服务时&#xff0c;加上一些参数&#xff0c;将agent也启动运行 手动集成-添加agent 监控的是ecs中的java应…

c语言 char *str = ““ 和 char *str = NULL 以及 char str[] = {} 区别

目录 前言char *str "" 和 char *str NULL 区别char *str NULL 和 char str[] {} 区别char *str "" 和 char str[] {} 区别char *str "" 和 const char *str "" 区别 前言 C语言指针的使用非常常见且易出错&#xff0c;这里对…

小程序入门: tab bar 实现多页面快速切换效果

在小程序开发中&#xff0c;tab bar 是实现多页面快速切换的关键组件&#xff0c;能极大提升用户体验。上一篇我们完成了基础配置&#xff0c;今天深入探索&#xff0c;打造更丰富实用的 tab bar 效果。 实现目标 这次要在小程序底部创建包含 “首页”“消息”“联系我们” 三…

Python 数据分析:numpy,抽提,多维切片索引

目录 1 示例代码2 欢迎纠错3 免费爬虫------以下关于 Markdown 编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个…

【向上教育】结构化面试概述.pdf

目 录 第一章 面试须知—面试形式 .......................................................................................................... 1 一、结构化面试 .................................................................................................…

STM32F407控制单个张大头闭环步进电机讲解与梯形加减速(HAL库)

文章目录 硬件连接CubeMX配置**使用TIM5定时器CH3,即PA2作为脉冲控制&#xff0c;PE5控制方向&#xff08;TIM5_CH4是为控制双电机做准备的可以先不配置&#xff09;** 设置占空比为50%,以下为AI讲解重要&#xff01;&#xff01;&#xff01;定时器更新中断脉冲触发原理详解PW…

MongoDB入门学习(含JAVA客户端)

0.序章 致命的面试问题&#xff1a;为什么使用MongoDB&#xff1f; 大型的分布式的文档型数据库&#xff0c;也是NoSQL数据库&#xff08;例如 redis&#xff09; MongoDB适合数据量大而价值又低的这种数据&#xff08;播放进度、评论、弹幕&#xff0c;实时数据的CRUD&…

RedisCache与StringRedisTemplate的深度对比

1. 基本概念 RedisCache ​​定位​​&#xff1a;自定义封装的Redis缓存工具类​​特点​​&#xff1a;通常针对业务场景进行了高层抽象​​典型功能​​&#xff1a; 带过期时间的缓存操作自定义序列化方式业务键前缀管理简化常用操作API StringRedisTemplate ​​定位…

HOOPS Visualize技术详解(二):3D图形系统HOOPS/3DGS的段结构与属性机制

在工业级三维可视化领域中&#xff0c;HOOPS Visualize凭借其高性能和模块化设计被广泛应用于CAD、CAM、仿真、BIM等工程软件中。其中&#xff0c;HOOPS 3D Graphics System&#xff08;简称HOOPS/3DGS&#xff09;是HOOPS Visualize的核心组件&#xff0c;承担着图形场景管理、…

随机化在临床试验中的应用与挑战

一、随机化的核心目的 1.1 控制混杂偏倚 1.1.1 平衡预后因素 确保已知/未知预后因素在组间分布均衡,避免基线不平衡影响结果。 1.1.2 避免选择偏倚 防止研究者或患者主观选择分组,保障组间差异归因于干预。 1.2 保障统计推断有效性 1.2.1 满足独立性假设 满足统计检验…