自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 面试模拟考试

面试模拟考试仅作为笔记,码字不易,转载请标明出处。文章目录面试模拟考试前言前言仅作为笔记1.MySQL事务的四种特性,分别解释;2.隔离性是如何做到的?四种隔离级别,每种隔离级别实现的原理?3.MySQL默认是什么隔离级别,为什么MySQL默认是这个隔离级别不是其他的?为什么公司会把RR改成RC?4.如何设置隔离级别,即隔离级别的命令?5.死锁是什么,死锁的形成的条件?6.数据库是如何实现分页的,假设有100万条数据如何优化分页查询?7.数据库索引有哪些,聚簇索引和非聚簇索引的

2022-07-04 16:49:33 19

原创 Redis-淘汰策略与LRU

Redis——淘汰策略与LRU原文来源于https://zhuanlan.zhihu.com/p/105587132?utm_source=qq文章目录Redis——淘汰策略与LRU前言一、过期策略1.1 定期删除1.2 惰性删除二、 淘汰策略三、LRU3.1 标准LRU实现方式3.2 Redis版本的LRU实现3.3 为什么Redis要用近似LRU?前言仅作为笔记一、过期策略1.1 定期删除redis 会将每个设置了过期时间的 key 放入到一个独立的字典中,以后会定期遍历这个字典

2022-02-08 18:46:01 443

原创 redis“单线程”还快的原因

redis“单线程”还快的原因仅作为笔记文章目录redis“单线程”还快的原因前言一、单线程redis?1.1、单线程设计机制1.2、多路复用机制二、总结前言仅作为笔记一、单线程redis?首先,我们通常说,Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。所以,严格来说,Redis 并不是单线程,但是

2021-12-01 23:18:19 386

转载 使用CAS实现的原子类:无锁工具类的典范

使用CAS实现的原子类:无锁工具类的典范仅作为笔记文章目录使用CAS实现的原子类:无锁工具类的典范前言一、CAS1.1、无锁1.2、无锁方案的实现原理CAS二、基于CAS的原子类2.1 原子化的基本数据类型2.2 原子化的对象引用类型2.3 原子化数组2.4 原子化对象属性更新器2.5 原子化的累加器三、小结前言仅作为笔记一、CAS1.1、无锁无锁方案相对互斥锁方案,最大的好处就是性能。互斥锁方案为了保证互斥性,需要执行加锁、解锁操作,而加锁、解锁操作本身就消耗性能;同时拿不到锁的线

2021-11-29 23:01:15 367

原创 京东2021年面经汇总

京东2021年面经汇总仅作为笔记,码字不易,转载请标明出处。文章目录京东2021年面经汇总前言前言仅作为笔记

2021-11-28 19:03:28 151

原创 从java内存模型解决可见性和有序性问题

从java内存模型解决可见性和有序性问题仅作为作者学习笔记文章目录从java内存模型解决可见性和有序性问题前言一、容易和jvm内存模型搞混的java内存模型1.1 什么是java内存模型?1.2 Java内存模型底层怎么实现的?前言仅作为作者学习笔记一、容易和jvm内存模型搞混的java内存模型1.1 什么是java内存模型?Java 内存模型是个很复杂的规范,可以从不同的视角来解读,站在我们这些程序员的视角,本质上可以理解为,Java 内存模型规范了 JVM 如何提供按需禁用缓存和编

2021-11-28 17:29:46 184

原创 一切并发编程问题的源头:可见性、原子性、有序性

并发编程Bug的源头:可见性、原子性、有序性目录一、硬件带来的矛盾二、矛盾衍生的问题2.1 缓存导致的可见性问题2.2 线程切换导致的原子性问题2.3 编译优化带来的有序性问题目录一、硬件带来的矛盾CPU、内存、I/O 设备都在不断迭代,不断朝着更快的方向努力。但是,在这个快速发展的过程中,有一个核心矛盾一直存在,就是这三者的速度差异,CPU的运行速度>>内存的速度>>IO设备的速度。程序里大部分语句都要访问内存,有些还要访问 I/O,程序整体的性能取决于最慢的操作——读写

2021-11-28 16:42:19 177

原创 jvm虚拟机堆划分和垃圾回收填充知识

