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