- 博客(5)
- 收藏
- 关注
原创 Java中的线程同步API
前言CPU寄存器由于CPU运算器的运算速度非常快,如果运算器直接操作内存(主存)中的数据,虽然内存中的数据的读写速度已经很快了,跟CPU的技术周期相比还是太慢,数据的I/O会成为瓶颈,会拖慢CPU输出的计算性能所以在CPU设计时,为了提高技术性能,CPU在内部开辟一小块临时存储区域,并在进行运算时先将数据从内存复制到这一小块临时存储区域中,运算时就在这一小快临时存储区域内进行,提高了I/...
2018-12-16 19:47:51 328
原创 分布式锁的三种实现
前言锁机制是为了解决资源的并发操作带来的数据不一致问题单进程情况下:即多线程并发访问在一个JVM进程中,JDK的API提供了丰富的解决方案,比如synchronized关键字(被动同步锁标记)、lock(主动加锁)、volatile(可见性)、concurrent工具包(原子类)多进程情况下:分布式系统中的并发访问在一个高并发业务的服务集群中,大量的业务请求被分流到集群中不同的进程中进行...
2018-12-09 11:45:54 267
原创 Java中的插件自动发现机制
前言依赖自动发现机制是为了提高程序的扩展性,降低代码的耦合度。在不对核心代码做修改和配置的前提下,只需在classpath下添加依赖,就能将插件接入到系统中。遵循的基本原则面向接口编程核心代码面向接口编程约定大于配置根据约定目录下的配置,读取并加载接口实现类JDK自带的SPISPI 全称为 (Service Provider Interface) ,是JDK内置的一...
2018-12-02 18:44:02 2290
原创 Dubbo服务调用过程
引用refer根据远端服务的接口serviceType和服务地址信息url创建RPC代理public <T> Invoker<T> refer(Class<T> serviceType, URL url) throws RpcException { optimizeSerialization(url); // create rpc in...
2018-12-01 22:18:42 354
原创 Dubbo服务暴露过程
Dubbo服务暴露过程服务提供方ServiceImpl`getInvoker` - 获取触发器`Wrapper` - 动态的ServiceImpl的处理类ServiceImpl Invoker - 本地业务实现触发器export - 暴露本地服务step 1:将Invoker对象转化成ExporterDubboExporterstep 2:暴露网络服务step 3:处理远端调用ExchangeHa...
2018-11-28 21:06:58 2043
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人