jvm虚拟机堆划分和垃圾回收填充知识仅作为作者学习笔记文章目录jvm虚拟机堆划分和垃圾回收填充知识前言一、Java 虚拟机的堆划分二、新生代老年代的紧密联系三、卡表四、本文小结前言仅作为作者学习笔记一、Java 虚拟机的堆划分Java 虚拟机将堆划分为新生代和老年代。其中,新生代又被划分为 Eden 区,以及两个大小相同的 Survivor 区。通常来说,当我们调用 new 指令时,它会在 Eden区中划出一块作为存储对象的内存。由于堆空间是线程共享的,因此直接在这里边划空间是需要进

2021-11-27 15:42:59 260

原创 java对象的内存布局

java对象的内存布局仅作为作者学习笔记文章目录java对象的内存布局前言一、基本知识前言仅作为作者学习笔记一、基本知识对象头每个对象都有一个对象头,对象头包括两部分,标记信息和类型指针。标记信息包括哈希值,锁信息,GC信息。类型指针指向这个对象的class。两个信息分别占用8个字节,所以每个对象的额外内存为16个字节。很消耗内存。压缩指针为了减少类型指针的内存占用,将64位指针压缩至32位,进而节约内存。之前64位寻址,寻的是字节。现在32位寻址,寻的是变量。再加上内存

2021-11-26 19:10:01 205

原创 jvm和反射

jvm和反射仅作为作者学习笔记文章目录jvm和反射前言一、反射的基本实现前言仅作为作者学习笔记一、反射的基本实现反射有两种实现方式:本地方法调用(就是字节码中已经定义好的方法)动态生成字节码两者有什么区别?动态生成字节码(以下简称动态实现),生成字节码的过程很慢(类似于准备工作),但是执行效率高。本地方法调用,不用生成字节码,直接调用本地方法。所以准备工作几乎没有,很快。但是执行效率就差很多。JVM如何做决定选择哪种实现方式?动态实现和本地实现相比,其运行效率要快上

2021-11-26 17:42:22 318

原创 jvm异常处理

jvm异常处理仅作为作者学习笔记文章目录jvm异常处理前言一、异常的一些基本概念二、java虚拟机是如何捕获异常的?前言仅作为作者学习笔记一、异常的一些基本概念在 Java 语言规范中,所有异常都是 Throwable 类或者其子类的实例。Throwable 有两大直接子类。第一个是 Error,涵盖程序不应捕获的异常。当程序触发 Error 时,它的执行状态已经无法恢复,需要中止线程甚至是中止虚拟机。第二子类则是 Exception,**涵盖程序可能需要捕获并且处理的异常。**如下图

2021-11-26 17:11:25 571

原创 jvm关于方法调用的问题(下)

jvm关于方法调用的问题(下)仅作为作者学习笔记文章目录jvm关于方法调用的问题(下)前言一、动态绑定前言仅作为作者学习笔记一、动态绑定我们知道,方法调用指令中的符号引用会在执行之前解析成实际引用。对于静态绑定的方法调用而言,实际引用将指向具体的目标方法。对于动态绑定的方法调用而言,实际引用则是方法表的索引值(实际上并不仅是索引值)。在执行过程中,Java 虚拟机将获取调用者的实际类型,并在该实际类型的虚方法表中,根据索引值获得目标方法。这个过程便是动态绑定。Java 虚拟机的

2021-11-26 16:49:46 58

原创 jvm关于方法调用的问题(上)

Java内存区域与内存溢出异常仅作为作者学习笔记文章目录Java内存区域与内存溢出异常前言一、运行时数据区域1.1、程序计数器1.2、Java虚拟机栈1.3、本地方法栈1.4、Java堆1.5、方法区1.6、运行时常量池1.7、直接内存二、HotSpot虚拟机对象探秘2.1、对象的创建2.2、对象的内存布局2.3、对象的访问定位三、实战:OutOfMemoryError异常3.1、Java堆溢出3.2、虚拟机栈和本地方法栈溢出3.3、方法区和运行时常量池溢出3.4、本机直接内存溢出前言仅作为

2021-11-26 16:30:22 227

原创 初识jvm编译

