11 2021 档案

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

点击右上角即可分享
微信分享提示