http://frodoking.github.io/2015/03/12/android-okhttp/ Android为我们提供了两种HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求.但更高效的使用HTTP可以让您的应用运行更快.更节省流量.而OkHttp库就是为此而生. OkHttp是一个高效的HTTP库: 支持 SPDY ,共享同一个…
ReentrantLock不但是可重入锁,而且还是公平或非公平锁,在工作中会经常使用到,将自己对这两种锁的理解记录下来,希望对大家有帮助. 前提条件 在理解ReentrantLock时需要具备一些基本的知识 理解AQS的实现原理 之前有写过一篇<深入浅出AQS源码解析>关于AQS的文章,对AQS原理不了解的同学可以先看一下 什么是可重入锁 当一个线程已经持有锁,如果该现在再次获取锁,是否可以获取成功?如果能获取成功则说明该锁是可重入的,否则是不可重入的 什么是公平锁和非公平锁 公平与非公平的一…
读写锁实现逻辑相对比较复杂,但是却是一个经常使用到的功能,希望将我对ReentrantReadWriteLock的源码的理解记录下来,可以对大家有帮助 前提条件 在理解ReentrantReadWriteLock时需要具备一些基本的知识 理解AQS的实现原理 之前有写过一篇<深入浅出AQS源码解析>关于AQS的文章,对AQS原理不了解的同学可以先看一下 理解ReentrantLock的实现原理 ReentrantLock的实现原理可以参考<深入浅出ReentrantLock源码解析>…
Semaphore通过permits的值来限制线程访问临界资源的总数,属于有限制次数的共享锁,不支持重入. 前提条件 在理解Semaphore时需要具备一些基本的知识: 理解AQS的实现原理 之前有写过一篇<深入浅出AQS源码解析>关于AQS的文章,对AQS原理不了解的同学可以先看一下 Semaphore源码解析 Semaphore中有3个内部类,分别是Sync.NonfairSync和FairSync,Sync是NonfairSync和FairSync的抽象类,我们会从解读Semaphore…
转自:http://www.open-open.com/lib/view/open1472216742720.html https://blog.piasy.com/2016/07/11/Understand-OkHttp/ OkHttp官网地址:http://square.github.io/okhttp/OkHttp GitHub地址:https://github.com/square/okhttp 本文是 Piasy 原创,发表于 https://blog.piasy.com,请阅读原文支…
前几篇准备写完feign的源码,这篇直接给出Feign的最佳实践,考虑到目前网上还没有一个比较好的实践解释,对于新使用spring cloud的同学会对微服务之间的依赖产生一些迷惑,也会走一些弯路.这里给出目前本人在公司推荐的最佳实践,供各位参考. 1,服务提供方在Facade层定义好接口信息,包括接口路径,请求方式,入参,出参,返回错误等,并提供jar. 2,服务调用方项目引入提供方Facade层的jar,在自己项目中抄一份接口的定义,再包一层代理提供给自己业务层调用. 抄一份虽然说看起来不是…
最近一直在研究AQS的源码,希望可以更深刻的理解AQS的实现原理.虽然网上有很多关于AQS的源码分析,但是看完以后感觉还是一知半解.于是,我将自己的整个理解过程记录下来了,希望对大家有所帮助. 基本原理 AQS是Java中锁的基础,主要由两个队列组成.一个队列是同步队列,另一个是条件队列. 同步队列的原理 同步队列的队列头部是head,队列尾部是tail节点,head节点是一个空节点,同步队列是一个双向链表,通过next和prev连接所有节点 所有的线程在竞争锁的时候都会创建一个Node节点,线…
接着上一章继续分析上一章主要简单说了一下基本使用和注解,这一章,我们主要看源码,废话不多说了,直接上.先上一张图 从网络上拿来的 前面一章说了一下Retrofit的简单使用https://www.cnblogs.com/huangjialin/p/9492182.html //创建retrofit Retrofit retrofit = new Retrofit.Builder() .baseUrl(url) //设置baseURl .addConverterFactory(ScalarsCon…
简介Retrofit是Square公司开发的一款针对Android网络请求的框架,官网地址http://square.github.io/retrofit/ ,在官网上有这样的一句话介绍retrofit,A type-safe HTTP client for Android and Java.我们知道Retrofit底层是基于OKHttp实现的.对okhttp不了解的同学可以看看这一篇文章.okhttp源码解析https://www.cnblogs.com/huangjialin/p/94693…
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/NGgUD5FBQaA/优酷:http://v.youku.com/v_show/id_…