聊一下分布式事务 发表于 2020-07-20 | 分类于 分布式 | | 阅读次数: 字数统计: 4.2k 字 | 阅读时长 ≈ 14 分钟在微服务架构盛行的情况下,在分布式的多个服务中保证业务的一致性,即分布式事务就显得尤为重要。本文将讲述分布式事务及其解决方案,有XA协议、TCC和Saga事务模型、本地消息表、事务消息和阿里开源的Seata。阅读全文 »
Java常见bean mapper的性能及原理分析 发表于 2020-07-07 | 分类于 java , orika | | 阅读次数: 字数统计: 7.3k 字 | 阅读时长 ≈ 37 分钟在分层的代码架构中,层与层之间的对象避免不了要做很多转换、赋值等操作,这些操作重复且繁琐,于是乎催生出很多工具来优雅,高效地完成这个操作,有BeanUtils、BeanCopier、Dozer、Orika等等,本文将讲述上面几个工具的使用、性能对比及原理分析。阅读全文 »
规则引擎EasyRules 发表于 2020-02-20 | 分类于 java , easyrules | | 阅读次数: 字数统计: 1.8k 字 | 阅读时长 ≈ 8 分钟EasyRules是一个简单实用的规则引擎,Rule Engine的作用就是分离判断逻辑和对应的执行逻辑的,即不要写一堆的if...else代码,这样会让人很难理解与维护。EasyRules就可以帮你做到这点。阅读全文 »
MpscGrowableArrayQueue分析 发表于 2020-02-17 | 分类于 java | | 阅读次数: 字数统计: 2.6k 字 | 阅读时长 ≈ 11 分钟MpscGrowableArrayQueue是JCTools里的一个工具,是对于特定场景化的定制,即MPSC(Multi-Producer & Single-Consumer),在这种场景下,相对于BlockingQueue,能够满足高性能的需要。阅读全文 »
Caffeine高性能设计剖析 发表于 2019-12-17 | 分类于 java , caffeine | | 阅读次数: 字数统计: 9.1k 字 | 阅读时长 ≈ 41 分钟Caffeine是一个高性能,高命中率,低内存占用,near optimal的本地缓存,本文将重点讲解Caffeine的高性能设计,以及对应部分的源码分析。阅读全文 »
Striped64和LongAdder 发表于 2019-10-08 | 分类于 java , juc | | 阅读次数: 字数统计: 609 字 | 阅读时长 ≈ 2 分钟LongAdder是JDK1.8新增的,并发性、性能比AtomicLong高的,用于计数的这么一个类。本文着重讲解LongAdder的设计思想。阅读全文 »
Guava Cache实现原理及最佳实践 发表于 2019-07-28 | 分类于 java , guava | | 阅读次数: 字数统计: 5.2k 字 | 阅读时长 ≈ 22 分钟本文内容包括Guava Cache的使用、核心机制的讲解、核心源代码的分析以及最佳实践的说明。阅读全文 »
Condition 发表于 2019-05-02 | 分类于 java , juc | | 阅读次数: 字数统计: 2.6k 字 | 阅读时长 ≈ 10 分钟在JDK1.5之后出了Condition,它可以实现在同步语义中的等待/通知,以此来实现线程之间通信或协同阅读全文 »
Code Review方案 发表于 2019-04-11 | 分类于 routine | | 阅读次数: 字数统计: 415 字 | 阅读时长 ≈ 1 分钟Code Review是软件工程中重要的一环,特别是在大公司规范的流程中。大家也逐渐意识到Code Review的重要性以及它带来的好处,本文跟大家讨论一下Code Review的实践方案。阅读全文 »