Loading...
动态代理是 `Java` 语言中非常经典的一种设计模式,也是所有设计模式中最难理解的一种。本文将通过一个简单的例子模拟 `JDK` 动态代理实现,让你彻底明白动态代理设计模式的本质。
又一年即将结束,时间过得真的很快,快到不敢静下来细细回忆。小时候觉得二十多岁的人年纪好大,再后来觉得三十岁应该离自己很远吧,没想到自己的三十而立之年来的这么“快”,总感觉自己还很是个小孩,总感觉自己还没长大,实际已经到了上有老下有小的年纪...19 年最开心的事儿就是当了爸爸,真心的感谢媳妇艰辛付出,感激上天给我们最好的礼物。最不幸的事是父亲得了一场大病,家人辛苦奔波不说父亲也是受尽了病痛的...
Rust 中字符串和 Java 和 Go 中的表示有很大的区别,刚开始接触的时候有点儿懵,今天花点时间总结备忘一下。Rust 字符串有两种形式:str 和 String,str 是内置的原始数据类型,通常是以借用的形式(&str 字符串 slice)使用,而 String 是标准库提供的一种结构体,内部存储一个 u8 类型的 Vec:pub struct String { v...
网关做灰度的时候,要控制流量的比例,比如 3:7 的分发流量到两个不同版本的服务上去。刚开始的想法是每次流量过来生成 100 以内的随机数,随机数落在那个区间就转到那个版本的服务上去,但是发现这样无法较精准的保证 3:7 的比例,因为有可能某段时间内生成的随机数大范围的落在某个区间内,比如请求了 100 次,每次生成的随机数都是大于 30 的,这样 70% 比例的服务就承受了 100% 的流...
提到分布式应用,就不得不考虑分布式事务。在分布式事务中,常见的有 CAP,BASE 理论,解决方案也有很多种,比如:2PC、TCC 、最终一致性等。2PC(两阶段提交)比较适合单块应用,跨多个库的分布式事务。因为严重依赖于数据库层面来搞定复杂的事务,效率很低,绝对不适合高并发的场景,而且,对于微服务而言,不推荐一个服务出现跨多个数据库操作, 如果需要操作其它数据库数据,推荐通过调用别的服务接...
通俗的理解,事务是一组原子操作单元。我们希望一些列的操作能够全部正确执行,如果这一组操作中的任意一个步骤发生错误,那么就需要回滚之前已经完成的操作。也就是...
接着上次 JVM 中 GC 机制的总结,这次主要复习一下垃圾收集的常用算法和 Minor GC、Full GC 相关的一些知识点。一、垃圾收集算法1.1 ...
在 JVM 运行时数据区域中,程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个...
一些零碎的知识点总是似懂非懂,用法老是模棱两可,每次都要去网络上查询,长时间不用又忘记了。比如 Java 中的位运算。今天抽空归纳总结一下,加强一下记忆。...
SQL 标准定义了 4 类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。SQL 事务隔离级别说明Read Uncommitted(读取未提交内容)在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读...