标签

2,023

关于单测技术选型,聊聊我的思考


超详细!手把手教你用 JaCoCo 生成单测覆盖率报告!


一文带你弄懂 Maven 拉包原理


长达 1.7 万字的 explain 关键字指南!


业务变化快,有必要写单测吗?


单测无用论,这是真的吗?


一文带你搞懂 mmap 技术


2,022

一文讲清楚 JVM Safe Point


MySQL 不同隔离级别,都使用了什么锁?


怒啃 24 小时,终于搞懂上下文切换!


这三大特性,让 G1 取代了 CMS!


深入理解 Spring 事务:入门、使用、原理


一文带你弄懂 JVM 三色标记算法!


一文带你弄懂 CDN 技术的原理


如何设计一个分布式 ID 发号器?


关于 CMS 垃圾回收器,你真的懂了吗?


接口流量突增,如何做好性能调优?


MySQL 啥时候用表锁,啥时候用行锁?


从全局角度,如何设计一个秒杀系统?


系统总出故障怎么办,或许你该学学稳定性建设!


服务器宕机了,Kafka 消息会丢失吗?


Java 内存模型,或许应该这么理解


深入理解 volatile 关键字


深入理解 Java 对象的内存布局


深入理解 synchronized 的锁优化


深入理解 happens-before 原则


从 CPU 讲起,深入理解 Java 内存模型!


工作 7 年,我陷入的思维误区


简历怎么写,才能突显你的价值?


如何合法爬取 Github 的信息?


认识到这点,你会飞速成长


关于技术驱动业务的一些思考


分享几点我的读书心得


一封小小邮件背后的防范策略


成功,就是寻找确定性!


这几本书,让你更懂自己!


这本书能让你看懂中国经济!


变化莫测的时代,如何面对不确定性?


2,021

悄悄成长的 2021 年!


听说 2022 年个税改革了,这是咋回事?


图解排序算法,这五种最热门!


面对海量请求,缓存设计还应该考虑哪些问题?


听说我们是新生代农民工?


做管理就可以高枕无忧了吗?


如何成为架构师?


代码腐烂可以避免吗?


其实 Linux IO 模型没那么难


七年三次大重构,聊聊我的重构成长史


阻塞队列源码系列(九):总结


阻塞队列源码系列(八):LinkedTransferQueue


阻塞队列源码系列(七):SynchronousQueue


阻塞队列源码系列(六):DelayedWorkQueue


阻塞队列源码系列(五):DelayQueue


阻塞队列源码系列(四):PriorityBlockingQueue


阻塞队列源码系列(三):LinkedBlockingDeque


阻塞队列源码系列(二):LinkedBlockingQueue


阻塞队列源码系列(一):ArrayBlockingQueue


并发集合源码系列(九):并发集合总结


并发集合源码系列(八):ConcurrentLinkedDeque


并发集合源码系列(七):ConcurrentLinkedQueue


并发集合源码系列(六):CopyOnWriteArraySet


并发集合源码系列(五):CopyOnWriteArrayList


并发集合源码系列(四):ConcurrentSkipListSet


并发集合源码系列(三):ConcurrentSkipListMap


并发集合源码系列(二):ConcurrentHashMap 扩容


并发集合源码系列(一):ConcurrentHashMap基础


并发包源码系列(十三):总结


并发包源码系列(十二):并发工具类 Exchanger


并发包源码系列(十一):并发工具类 Semaphore


并发包源码系列(十):并发工具类 CountDownLatch


并发包源码系列(九):并发工具类 CyclicBarrier


并发包源码系列(八):深入分析CAS


并发包源码系列(七):Condition


并发包源码系列(六):读写锁 ReentrantReadWriteLock


并发包源码系列(五):重入锁 ReentrantLock


并发包源码系列(四):阻塞和唤醒线程


并发包源码系列(三):同步状态的获取与释放


并发包源码系列(二):CLH同步队列


