加载中
阿里出品Excel工具EasyExcel使用小结

前提 笔者做小数据和「零号提数工具人」已经有一段时间,服务的对象是运营和商务的大佬,一般要求导出的数据是Excel文件,考虑到初创团队机器资源十分有限的前提下,选用了阿里出品的Excel工...

JUC线程池服务ExecutorService接口实现源码分析

前提 之前的一篇文章《硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理》深入分析了JUC线程池的源码实现,特别对Executor#execute()接口的实现做了行级别的源码分析。这篇...

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

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

JUC并发组件CountDownLatch源码分析

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

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

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

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

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

解惑:Redis的HSCAN命令中COUNT参数的"失效"场景

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

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

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

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

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

08/14 23:17
288
聊聊Java内省Introspector

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

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

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

Canal v1.1.4版本避坑指南

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

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

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

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

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

08/02 13:37
33
项目架构级别规约框架Archunit调研

背景 最近在做一个新项目的时候引入了一个架构方面的需求,就是需要检查项目的编码规范、模块分类规范、类依赖规范等,刚好接触到,正好做个调研。 很多时候,我们会制定项目的规范,例如: ...

03/16 19:26
96
JDK中注解的底层实现

前提 用Java快三年了,注解算是一个常用的类型,特别是在一些框架里面会大量使用注解做组件标识、配置或者策略。但是一直没有深入去探究JDK中的注解到底是什么,底层是怎么实现了?于是参考了...

03/17 12:26
108
使用Redis实现延时任务(一)

## 前提 最近在生产环境刚好遇到了延时任务的场景,调研了一下目前主流的方案,分析了一下优劣并且敲定了最终的方案。这篇文章记录了调研的过程,以及初步方案的实现。 本文同步发布在个人博...

个人博客

笔者对于编程、架构或者页面样式有比较重的心理洁癖,之前花了大量时间去调整个人博客的样式和内容,另外,只发布原创,包括个人平时工作的一些经验、新技术的调研等等,我会确保部分方案在生...

03/20 01:15
52
使用Redis实现延时任务(二) - 监控篇

前提 前一篇文章通过Redis的有序集合Sorted Set和调度框架Quartz实例一版简单的延时任务,但是有两个相对重要的问题没有解决: 分片。 监控。 这篇文章的内容就是要完善这两个方面的功能。前...

通过源码理解Spring中@Scheduled的实现原理并且实现调度任务动态装载

前提 最近的新项目和数据同步相关,有定时调度的需求。之前一直有使用过Quartz、XXL-Job、Easy Scheduler等调度框架,后来越发觉得这些框架太重量级了,于是想到了Spring内置的Scheduling模块...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部