摘要:
这篇博客主要是用来对ArrayList的源码解析,相信大家在工作中对ArrayList的使用应该是非常多的,下面我将详细分析他们源码,看能否帮大家查漏补缺,作者使用的IDE是IntelliJ,jdk版本是1.8,建议读者也用相同的环境打开源码跟着一起分析,下面正式进入主题: 首先我们先看下Array 阅读全文
摘要:
我们在前面讲的 "服务调用" 里面会发现有这样一段代码: 这段代码就是我们说的根据SPI加载代理类,这个代理类可以在服务调用时候指定,jdk或者javassist两种,这两种区别我这里简单讲一下:jdk代理是基于反射生成代理类的,所以必须要求代理类是接口或者抽象类,而javassist是基于ASM字 阅读全文
摘要:
前两讲过了SOFA RPC的 "服务发布" 和 "SPI" ,再次基础上我们在讲一下服务调用,也就是consumer端,我们首先看一段SOFA RPC的example上面的一段代码: 这个发布我们就以DefaultConsumerBootstrap为例 我们来看下这个服务调用都做了些啥: 1、构建自 阅读全文
摘要:
SOFA RPC 源码解析 1、 "SOFA RPC 源码解析 —— 服务发布篇" 从SOFA RPC 源码解析 —— 服务发布篇中来看有很多地方我都提到了SPI,那么什么是SPI呢,我们简单介绍下JAVA的SPI流程:JAVA的SPI运行流程是运用java.util.ServiceLoader这个 阅读全文
摘要:
有一阵子没有更新源码解析了,最近关注了一个微服务框架SOFA RPC这是蚂蚁金服的一个开源框架,地址在:https://github.com/sofastack/sofa rpc, 这个框架还是一个朋友推荐的,看了第一部分它的发布流程没想到代码写的很精简易懂,封装性也很好,更大的激发了我看它的乐趣, 阅读全文
摘要:
判断类与实例的关系有以下三种方式 1、instanceOf 关键字,用来判断对象是否是类的实例 2、isInstance方法,用来判断对象是否属于某个类型的实例 3、isAssignableFrom,用来判断类型间是否存在派生关系 先贴一下他们的使用方法和为true的情况 具体我就没有写方法验证了。 阅读全文