并发包源码系列(一):AQS简介


线程池系列(五):线程池总结


线程池系列(四):线程池Future体系


线程池系列(三):ScheduledThreadPoolExecutor


线程池系列(二):ThreadPoolExecutor


线程池系列(一):Executors 框架概述


听说 JVM 性能优化很难?今天我小试了一把!


盘点最受欢迎的十大技术文章


如何快速实现一个连接池?


盘点三年来写过的原创文章


JVM规范系列:总结


JVM规范系列第6章:Java虚拟机指令集


JVM规范系列第5章:加载、链接与初始化


JVM规范系列第4章:Class文件格式


JVM规范系列第3章:为Java虚拟机编译


JVM规范系列第2章:Java虚拟机结构


JVM规范系列第1章:引言


JVM规范系列开篇:为什么要读JVM规范?


开发小哥的困惑:为何要用第三方推送?


树结构系列(四):MongoDb 使用的到底是 B 树,还是 B+ 树?


树结构系列(三):B树、B+树


树结构系列(二):平衡二叉树、AVL树、红黑树


树结构系列(一):从普通树到二叉查找树


树结构系列(开篇):聊聊如何学习树结构?


PriorityQueue 是线性结构吗?90%的人都搞错了!


硬核!史上最全的工厂模式文章,从零到一全面讲解!


2月份看了17本书,我只推荐这8本!


如何从分类层面,深入理解设计模式?


程序员重构入门指南


2个观点,带你重新理解设计模式


想要与喜欢,有什么区别?


大白话聊访问者模式:从入门到实践


重构应该是一种工作习惯


如何摆脱中年危机的焦虑?


超易懂!原来SOLID原则要这么理解!


2021年1月份阅读报告


设计模式系列(开篇):为什么要学设计模式?


架构师必读:日均500万数据,如何进行数据存储选型?


有赞 CTO 崔玉松:我想打造出中国最好的技术团队


效率工具:如何快速复制页面标题和链接?


技术Leader一定要懂所有业务细节吗?


服务器费用太高?看看美团如何做研发成本优化!


2020年太分散,2021年要专注!


2,020

聊聊新博客的建站经历


Kafka 服务端配置文件详解


Kafka 生产者分区策略详解


消失的这一个月,我都做了啥?


Kafka 的消息存储结构:索引文件与数据文件


矫枉必须过正


你总是遗憾,是因为你还没想好,你的一生想怎么过!


如何快速学好 Shell 脚本?


Prometheus 入门教程(七):SpringBoot 实现自定义指标监控


Prometheus 入门教程(六):Spring Boot Actuator 实现应用监控


Prometheus 入门教程(五):Prometheus 的关键概念


Prometheus 入门教程(四):PromQL 快速入门


Prometheus 入门教程(三):Grafana 图表配置快速入门


Prometheus 入门教程(二):Prometheus + Grafana实现可视化、告警


Prometheus 入门教程(一):Prometheus 快速入门


Prometheus 入门教程(开篇):为什么要学 Prometheus ?


搞 Java 的年薪 40W 是什么水平?


闪送,为何能从顺丰中杀出一条血路?


我是高敏感的人,你呢?


介绍一本红色的书


大家都在说的民法典,与我有何关系?


线上Kafka突发rebalance异常,如何快速解决?


dig 命令使用详解:帮你记录DNS寻址全过程


DNS 入门教程:我是如何为域名找到家的


A记录都不懂,怎么做开发Leader?


2,019

Shell 快速入门教程


每周2000次会话,我是如何做到高效处理的?


为什么用Markdown,而不用Word?


如何做到长远思考?


集合系列(十六):总结


集合系列 Map(十五):TreeMap


集合系列 Map(十四):WeakedHashMap


集合系列 Map(十三):LinkedHashMap


集合系列 Map(十二):HashMap


集合系列 Queue(十一):ArrayDeque


集合系列 Queue(十):LinkedList