初识jvm编译仅作为笔记,码字不易,转载请标明出处。文章目录初识jvm编译前言一、初识编译前言仅作为笔记一、初识编译1.Java代码首先编译为class文件,然后通过java虚拟机加载到方法区。Java虚拟机是一个独立的进程,执行方法区的代码。2.Java虚拟机把内存分为堆栈两种形式来存储运行时数据,包括线程共有的方法区和堆,以及线程私有的pc计数器,方法栈,naive方法栈3.Java虚拟机将字节码翻译成机器码执行的方法有两种,一种是解释执行,即逐条将字节码翻译成机器码并执行;第二

2021-11-26 11:57:20 131

原创 数据库行锁

数据库行锁仅作为笔记,码字不易,转载请标明出处。文章目录数据库行锁前言一、数据库行锁前言仅作为笔记一、数据库行锁两阶段锁:在 InnoDB 事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放, 而是要等到事务结束时才释放。建议:如果你的事务中需要锁多个行,要把最可能造成锁冲突、最可能影响并发度的锁尽量往后放。死锁:当并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会导致这几个线程都进入无限等待的状态。解决方案:1、通过参数 innodb_l

2021-11-25 17:30:00 2105

原创 全局锁和表锁

全局锁和表锁仅作为笔记,码字不易,转载请标明出处。文章目录全局锁和表锁前言一、全局锁和表锁前言仅作为笔记一、全局锁和表锁根据加锁范围:MySQL里面的锁可以分为:全局锁、表级锁、行级锁一、全局锁:对整个数据库实例加锁。MySQL提供加全局读锁的方法:Flush tables with read lock(FTWRL)这个命令可以使整个库处于只读状态。使用该命令之后,数据更新语句、数据定义语句和更新类事务的提交语句等操作都会被阻塞。使用场景:全库逻辑备份。风险:1.如果在主库

2021-11-25 17:07:11 179

原创 深入浅出索引(下)

