Dubbo之ProxyFactory

概述在分析服务暴露和服务引用的都提到ProxyFactory,它是Dubbo的代理工厂,只定义了两个方法。getInvoker,暴露服务时调用,将ref(真正的服务实现类)转化为InvokergetProxy,引用服务时调用,将Invoker对象转化为proxy代理对象InvokerInvoker
2021年09月05日 827次浏览

领域驱动架构(DDD)建模中的模型到底是什么?

要回答这个问题,需要三步走:为什么要建模;怎么建模才合理;“领域”模型具体指什么。为什么要建模客户在专卖店买了个手机,留下了自己的名字和电话,店员做了记录。客人来时,只要店员能在记录里查到客人名字和电话的订单,就说明客人曾经买过手机。什么人需要查看订单呢?店员 A 需要查看,店员 B 也需要查看。客
2021年09月05日 829次浏览

String.intern()详细分析(JDK1.8)

段落引用 前言   本文的测试环境是JDK1.8。段落引用String.intern()分析在文中偏后参考 https://blog.csdn.net/tyyking/article/details/82496901一.创建字符串分析1.直接使用双引号创建字符串判断这个常量是否存在于常量池,如果存在
2021年09月05日 817次浏览

Redis重大版本简介

Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2),当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,所以我们在生产环境通常选取偶数
2021年08月31日 846次浏览

Netty 之IdleStateHandler心跳机制

基础心跳机制心跳是在TCP长连接中,客户端和服务端定时向对方发送数据包通知对方自己还在线,保证连接的有效性的一种机制在服务器和客户端之间一定时间内没有数据交互时, 即处于 idle 状态时, 客户端或服务器会发送一个特殊的数据包给对方, 当接收方收到这个数据报文后, 也立即发送一个特殊的数据报文,
2021年08月28日 894次浏览

NUMA架构的CPU

从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构(SMP:Symmetric Multi-Processor),非一致存储访问结构(NUMA:Non-Uniform Memory Access),以及海量并行处理结构(MPP:Massive Parallel Processing
2021年08月26日 1,304次浏览

MySQL游标分页与传统分页

传统分页通常在分页时(以 HTTP 协议 GET 方法举例),会携带两个可选参数,limit和offset。或者是携带一个 page 参数,如果是 limit,offset 参数,在后端从数据库获取数据时,便是直接的使用 LIMIT 关键字查询,如下使用 page 参数控制翻页的实现方式与上面大同小
2021年08月25日 2,209次浏览

Netty的内存池设计

一、简介netty作为一款优秀的通信框架,不可避免的需要面对频繁的数据读入与写出,此时肯定会导致大量ByteBuf对象的创建,为了减少频繁申请内存带来的开销与gc,netty设计了内存池。二、内存池设计的演化假设让你设计一个内存池,你会怎么设计?也许你会创建一个字节数组,然后分配一定的大小,像下面这
2021年08月22日 948次浏览

计算机缓存Cache以及Cache Line详解

1.计算机存储体系简介存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也因此越小。寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2等缓存),再次是主存(普通内存),再次是本地磁盘。寄存器的速度最快,可以在一个时钟周期内访
2021年08月20日 1,914次浏览

happens-before理解和应用

理解happens-before主要为了理解源码。主要jdk里面一堆华丽呼哨的操作,如果基础不牢靠,看着心累。目录:1.happens-before的理解2.应用1,futuretask non-volatile引用:1.why outcome object in FutureTask is non
2021年08月20日 711次浏览