集合系列 Queue(九):PriorityQueue


集合系列 Set(八):TreeSet


集合系列 Set(七):LinkedHashSet


集合系列 Set(六):HashSet


集合系列 List(五):Stack


集合系列 List(四):LinkedList


集合系列 List(三):Vector


集合系列 List(二):ArrayList


集合系列(一):集合框架概述


集合系列开篇:为什么要学集合?


华为面试改革,我们该怎么跟进?


写给小白的JVM学习指南


聊聊整体性学习方法


比技术还重要的事


Kafka 入门教程:Kafka 消息是如何流转的?


聊聊我的知识体系


你分得清楚Maven的聚合和继承吗?


写给程序员的裁员防身指南


探秘 Kafka 高可用:副本复制机制


Kafka 入门教程:基础概念、快速启动


消息队列的三大重点:幂等性、有序性、可靠性


消息队列技术选型:Kafka、RocketMQ、Redis、RabbitMQ 应该怎么选?


为什么要用消息队列:应用场景与缺点


2,018

JVM基础系列第12讲:JDK性能监控命令


JVM 基础系列第 11 讲:JVM 常见参数配置(堆栈配置等)


JVM基础系列第10讲:垃圾回收的几种类型


JVM基础系列第9讲:JVM垃圾回收器


JVM基础系列第8讲:JVM 垃圾回收机制


JVM基础系列第7讲:JVM 类加载机制


JVM基础系列第6讲:Java 虚拟机内存结构


JVM基础系列第5讲:字节码文件结构


JVM基础系列第4讲:从源代码到机器码,发生了什么?


JVM基础系列第3讲:到底什么是虚拟机?


JVM基础系列第2讲:Java 虚拟机的历史


JVM基础系列第1讲:Java 语言的前世今生


JVM基础系列开篇:为什么要学虚拟机?


如何唯一确定一个 Java 类?


不读大学也能成功,七个读大学的备用选择


策略模式与SPI机制,到底有什么不同?


【超实用】面对枯燥的源码,如何才能坚持看下去?


从字节码层面,解析 Java 布尔型的实现原理


努力到底是不是天赋?


智能合约入门教程:什么是智能合约?


区块链入门教程:什么是区块链?


如何写出别人看得懂的技术文章?


我是SPI,我让框架更加优雅了!


从小米的成功,我们可以学到什么?


藏在正则表达式里的陷阱


两道面试题,带你解析Java类加载机制


我所经历的创业潮:从淘宝 C 店到美团 O2O


Java 注解入门教程


成为技术管理者,思维上应该如何转变?


如何在1年内完成大学四年的课程?


Redis 和 Mecached 到底哪个好?


MySQL这么好,为什么还有人用Oracle?


从抖音关闭评论,看服务治理的重要性


优秀程序员具备的高效习惯,你具备吗?


聊聊阿里面试的三个层次


如何通过组件化提高开发效率?


从 HelloWorld 看 Java 字节码文件结构


官方老爹之痛:为什么苹果能收到推送,而安卓不行?


测试妹子的呐喊:为什么总是收不到推送?


大白话说Java反射:入门、使用、原理


MyCat 启蒙:分布式系统的数据库架构演变


Java 泛型入门教程:入门、使用、原理


2,017

SSHKey 配置指南:高效下载 Gitlab 项目


Alfred 入门教程:你绝不能错过的效率神器


Java 日志框架入门教程:从 JDKLog 到 SLF4J


ImageMagick 入门教程:Java 图片处理解决方案


Java 动态代理入门教程:一个面包店的动态代理帝国


浅谈重构中踩过的坑


Inxi 入门教程:Linux 界的鲁大师


程序员的未来在哪里?


MongoDb 入门教程


读书应该是件快乐的事


图灵机入门教程


负载均衡入门教程:从 DNS 轮询到 NGINX 负载


ElasticSearch + Canal 开发千万级的实时搜索系统


2,010

测试文章