Toggle navigation
旧·时光 | Time
Home
About
Study
Photos
Tags
Tags
基因库
随笔
图形学
年度总结
设计模式
JVM
计算机网络
读书笔记
JDK 源码分析
Redis
翻译
旅行
Java Tech
论文阅读
分布式系统
问题排查
算法
RPC
操作系统
Java 并发编程
架构设计
MySQL
分布式事务
Golang
注册中心
共识协议
随笔
从大学到工作一个月,自己发生了哪些变化
从生理上和心理上两个方面来回答
我理解的: 什么是一本好的技术书籍
其实想写这篇文章的原因是,前几天看了本国人写的、书名很唬人的技术书,书也挺厚目录也很高逼格,价格不菲,但是读了几章真的被气到了,很失望,觉得好的技术书确实太少了,且看且珍惜。
红尘烟火 ——《碎片》征文作品
为了投稿《碎片》微文学大赛,修改了《滚滚红尘》影评,目前文章进入了复赛阶段,同时也在简书首页得到了编辑推荐
陌生人的故事
我能知道的是,这座城市就像一顶帽子,我们都活在帽檐边沿,改变自己的不是周遭的一切,只有自己的本心
图形学
OpenGL读取obj文件模型
网上找了半天类似的程序,愣是没找到,后来干脆自己动手造轮子,google学了一通之后写了一个示例程序,简单易懂
年度总结
2022 年终总结
2021 年终总结
2020 年终总结
2019 年终总结
2018 年终总结,如果还有梦就追
对我来说,不留恋过去并不是不重感情,只是我更期待未来而已。既往不恋,纵情向前,我倒是很契合这句话。
2017 年终总结
2017 这年发生了很多事,做出了很多决定,跟往年最不一样的是,今年很少以一个学生的身份去思考问题,更多地碰触了社会的一角,开始用更成熟的想法思考未来的路如何走得更快更好,不过既然做出了决定,就不会后悔。
2016 年关曲调
庆幸自己一直是一个很乐观的人,感觉从来没有跨不去的坎,不然可能熬不过很多事情。每次一觉睡过来就会觉得又是充满希望的一天,阳光这么温暖,人海这么喧闹,世界有那么多美好,怎么能被负能量缠身呢?何必去纠结昨日的不开心呢?愿全天下所有人都能找到幸福的理由~yes!
设计模式
Java 中的静态代理与动态代理
RPC 相关第五篇
设计模式: 单例模式
JVM
回顾《深入理解 Java 虚拟机》之线程安全与锁优化
最后一篇
回顾《深入理解 Java 虚拟机》之 Java 和线程
第六篇
回顾《深入理解 Java 虚拟机》 之内存模型和 volatile 关键字
第五篇
回顾《深入理解 Java 虚拟机》之类加载器
第四篇
回顾《深入理解 Java 虚拟机》之类加载机制
第三篇,虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制
回顾《深入理解 Java 虚拟机》之垃圾收集器
第二篇,GC 并非 Java 的专利,事实上最早 Lisp 语言就有了 GC 和内存动态分配的概念
回顾《深入理解 Java 虚拟机》之 Java 内存区域
第一篇,过年会把《深入理解 Java 虚拟机》回看一遍,整理下知识点
深入理解java虚拟机 —— Java GC算法
进一步了解GC中的各种算法
计算机网络
计算机网络 —— TCP、UDP 和 ARP 的知识点总结
三次握手,四次挥手详解,TCP 与 UDP 区别,ARP 工作原理详解
HTTP & HTTPS, Session & Cookie
计算机网络 —— 网络分层架构
读书笔记
OSTEP[13-15] Address Space And Address Translation
Operating System:Three Easy Pieces
OSTEP[7-10] High-level Policies An OS Scheduler Employs
Operating System:Three Easy Pieces
OSTEP[4-6]:Low-level Mechanisms Of Running Processes
Operating System:Three Easy Pieces
网站技术架构总结
最近看完了《大型网站技术架构核心原理与案例分析》这本书,书里主要涉及的都是技术知识而非代码实现,读下来之后感觉对自己的知识面还是有加深的,起到了很好的深化作用,巩固了之前的薄弱环节,而且对于面试时一些架构设计、分布式数据一致性问题都感到有了更好的回答思路,总之确实是一本适合入门的好书。
JDK 源码分析
ThreadPoolExecutor 核心源码解析
本文介绍 ThreadPoolExecutor 源码的关键部分,execute、addWorker、runWorker、Worker
Timer & TimerTask 源码分析
介绍实现定时任务的 Timer 和 TimerTask 类的实现,为什么还要写个源码分析呢?主要是由于这部分的实现非常有借鉴意义
LinkedBlockingQueue 源码分析
JDK 1.8 中 LinkedBlockingQueue 的源码分析
深入解析 ThreadLocal 和 ThreadLocalMap
JDK 1.8 中 ThreadLocal api 简介、使用方法、源码分析和其内部类 ThreadLocalMap 的源码分析
PriorityQueue 源码分析
PriorityQueue 的源码分析和整体类层结构分析
HashMap 源码分析
长文慎入,HashMap 的源码分析和整体类层结构分析
LinkedList 源码分析
LinkedList 的源码分析和整体类层结构分析
ArrayList 源码分析
ArrayList 的源码分析和整体类层结构分析
Redis
缓存架构的设计和常见问题
Redis 主从复制 psync1 和 psync2 的区别
Redis 2.8 版本带来了 psync1,解决了断线重连之后的全量同步问题,4.0 版本带来了其改进版 psync2,解决了主从切换和 slave 重启导致的全量同步问题。
详解布隆过滤器的原理、使用场景和注意事项
基于 Redis 的分布式锁 Redlock
Redis SDS (简单动态字符串) 源码阅读
Redis 源码阅读系列
[译] Redis Replication
Redis 文档翻译系列
小议 Redis 的主从复制功能
翻译
[译] Async IO on Linux: select, poll, and epoll
RPC 半相关第四篇
[译] Redis Replication
Redis 文档翻译系列
旅行
一天半,黄山 + 宏村
“火箭男孩” 的毕业旅行
西塘 - 重庆 - 成都
Java Tech
图文解析 Nacos 配置中心的实现
本文不会贴太多源码,基本靠图片和文字叙述
RocketMQ 分享全纪实
上上周在团队内部做了一个关于 RocketMQ 的分享,本文记录一下分享的大部分内容
ThreadPoolExecutor 核心源码解析
本文介绍 ThreadPoolExecutor 源码的关键部分,execute、addWorker、runWorker、Worker
Java 基础技术总结
总结一下至今为止 Java 的基础知识
Java 中的静态代理与动态代理
RPC 相关第五篇
如何实现一个简单的 RPC 调用流程
RPC 相关第二篇
Zookeeper 在构建系统中的作用
谈谈在 Java 中实现定时任务的几种方式
实现定时任务的方式很多,常见的有 Spring @schedule 注解、JDK 自带的 TimerTask or Timer、开源作业调度框架 Quartz、线程池 ScheduleExecutorService、ScheduledThreadPoolExecutor。
论文阅读
[译文]Implementing Raft: Part 3 - Persistence and Optimizations
Implementing Raft
[译文]Implementing Raft: Part 2 - Commands and Log Replication
Implementing Raft
[译文]Implementing Raft: Part 1 - Elections
Implementing Raft
[译文]Implementing Raft: Part 0 - Introduction
Implementing Raft
重读 Amazon Dynamo 论文有感
最近重新阅读了 Dynamo 的论文,和初次阅读又有了其他不同的感受
Survivability of Cloud Databases - Factors and Prediction,SIGMOD 18
论文阅读系列
Cassandra - A Decentralized Structured Storage System
论文阅读系列
Megastore: Providing Scalable, Highly Available Storage for Interactive Services
论文阅读系列
Dynamo: Amazon’s Highly Available Key-value Store
论文阅读系列
Spanner: Google’s Globally-Distributed Database
论文阅读系列
The Chubby lock service for loosely-coupled distributed systems
论文阅读系列
分布式系统
[译文]Implementing Raft: Part 3 - Persistence and Optimizations
Implementing Raft
[译文]Implementing Raft: Part 2 - Commands and Log Replication
Implementing Raft
[译文]Implementing Raft: Part 1 - Elections
Implementing Raft
[译文]Implementing Raft: Part 0 - Introduction
Implementing Raft
[图文] Seata AT 模式分布式事务源码分析
AT 模式是 Seata 中最主要的分布式事务解决方案,最早来源于阿里中间件团队发布的 TXC 服务,后来成功上云改名 GTS。本文主要分析 Seata 0.6.1 版本下 AT 模式的实现
Seata TCC 分布式事务源码分析
Survivability of Cloud Databases - Factors and Prediction,SIGMOD 18
论文阅读系列
浅谈 RPC、RMI、REST 这些很绕的概念
最近准备详细看一下 RPC 相关的知识,这是第一篇
Cassandra - A Decentralized Structured Storage System
论文阅读系列
Zookeeper 在构建系统中的作用
Megastore: Providing Scalable, Highly Available Storage for Interactive Services
论文阅读系列
怎样做可靠的分布式锁,Redlock 真的可行么?
本文是对 Martin Kleppmann 的文章 How to do distributed locking 部分内容的翻译和总结
Dynamo: Amazon’s Highly Available Key-value Store
论文阅读系列
基于 Redis 的分布式锁 Redlock
Spanner: Google’s Globally-Distributed Database
论文阅读系列
The Chubby lock service for loosely-coupled distributed systems
论文阅读系列
问题排查
GuavaCache RemovalListener 失灵
日常问题记录系列
算法
[译文]Implementing Raft: Part 3 - Persistence and Optimizations
Implementing Raft
[译文]Implementing Raft: Part 2 - Commands and Log Replication
Implementing Raft
[译文]Implementing Raft: Part 1 - Elections
Implementing Raft
[译文]Implementing Raft: Part 0 - Introduction
Implementing Raft
详解布隆过滤器的原理、使用场景和注意事项
RPC
Java 中的静态代理与动态代理
RPC 相关第五篇
[译] Async IO on Linux: select, poll, and epoll
RPC 半相关第四篇
UNIX 下的 I/O 模型
RPC 相关第三篇
如何实现一个简单的 RPC 调用流程
RPC 相关第二篇
浅谈 RPC、RMI、REST 这些很绕的概念
最近准备详细看一下 RPC 相关的知识,这是第一篇
操作系统
OSTEP[13-15] Address Space And Address Translation
Operating System:Three Easy Pieces
OSTEP[7-10] High-level Policies An OS Scheduler Employs
Operating System:Three Easy Pieces
OSTEP[4-6]:Low-level Mechanisms Of Running Processes
Operating System:Three Easy Pieces
分析伪共享(False Sharing)产生原因
什么是伪共享呢(False Sharing)呢,讲清楚伪共享出现的原因,我们要先理清楚高速缓存和 MESI 缓存一致性协议
[译] Async IO on Linux: select, poll, and epoll
RPC 半相关第四篇
UNIX 下的 I/O 模型
RPC 相关第三篇
Java 并发编程
基于 “不可变类” 实现一个线程安全的 Integer 计数器
不可变对象最核心的地方在于不给外部修改共享资源的机会,从而避免多线程情况下由于争抢共享资源导致的数据不一致
用 Wait 和 Notify 实现 “生产者-消费者” 模型
在实际开发过程中,经常会碰到如下场景:某个模块负责产生数据,然后经由某个共享的缓冲区进行流转,最后这些数据由另一个模块来负责处理
Java 中的 Wait 和 Notify 机制
Wait 和 Notify 是 Java 面试中常见的问题,但是在平时工作中可能不常见到
ThreadPoolExecutor 核心源码解析
本文介绍 ThreadPoolExecutor 源码的关键部分,execute、addWorker、runWorker、Worker
架构设计
闲聊注册中心——ZK、Eureka、Sofa-Registry
注册中心的架构演进历史
图文解析 Nacos 配置中心的实现
本文不会贴太多源码,基本靠图片和文字叙述
RocketMQ 分享全纪实
上上周在团队内部做了一个关于 RocketMQ 的分享,本文记录一下分享的大部分内容
缓存架构的设计和常见问题
MySQL
MySQL InnoDB MVCC 机制的原理及实现
多版本并发控制,是现代数据库引擎实现中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。
MySQL 索引机制背后的隐藏之道
MySQL InnoDB 中的锁机制
写在前面 数据库本质上是一种共享资源,因此在最大程度提供并发访问性能的同时,仍需要确保每个用户能以一致的方式读取和修改数据。锁机制(Locking)就是解决这类问题的最好武器。
MySQL InnoDB 存储引擎简介
MySQL 得益于开放的可插拔设计,允许替换不同的底层存储引擎,InnoDB 就是其中涌现的代表,自 5.5.8 以来已经成为 MySQL 的默认存储引擎
分布式事务
[图文] Seata AT 模式分布式事务源码分析
AT 模式是 Seata 中最主要的分布式事务解决方案,最早来源于阿里中间件团队发布的 TXC 服务,后来成功上云改名 GTS。本文主要分析 Seata 0.6.1 版本下 AT 模式的实现
Seata TCC 分布式事务源码分析
Golang
[译文]Implementing Raft: Part 3 - Persistence and Optimizations
Implementing Raft
[译文]Implementing Raft: Part 2 - Commands and Log Replication
Implementing Raft
[译文]Implementing Raft: Part 1 - Elections
Implementing Raft
[译文]Implementing Raft: Part 0 - Introduction
Implementing Raft
借 Go 语言 database/sql 包谈数据库驱动和连接池设计
注册中心
闲聊注册中心——ZK、Eureka、Sofa-Registry
注册中心的架构演进历史
共识协议
[译文]Implementing Raft: Part 3 - Persistence and Optimizations
Implementing Raft
[译文]Implementing Raft: Part 2 - Commands and Log Replication
Implementing Raft
[译文]Implementing Raft: Part 1 - Elections
Implementing Raft
[译文]Implementing Raft: Part 0 - Introduction
Implementing Raft