摘要: package com.study; import java.util.HashMap; /*** * 底层HashMap + 各个node用指针连接起来,将最新加入或者最新访问的node放在队列的右端,这样队列左端将是最“老”的node,内存不够时,从最左端淘汰元素。 * @author: 码出地 阅读全文
posted @ 2022-03-06 22:01 码出地球 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收之并发情况下如何确定对象可达 首先介绍下三色标记法:JVM中是通过三色标记法来确定哪些对象需要被回收,把遍历对象图过程中遇到的对象,按照“是否访问过”这个条件标记成一下三种颜色: 白色 表示对象尚未被垃圾收集器访问过,显然在垃圾收集刚开始,所有对象都是白色的。 黑色 表示对象已经被访问过,并 阅读全文
posted @ 2022-03-02 22:30 码出地球 阅读(40) 评论(0) 推荐(0) 编辑
摘要: Redis持久化 持久化的功能就是为了避免进程退出,而导致内存中的数据永久丢失,需要定期将redis中的数据以某种形式从内存保存到硬盘;那么就可以在下次重启时通过这些持久化文件还原数据。另外,一般为了灾难备份,都会将文件拷贝到其他远程位置。 RDB持久化 触发条件 手动触发 有两个命令save和bs 阅读全文
posted @ 2022-02-28 13:52 码出地球 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Java常用阻塞队列 ArrayBlockingQueue 内部由一个固定长度的数组来实现阻塞队列 /** The queued items */ final Object[] items; /** items index for next take, poll, peek or remove */ 阅读全文
posted @ 2022-01-26 11:12 码出地球 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 前言 SynchronousQueue是一个比较特别的队列,由于在线程池方面有所应用,为了更好的理解线程池的实现原理,笔者花了些时间学习了一下该队列源码(JDK1.8),此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理。 阅读全文
posted @ 2022-01-20 10:38 码出地球 阅读(1755) 评论(1) 推荐(0) 编辑
摘要: 博主在这里不具体讨论生产者的代码如何编写,而是聚焦于生产者客户端比较重要的两个区域RecordAccumulator 和 InFlightRequests。 整个生产者客户端由两个线程协调工作,分别为主线程和Sender线程。主线程中由KafkaProducer创建消息,然后会依次经过拦截器、序列化 阅读全文
posted @ 2021-11-16 21:14 码出地球 阅读(968) 评论(0) 推荐(0) 编辑
摘要: 首先我们知道启动一个线程都是通过调用Thread类的start()来开启一个新线程,那么我们就来一起看看Thread类的start()方法源码: /** * Causes this thread to begin execution; the Java Virtual Machine * calls 阅读全文
posted @ 2021-10-19 23:34 码出地球 阅读(115) 评论(0) 推荐(0) 编辑
摘要: JVM的类加载过程总体来说分为三个阶段: 1、类的加载 类的加载过程通过一个类的全限定名获取定义此类的二进制字节流,然后将这个字节流所代表的静态数据结构转化为方法区的运行时数据结构,最后在内存中生成一个代表这个类的java.lang.Class对象,作为方法去这个类的各种数据的访问入口。 加载.cl 阅读全文
posted @ 2021-10-18 22:38 码出地球 阅读(733) 评论(0) 推荐(1) 编辑
摘要: //一个请假请求 public class LeaveRequest { private int leaveDays; private String name; public void leave(){ System.out.println("走完了流程都没人处理我"); } //省略getter、 阅读全文
posted @ 2021-06-22 13:57 码出地球 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 今天跟一个同学谈到java中的线程池的实现,才发现有些知识点已经记不清了,所以特意把源码打开,对官方文档做了些说明。 其实这些理解了之后,读懂源码应该是没多大问题了,有感兴趣的小伙伴们可以看完说明后自行去阅读源码。 阅读全文
posted @ 2021-06-13 18:47 码出地球 阅读(46) 评论(0) 推荐(0) 编辑