摘要: 前言 目前大部分互联网架构 Cache 已经成为了必可不少的一环。常用的方案有大家熟知的 NoSQL 数据库(Redis、Memcached),也有大量的进程内缓存比如 EhCache 、Guava Cache、Caffeine 等。 本系列文章会选取本地缓存和分布式缓存(NoSQL)的优秀框架比较 阅读全文
posted @ 2021-08-15 11:57 梓川耶 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 从今天开始也正式开 JDK 原理分析的坑了,其实写源码分析的目的不再是像以前一样搞懂原理,更重要的是看看他们编码风格更进一步体会到他们的设计思想。看源码前先自己实现一个再比对也许会有不一样的收获! 1. 结构 首先我们需要对 ArrayList 有一个大致的了解就从结构来看看吧. 1. 继承 该类继 阅读全文
posted @ 2021-08-05 22:28 梓川耶 阅读(332) 评论(1) 推荐(0) 编辑
摘要: å. 前言 现在的大部分 Java 应用基本都是通过 Maven 进行组织的,不论是分布式应用还是单体集群应用往往都会通过一个 父 POM 加若干子 POM 完成项目的组织。然而这种多应用多模块的拆分就带来了一个巨大的体力成本 发包 举个例子,说明下为什么会出现这种情况: 上面这个图中有两个应用 p 阅读全文
posted @ 2021-06-27 16:16 梓川耶 阅读(337) 评论(0) 推荐(1) 编辑
摘要: 前言 在 2021 年这个小学作文中的未来年份,没有想象中的汽车满天飞,也没有实现机器人满地跑。但牛逼的是我们都有一个共识: 知乎达到了人均 “谢邀~ 人在美国刚下飞机”的生活水平,虎扑的人均收入也在 30W+ ,还有就是程序员都人均精通 SpringBoot ,哪怕和算法聊技术一言不合就满嘴 Sp 阅读全文
posted @ 2021-04-26 13:25 梓川耶 阅读(2666) 评论(2) 推荐(2) 编辑
摘要: 这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 往期文章 Kafka 探险 - 架构简介 Kafka 探险 - 源码环境搭建 前言 我们说 Kafka 是一个消息队列,其实更 阅读全文
posted @ 2021-01-19 23:09 梓川耶 阅读(443) 评论(0) 推荐(1) 编辑
摘要: Kafka 探险 - 架构简介 这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 简介 Kafka 是一种分布式的,基于发布 / 订阅的消息系统。最初被 LinkedIn 开发 阅读全文
posted @ 2021-01-10 19:38 梓川耶 阅读(331) 评论(2) 推荐(1) 编辑
摘要: Semaphore 源码分析 1. 在阅读源码时做了大量的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限,并且代码阅读起来没有 IDE 方便,所以在 "github" 上提供JDK1.8 的源码、详细的注释及测试用例。欢迎大家 star、fork ! 2. 由于个人水平有限,对源码的分 阅读全文
posted @ 2018-04-01 20:05 梓川耶 阅读(304) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock 与 AQS 源码分析 1. 基本结构    重入锁 ReetrantLock,JDK 1.5新增的类,作用与synchronized关键字相当,但比synchronized更加灵活。ReetrantLock本身也是一种支持重进入的锁,即该锁可以支持一个 阅读全文
posted @ 2018-03-31 21:29 梓川耶 阅读(263) 评论(0) 推荐(0) 编辑
摘要: synchronized 原理分析 1. synchronized 介绍    在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步。同步的方式其实就是隐式的加锁,加锁过程是有 jvm 帮我们完成的,再生成的字节码中会有体现,如果反编 阅读全文
posted @ 2018-03-30 19:34 梓川耶 阅读(1469) 评论(0) 推荐(1) 编辑
摘要: ConcurrentHashMap 源码分析 1. 前言    终于到这个类了,其实在前面很过很多次这个类,因为这个类代码量比较大,并且涉及到并发的问题,还有一点就是这个代码有些真的晦涩,不好懂。前前后后大概花了三天的时间看完的一些重要操作,接着今天来整理一下。 ! more 阅读全文
posted @ 2018-03-29 17:38 梓川耶 阅读(437) 评论(0) 推荐(1) 编辑
摘要: LinkedHashMap 源码分析 1. 基本结构 1. 实现 实现的接口是 2. 继承    继承的是 这个就比较熟悉了,事实上我们会看到 代码量非常的少,主要就是因为他继承的 ,继承了大多数的操作。 仔细一点的都会发现 里面有非常多的空白方法,这些方法其实是模板方法,为了让 阅读全文
posted @ 2018-03-26 22:48 梓川耶 阅读(283) 评论(0) 推荐(0) 编辑
摘要: HashMap 源码分析 1.结构 1. 继承   该类继承自 这个类似于 2. 实现 具体如下: 1. 首先这个类是一个 Map 自然有 Map 接口 3. 然后就是两个集合框架肯定会实现的两个接口 Cloneable, Serializable 。 3. 主要字段 1. 属性 阅读全文
posted @ 2018-03-26 22:47 梓川耶 阅读(171) 评论(0) 推荐(0) 编辑
摘要: ArrayList 源码分析 1. 结构   首先我们需要对 ArrayList 有一个大致的了解就从结构来看看吧. 1. 继承   该类继承自 AbstractList 这个比较好说 2. 实现 这个类实现的接口比较多,具体如下: 1. 首先这个类是一个 L 阅读全文
posted @ 2018-03-26 22:46 梓川耶 阅读(412) 评论(0) 推荐(1) 编辑
摘要: 计算机网络中比较中要的无非就是 TCP/IP 协议栈,以及应用层的 HTTP 和 HTTPS 。 前几天一直炒的的比较火的就是 HTTP/2.0 了,但是其实 HTTP/2.0 早在2015年的时候就已经出来了,并且这个版本是基于 Google 公司的 SPDY 协议发布的,其实说白了就是用的 SP 阅读全文
posted @ 2018-03-25 18:27 梓川耶 阅读(3064) 评论(2) 推荐(2) 编辑
摘要: 1.结构 1. 继承 该类继承自 AbstractSequentialList 这个是由于他是一个顺序的列表,所以说继承的是一个顺序的 List 2. 实现 这个类实现的接口比较多,具体如下: 首先这个类是一个 List 自然有 List 接口 然后由于这个类是实现了 Deque 这个接口是双端队列 阅读全文
posted @ 2021-08-09 23:41 梓川耶 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Stream 使用这个方法创建一个 Stream 对象。 new ArrayList<>().stream() Filter 过滤器,里面传递一个函数,这个函数的返回结果如果为 true 则保留这个元素,否则的话丢弃这个元素。 stringCollection .stream() .filter(( 阅读全文
posted @ 2021-07-02 18:07 梓川耶 阅读(545) 评论(0) 推荐(5) 编辑
摘要: 这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 往期文章 Kafka 探险 - 架构简介 Kafka 探险 - 源码环境搭建 Kafka 探险 - Kafka 探险 - 生产 阅读全文
posted @ 2021-03-11 23:28 梓川耶 阅读(709) 评论(1) 推荐(2) 编辑
摘要: Kafka 探险 - 源码环境搭建 这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 前言 在阅读源码之前,首先要做的就是搭建一套源码调试环境,这是最基本的一步,不要觉得麻烦或 阅读全文
posted @ 2021-01-17 20:56 梓川耶 阅读(99) 评论(0) 推荐(0) 编辑