11 2021 档案
发表于 2021-11-30 22:45阅读:597评论:0推荐:1
摘要:前面已经讲过了雪花算法,里面使用了System.currentTimeMillis()获取时间,有一种说法是认为System.currentTimeMillis()慢,是因为每次调用都会去跟系统打一次交道,在高并发情况下,大量并发的系统调用容易会影响性能(对它的调用甚至比new一个普通对象都要耗时,
阅读全文 »
发表于 2021-11-15 23:57阅读:4290评论:0推荐:4
摘要:前面文章在谈论分布式唯一ID生成的时候,有提到雪花算法,这一次,我们详细点讲解,只讲它。 SnowFlake算法 据国家大气研究中心的查尔斯·奈特称,一般的雪花大约由10^19个水分子组成。在雪花形成过程中,会形成不同的结构分支,所以说大自然中不存在两片完全一样的雪花,每一片雪花都拥有自己漂亮独特的
阅读全文 »
发表于 2021-11-09 22:35阅读:1045评论:3推荐:5
摘要:分布式唯一ID介绍 分布式系统全局唯一的 id 是所有系统都会遇到的场景,往往会被用在搜索,存储方面,用于作为唯一的标识或者排序,比如全局唯一的订单号,优惠券的券码等,如果出现两个相同的订单号,对于用户无疑将是一个巨大的bug。 在单体的系统中,生成唯一的 id 没有什么挑战,因为只有一台机器一个应
阅读全文 »
发表于 2021-11-08 22:43阅读:147评论:0推荐:0
摘要:cglib 动态代理 cglib介绍 CGLIB 是一个开源项目,一个强大高性能高质量的代码生成库,可以在运行期拓展 Java 类,实现 Java 接口等等。底层是使用一个小而快的字节码处理框架 ASM,从而转换字节码和生成新的类。 理论上我们也可以直接用 ASM 来直接生成代码,但是要求我们对 J
阅读全文 »
发表于 2021-11-06 21:09阅读:108评论:0推荐:0
摘要:前面文章有说到代理模式:http://aphysia.cn/archives/dynamicagentdesignpattern 那么回顾一下,代理模式怎么来的?假设有个需求: 在系统中所有的 controller 类调用方法之前以及之后,打印一下日志。 假设原来的代码: public class
阅读全文 »