[转]理解 Java 动态代理

动态代理是 Java 语言中非常经典的一种设计模式,也是所有设计模式中最难理解的一种。本文将通过一个简单的例子模拟 JDK 动态代理实现,让你彻底明白动态代理设计模式的本质。

什么是代理

从字面意思来看,代理比较好理解,无非就是代为处理的意思。举个例子,你在上大学的时候,总是喜欢逃课。因此,你拜托你的同学帮你答到,而自己却窝在宿舍玩游戏… 你的这个同学恰好就充当了代理的作用,代替你去上课。

Read more →

三十而立之年

又一年即将结束,时间过得真的很快,快到不敢静下来细细回忆。小时候觉得二十多岁的人年纪好大,再后来觉得三十岁应该离自己很远吧,没想到自己的三十而立之年来的这么“快”,总感觉自己还很是个小孩,总感觉自己还没长大,实际已经到了上有老下有小的年纪…
Read more →

Rust 中字符串总结

Rust 中字符串和 JavaGo 中的表示有很大的区别,刚开始接触的时候有点儿懵,今天花点时间总结备忘一下。
Read more →

按比例控制流量的一种实现

网关做灰度的时候,要控制流量的比例,比如 3:7 的分发流量到两个不同版本的服务上去。刚开始的想法是每次流量过来生成 100 以内的随机数,随机数落在那个区间就转到那个版本的服务上去,但是发现这样无法较精准的保证 3:7 的比例,因为有可能某段时间内生成的随机数大范围的落在某个区间内,比如请求了 100 次,每次生成的随机数都是大于 30 的,这样 70% 比例的服务就承受了 100% 的流量。
Read more →

关于跑步

天气暖和了,19 年的跑步计划已经在心中盘算好久了,本打算昨天生日的时候去开始的,结果天公不作美,一直在下小雨。
Read more →