摘要:
假设当前的场景是这样的,用户量会很大,有一个注册接口,用户在注册时会输入一系列信息,比如用户名(主要想表示它为冷数据)等等。要求:1.能承受一定的并发访问。2.即使是并发调用,要必须要保证用户名不能重复。3.单次注册耗时尽可能短。只考虑单个mysql,单个redis。 第一个想到的是,为了使得系统承 阅读全文
摘要:
package example.java; /** * @author 杜科 * @description 简单动态字符串,非线程安全。采取类似buffer的设计,使其成为一个可以方便重用的StringBuilder * @contact AllenDuke@163.com * @date 2020 阅读全文
摘要:
package example.java; /** * @author 杜科 * @description 定制化的HashMap * 简单测试 * 当量级为百万级时,比起HashMap<Integer,V> put提升超8倍,get提升超10倍。似乎此时最佳 * 当量级增大到千万级时,put的性能 阅读全文
摘要:
题目与参赛代码:https://github.com/AllenDuke/kcode 这应该是我第一次参加计算机类比赛,除开学校举办的程序设计赛的话。我能感觉到自己的水平提升了很多,学到了解决问题可从多个角度入手,尝试,用多个指标来衡量,然后挑出最优角度,最后从这个角度再出发,不断优化。 一般我的思 阅读全文
摘要:
其中难点:1. 网络传输可以用netty。2. 低侵入,使用注解@GlobalTranscational,定义切面处理该注解。3. 定义切面接管Connection。在有@GlabalTranscational注解,即开启全局事务的情况下,应使用经处理、可控制的Connection,使得spring 阅读全文
摘要:
ByteBuf释放不当容易造成内存泄漏。 一般情况下,业务handler中使用到的ByteBuf可以分为两类,请求ByteBuf和响应ByteBuf。如下: public class MyServerHandler extends SimpleChannelInboundHandler<ByteBu 阅读全文
摘要:
以定长解码器为例,理清脉络。 NioEventLoop,run @Override protected void run() { int selectCnt = 0; for (;;) { //..... else if (strategy > 0) { final long ioStartTime 阅读全文
摘要:
说在前面 trivial是根据之前设计的RPC框架而来的(还在增进当中),其中较为不同的一个点为,在客户端去掉了业务线程池,因为既然都要等待,不必要再加一层。 进入正题 有在网上看到这样的信息,“之前有简单提到过, dubbo默认采用了netty做为网络组件,它属于一种NIO的模式。消费端发起远程请 阅读全文