深入浅出索引(下)仅作为笔记,码字不易,转载请标明出处。文章目录深入浅出索引(下)前言一、深入浅出索引(下)前言仅作为笔记一、深入浅出索引(下)怎么才能用好索引?我们已经知道索引是一种特殊的数据结构(常见的有哈希表、有序数组、二叉平衡搜索树、N叉树、B+树),它的使命就是加快数据查询的效率。不过一张表她的字段不止一个,需要查询的方式也非常丰富,为了适应丰富的查询场景,索引自身也进行了进化,于是有了(针对MySQL innoDB)0:每个索引对应一棵B+树(N叉有序树,且数据存储在叶子

2021-11-25 16:36:24 190

原创 深入浅出索引(上)

深入浅出索引(上)仅作为笔记,码字不易,转载请标明出处。文章目录深入浅出索引(上)前言一、深入浅出索引(上)前言仅作为笔记一、深入浅出索引(上)1.索引的作用:提高数据查询效率2.常见索引模型:哈希表、有序数组、搜索树3.哈希表:键 - 值(key - value)。4.哈希思路:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置5.哈希冲突的处理办法:链表6.哈希表适用场景:只有等值查询的场景7.有序数组:按顺序存储。查询用二分法

2021-11-25 16:02:09 133

原创 MySql事务隔离相关

MySql事务隔离相关仅作为笔记,码字不易,转载请标明出处。文章目录MySql事务隔离相关前言一、MySql事务隔离相关前言仅作为笔记一、MySql事务隔离相关1、务的特性:原子性、一致性、隔离性、持久性2、多事务同时执行的时候,可能会出现的问题:脏读、不可重复读、幻读3、事务隔离级别:读未提交、读提交、可重复读、串行化4、不同事务隔离级别的区别:读未提交:一个事务还未提交,它所做的变更就可以被别的事务看到读提交:一个事务提交之后,它所做的变更才可以被别的事务看到可重复读:一

2021-11-25 15:26:29 75

原创 Redis——主从复制与发布订阅

Redis——发布与订阅仅作为笔记,码字不易,转载请标明出处。文章目录Redis——发布与订阅前言一、频道的订阅与退订二、模式的订阅与退订三、发生消息四、查看订阅信息五、重点回顾前言仅作为笔记一、频道的订阅与退订二、模式的订阅与退订三、发生消息四、查看订阅信息五、重点回顾.........

2021-10-29 21:34:42 450

转载 Redis高可用——哨兵Sentinel

Redis——事务本文转载于https://blog.csdn.net/weixin_42653522/article/details/119897953?spm=1001.2014.3001.5501,对其进行了精简。文章目录Redis——事务前言一、概述二、启动及初始化Sentinel三、哨兵检测原理3.1 和各个服务器交流3.2 检测专管下线状态3.3 检测客观下线状态3.4 选举领头Sentinel3.5 故障转移四、注意点前言转载内容一、概述Sentinel是 Redis的高可

2021-10-29 17:29:31 100

原创 Redis——事务

Redis——事务仅作为笔记,码字不易,转载请标明出处。文章目录Redis——事务前言一、事务的实现二、WATCH命令的实现三、事务的ACID性质四、重点回顾前言仅作为笔记一、事务的实现二、WATCH命令的实现三、事务的ACID性质四、重点回顾...

2021-10-29 16:30:27 70

原创 图解MySql体系架构

图解MySql体系架构关于InnoDB书籍接近尾声,这是才慢慢发现并没有把体系架构弄明白,以及之前的文章中多次提到的Sever没弄得太明白是怎么回事。文章目录图解MySql体系架构前言一、总体架构二、Server详细分析2.1 连接器2.2 查询缓存2.3 分析器2.4 优化器2.5 执行器二 、存储引擎前言仅作为笔记一、总体架构由上图可以看到,整个MySql可以分为上下两个部分,Server层和存储引擎层(默认使用得是InnoDB)。Server层的主要作用:Server层包含了

2021-10-29 16:03:11 2288

原创 MySql——备份

MySql——备份与恢复那些事仅作为笔记,码字不易,转载请标明出处。文章目录MySql——备份与恢复那些事前言一、备份与恢复概述二、 冷备三、逻辑备份3.1 mysqldump3.2 SELECT...INTO OUTFILE3.3 逻辑备份的恢复3.4 LOAD DATA INFILE四、二进制日志备份与恢复五、热备5.1 ibbackup5.2 XtraBackup5.3 XtraBackup实现增量备份六、快照备份七、 复制7.1 复制的工作原理7.2 快照+复制的备份架构八、 小结前言

2021-10-29 12:42:55 154

原创 MySql——关于事务那些事

MySql——关于事务那些事仅作为笔记,码字不易,转载请标明出处。文章目录MySql——关于事务那些事前言一、认识事务1.1 概述1.2 分类二事务的实现2.1 redo2.2 undo2.3 purge2.4 group commit三、事务控制语句四、隐式提交的SQL语句五、对于事务操作的统计六、事务的隔离级别七、 分布式事务7.1 MySql数据库分布式事务7.2 内部XA事务八、 不好的事务习惯8.1 在循环中提交8.2 使用自动提交8.3 使用自动回滚九、 长事务十、 小结前言仅作为

2021-10-29 12:13:45 294

原创 Redis——RDB和AOF持久化

Redis——RDB持久化仅作为笔记,码字不易,转载请标明出处。文章目录Redis——RDB持久化前言一、RDB 文件的创建与载入二、 自动间隔性保存三、RDB文件结构四、分析RDB文件五、重点回顾前言仅作为笔记一、RDB 文件的创建与载入二、 自动间隔性保存三、RDB文件结构四、分析RDB文件五、重点回顾.........

2021-10-26 17:57:52 126

原创 数据库——锁的一点事

数据库——锁的一点事仅作为笔记,码字不易,转载请标明出处。文章目录数据库——锁的一点事前言一、什么是锁二、lock与latch三、InnoDB存储引擎中的锁3.1 锁的类型3.2 一致性非锁定读3.3 一致性锁定读3.4 自增长与锁3.5 外键和锁四、锁的算法4.1 行锁的3种算法4.2 解决Phantom Problem五、锁问题5.1 脏读5.2 不可重复读5.3 丢失更新六、阻塞七、 死锁7.1 死锁的概念7.2 死锁概率7.3 死锁的示例八、 锁升级九、 小结前言仅作为笔记一、什么

2021-10-26 12:30:35 117

原创 Redis——数据库

Redis——数据库仅作为笔记,码字不易,转载请标明出处。文章目录Redis——数据库前言一、服务器中的数据库二、数据库键空间三、设置键的生存时间或过期时间四、过期键删除策略五、AOF、RDB和复制功能对过期键的处理六、重点回顾前言仅作为笔记一、服务器中的数据库Redis服务器默认会创建16个数据库。 可以根据服务器配置的database选项决定。二、数据库键空间Redis是一个键值对(key-value pair)数据库服务器,服务器中的每个数据库都由redis.h/redi

2021-10-24 17:34:27 437

原创 Redis数据结构与对象——字典、跳跃表、整数集合、压缩列表、对象

MySQL索引与算法仅作为笔记,除部分装载部分,码字不易,转载请标明出处。文章目录MySQL索引与算法前言一、InnoDB存储引擎索引概述二、数据结构与算法2.1 二分查找法2.2 二叉查找树和平衡二叉树三、B+树3.1 B+树的插入操作3.2 B+树的删除操作四、B+索引树4.1 聚集索引4.2 辅助索引4.3 B+树索引的分裂五、Cardinality值5.1 什么是Cardinality5.2 InnoDB存储引擎的Cardinality统计六、B+树索引的使用6.1不同应用中B+树索引的使用6

2021-10-24 11:49:46 201

原创 MySQL索引与算法

MySQL索引与算法仅作为笔记文章目录MySQL索引与算法前言一、InnoDB存储引擎索引概述二、数据结构与算法2.1 二分查找法2.2 二叉查找树和平衡二叉树三、B+树3.1 B+树的插入操作3.2 B+树的删除操作四、B+索引树4.1 聚集索引4.2 辅助索引4.3 B+树索引的分裂4.4 B+树索引的管理五、Cardinality值5.1 什么是Cardinality5.2 InnoDB存储引擎的Cardinality统计六、B+树索引的使用6.1不同应用中B+树索引的使用6.2 联合索引6.3

2021-10-23 20:47:14 319

原创 InnoDB逻辑存储结构与分区分表分库

InnoDB逻辑存储结构与分区分表仅作为笔记文章目录InnoDB逻辑存储结构与分区分表前言一、InnoDB逻辑存储结构表空间段区页行二、分区分表分库分区分表分区和分表对比分库前言仅作为笔记一、InnoDB逻辑存储结构从逻辑存储的角度来看,所有的数据都被逻辑地存放在一个空间中,称之为表空间。而表空间由段(segment)、区(extent)、页(page)组成,如下所示:表空间InnoDB存储引擎逻辑结构的最高层,所有的数据都存放在表空间中。段表空间由各个段组成,常见的

2021-10-20 16:28:01 581

原创 redis数据结构与对象——简单动态字符串和链表

redis数据结构与对象——简单动态字符串和链表仅作为笔记文章目录redis数据结构与对象——简单动态字符串和链表前言一、简单动态字符串1.1 SDS的定义1.2 SDS与C字符串的区别1.2.1 常数复杂度获取字符串长度1.2.2 杜绝缓冲区溢出1.2.3 减少修改字符串时带来的内存重分配次数1.2.4 二进制安全1.2.6 小结1.2.5 兼容部分C字符串函数1.3 SDS API1.4 重点回顾二、链表2.1 链表和链表节点的实现2.2 链表和链表节点的API2.3 重点回顾前言仅作为笔

2021-10-20 00:08:42 331

原创 InnoDB 存储引擎详细解析

InnoDB存储引擎详细解析仅作为笔记文章目录InnoDB存储引擎详细解析前言一、InnoDB 存储引擎概述二、InnoDB 存储引擎的版本三、InnoDB 体系架构3.1 后台线程3.2 内存四、Checkpoint技术五、Master Thread 工作方式5.1 InnoDB 1.0.X版本以前的Master Thread5.2 InnoDB 1.2.X版本以前的Master Thread5.3 InnoDB 1.2.X版本的Master Thread六、 InnoDB 关键特性6.1 插入缓冲

2021-10-19 22:15:10 1450

原创 MySql体系结构和存储引擎

MySql体系结构和存储引擎概述仅作为笔记文章目录MySql体系结构和存储引擎概述前言一、定义数据库和实例二、MySql体系结构三、MySql存储引擎3.1、InnoDB存储引擎3.2、MyISAM存储引擎四、各存储引擎之间的比较五、连接MySQL5.1、TCP/IP5.2、命名管道和共享内存5.3、UNIX域套接字六、总结前言仅作为笔记一、定义数据库和实例数据库:物理操作系统文件或其他形式文件类型的集合。实例:MySQL数据库的实例在系统上的表现就是一个进程。二、MySql体系

2021-10-15 16:01:32 281

原创 虚拟机类加载机制

虚拟机类加载机制仅作为笔记文章目录虚拟机类加载机制前言一、并行流水线二、并行搜索三、并行排序四、并行算法:矩阵乘法五、BIO六、准备好了再通知我:网络NIO七、读完了再通知我:AIO前言仅作为笔记一、并行流水线二、并行搜索三、并行排序四、并行算法:矩阵乘法五、BIO六、准备好了再通知我:网络NIO七、读完了再通知我:AIO............

2021-10-14 17:01:32 202

原创 内存分配与回收策略

内存分配与回收策略仅作为笔记本文参考博客:https://blog.csdn.net/m0_38109046/article/details/89449305文章目录内存分配与回收策略前言一、内存分配与回收策略1.1 对象优先在Eden分配1.2 大对象直接进入老年代1.3 长期存活的对象将进入老年代1.4 动态对象年龄判定1.5 空间分配担保前言仅作为笔记一、内存分配与回收策略1.1 对象优先在Eden分配在大多数情况下,对象分配在新生代的Eden区,当Eden区没有足够的内存空

2021-10-12 17:51:47 253

原创 并行模式与算法——第二部分

并行模式与算法仅作为笔记文章目录并行模式与算法前言一、探讨单例模式二、不变模式三、生产者-消费者模式四、高性能的生产者-消费者:无锁的实现4.1、无锁的缓存框架:Disruptor4.2、提高消费者的响应时间:选择合适的策略4.3、CPU Cache的优化:解决伪共享问题五、Future模式5.1、Future模式的主要角色5.2、JDK中的Future模式前言仅作为笔记一、探讨单例模式作用:用于生产一个对象的具体实例,可以确保系统中一个类只产生一个实例。优点:1.对于频繁使用的对象

2021-10-11 23:18:50 529

原创 并行模式与算法——第一部分

并行模式与算法仅作为笔记文章目录并行模式与算法前言一、探讨单例模式二、不变模式三、生产者-消费者模式四、高性能的生产者-消费者:无锁的实现4.1、无锁的缓存框架:Disruptor4.2、用Disruptor实现生产者-消费者案例4.3、提高消费者的响应时间:选择合适的策略4.4、CPU Cache的优化:解决伪共享问题五、Future模式5.1、Future模式的主要角色5.2、Future模式的简单实现5.3、JDK中的Future模式前言仅作为笔记一、探讨单例模式二、不变模式三、

2021-10-10 17:12:57 399

原创 HotSpot的算法实现和垃圾收集器

HotSpot的算法实现和垃圾收集器仅作为笔记文章目录HotSpot的算法实现和垃圾收集器前言一、HotSpot的算法实现1.1、枚举根节点-1.2、安全点1.3、安全区域二、垃圾收集器2.1、Serial收集器2.2、ParNew收集器2.3、Parllel Scavenge收集器2.4、Serial Old收集器2.5、Parallel Old收集器2.6、CMS收集器2.7、G1收集器2.8、理解GC日志2.9、垃圾收集器参数总结前言随着线程消失而消失的有:程序计数器、虚拟机栈、本地方法

2021-09-29 17:58:11 349

原创 对象死亡判断和垃圾收集算法

对象死亡判断和垃圾收集算法仅作为笔记文章目录对象死亡判断和垃圾收集算法前言一、对象已死吗?1.1、引用计数算法1.2、可达性分析算法1.3、再谈引用1.4、生存还是死亡1.5、回收方法区二、垃圾收集算法2.1、标记-清除算法2.2、复制算法2.3、标记-整理算法2.4、分代收集算法前言仅作为笔记一、对象已死吗?1.1、引用计数算法1.2、可达性分析算法1.3、再谈引用1.4、生存还是死亡1.5、回收方法区二、垃圾收集算法2.1、标记-清除算法2.2、复制算法2.3、标记-

2021-09-23 16:27:15 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除