使用开源文档工具docsify,用写博客的姿势写文档

前提 ❝ 下面的简介摘抄自docsify的官网 https://docsify.js.org 中的简介❞ 「docsify」是一个神奇的文档网站生成器。他可以快速帮你生成文档网站。不同于GitBook、Hexo的地方是它不会生成静...

2020/09/02 08:30
568
JUC并发组件CountDownLatch源码分析

前提 之前已经花了大量时间分析同步器框架AQS的源码实现,这篇文章分析一下CountDownLatch的源码实现,本文参看的JDK源码为JDK11,其他版本不一定适合。 ❝ CountDownLatch其实是复合名词,由...

硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理

前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章。之前在分析扩展线程池实现可回调的Future时候曾经提到并发大师D...

2020/08/24 12:10
6.4K
Canalv1.1.4版本搭建HA集群

前提 Canal上一个正式版是于2019-9-2发布的v1.1.4,笔者几个月前把这个版本的Canal推上了生产环境,部署了HA集群。过程中虽然遇到不少的坑,但是在不出问题的前提下,Canal的作用还是非常明显...

2020/08/22 12:08
303
解惑:Redis的HSCAN命令中COUNT参数的"失效"场景

前提 ❝ 这是一篇Redis命令使用不当的踩坑经历分享❞ 笔者最近在做一个项目时候使用Redis存放客户端展示的订单列表,列表需要进行分页。由于笔者先前对Redis的各种数据类型的使用场景并不是十...

2020/08/20 08:30
643
SpringBoot2.x入门:使用JPA

前提 这篇文章是《SpringBoot2.x入门》专辑的「第9篇」文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8。 这篇文章会介绍一下SpringBoot如何引入和使用JPA。JPA,即Java Persiste...

如何白piao一个免费的泛域名SSL证书

前提 为了给个人博客提速,全部静态资源放到云上的对象存储中,并且加了CDN,耗费了不少RMB。新申请的域名也备案通过了,但是SSL证书一般需要按年付款,看了下「鹅云」上最便宜的泛域名证书也...

2020/08/14 23:17
2K
聊聊Java内省Introspector

前提 这篇文章主要分析一下Introspector(内省,应该读xing第三声,「没有找到很好的翻译,下文暂且这样称呼」)的用法。Introspector是一个专门处理JavaBean的工具类,用来获取JavaBean里描...

冷饭新炒:理解Snowflake算法的实现原理

前提 Snowflake(雪花)是Twitter开源的高性能ID生成算法(服务)。 上图是Snowflake的Github仓库,master分支中的REAEMDE文件中提示:初始版本于2010年发布,基于Apache Thrift,早于Finag...

Canal v1.1.4版本避坑指南

前提 在忍耐了很久之后,忍不住爆发了,在掘金发了条沸点(下班时发的): 这是一个「令人悲伤的故事」,这条情感爆发的沸点好像被屏蔽了,另外小水渠(Canal意为水道、管道)上线一段时间,...

2020/08/06 08:30
1K
Java线程生命周期与状态切换

前提 最近有点懒散,没什么比较有深度的产出。刚好想重新研读一下JUC线程池的源码实现,在此之前先深入了解一下Java中的线程实现,包括线程的生命周期、状态切换以及线程的上下文切换等等。编...

jdk
2020/08/05 10:54
3K
MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘

背景 最近有一个数据统计服务需要升级SpringBoot的版本,由1.5.x.RELEASE直接升级到2.3.0.RELEASE,考虑到没有用到SpringBoot的内建SPI,升级过程算是顺利。但是出于代码洁癖和版本洁癖,看到...

2020/08/02 13:37
214
硬核干货:5W字17张高清图理解同步器框架AbstractQueuedSynchronizer

前提 并发编程大师「Doug Lea」在编写JUC(java.util.concurrent)包的时候引入了java.util.concurrent.locks.AbstractQueuedSynchronizer,其实是Abstract Queued Synchronizer,也就是"基于...

2020/07/23 23:50
50
深入理解Object提供的阻塞和唤醒API

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 前段时间花了大量时间去研读JUC中同步器AbstractQueuedSynchronizer的源码实现,再结合很久之前看...

jdk
2020/07/20 14:05
2.3W
SpringBoot2.x入门:使用MyBatis

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 这篇文章是《SpringBoot2.x入门》专辑的「第8篇」文章,使用的SpringBoot版本为2.3.1.RELEASE,J...

深入理解Java的动态编译

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 笔者很久之前就有个想法:参考现有的主流ORM框架的设计,造一个ORM轮子,在基本不改变使用体验的...

单链表中间节点搜索和快慢指针

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 今天(2019-05-10)中午吃饭的时候刷了下技术类型的公众号,看到有前辈过了Ant的高P面试,其中有...

2020/07/17 08:30
114
Levenshtein Distance(编辑距离)算法与使用场景

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 已经很久没深入研究过算法相关的东西,毕竟日常少用,就算死记硬背也是没有实施场景导致容易淡忘...

线程上下文类加载器ContextClassLoader内存泄漏隐患

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 今天(2020-01-18)在编写Netty相关代码的时候,从Netty源码中的ThreadDeathWatcher和GlobalEve...

2020/07/17 08:30
111
SpringBoot2.x入门教程:引入jdbc模块与JdbcTemplate简单使用

点击上方蓝字 ↑↑ Throwable文摘 关注公众号设置星标,不定时推送高质量原创文章 关注 前提 这篇文章是《SpringBoot2.x入门》专辑的「第7篇」文章,使用的SpringBoot版本为2.3.1.RELEASE,J...

没有更多内容

加载失败,请刷新页面