摘要:
OkHttp连接池put和get方法: 在上一次【https://www.cnblogs.com/webor2006/p/9281429.html】咱们分析了连接拦截器,如下: 不管是Http1.0还是Http2.0,它们的keep-alive机制或者Http2.0的多路复用机制在实现上都需要引入一 阅读全文
摘要:
主流程分析: 继续分析okhttp的拦截器,继上次分析了CacheInterceptor缓存拦截器之后,接下来到连接拦截器啦,如下: 打开看一下它的javadoc: 而整个它的实现不长,如下: 也就是真正发起与服务器的连接就是从这个拦截器开始滴,还是按惯例分析拦截器就得看它的intercept()方 阅读全文
摘要:
在上一次【https://www.cnblogs.com/webor2006/p/9150658.html】了解了缓存的存与取的细节之后,接下来就可以分析一下OkHttp的缓存拦截器啦: OkHttp的缓存其实都是由该缓存来完成的,所以来看一下它的intercept()的实现细节: 那进一步来看一下 阅读全文
摘要:
ThreadGroup初识: 这次来学习一个新的线程概念 线程组(ThreadGroup),首先从JDK文档中对它进行一个大致的了解,如下: 下面开始用代码来进行说明,对于一个线程来说如果没有指定其线程组,那它就属于当前线程所属的线程组,对于main()方法中的当前线程我们知道是main线程,那它的 阅读全文
摘要:
关于线程上下文类加载器已经在之前学得比较透了,作为一个收尾,这里用平常J2EE开发时JDBC连接Mysql数据库常见的一段代码通过分析它的底层进一步加深对线程上下文类加载器的理解,所以先来将连接应用代码写上,注意:这里不力求真正的去完成数据的连接,重在在分代码,如下: 说实话如今的工作重点是搞and 阅读全文
摘要:
在上一次【https://www.cnblogs.com/webor2006/p/9260949.html】已经对ServiceLoader这个类的javadoc通读了一遍,这次来分析一下它是如何来加载驱动的底层细节,先来回顾一下上一次编写的程序: 然后重点是看第一句加载的代码: 那跟进去看一下呗, 阅读全文
摘要:
对于线程上下文类加载器在之前已经对它进行了详细的理论化的学习,其中对于这个类加载器应用最多的也就是在SPI场合下用来打破双亲委托机制,如之前所描述的: 这次举一个具体的例子来进一步的加深对线程上下文类加载器的理解,这里以mysql为例,当然首先得要将mysql的依赖jar给导进来喽,如下: 好~~万 阅读全文
摘要:
在上一次【https://www.cnblogs.com/webor2006/p/9248621.html】对线程上下文类加载器进行理论化的了解,这里回忆一下重点之处: 这里以JDBC的这种SPI场景用图来更具体的描述一下: 而根据这个理论: 很明显JDBC会去引用JDBCImpl的具体厂商的实现, 阅读全文
摘要:
在上一次【https://www.cnblogs.com/webor2006/p/9246850.html】分析源码中发现有两处设置线程上下文类加载器的代码,如下: 因为它是非常重要的东东,所以这次专门对它进行主题展开,主要的作用为了改变委托双亲模式在某些场景不太适用或者是无法满足需求的,下面先写一 阅读全文
摘要:
基于上一次【https://www.cnblogs.com/webor2006/p/9240898.html】Launcher的分析继续,上次分析到了这: 接着创建应用类加载器,其创建过程其扩展类加载器类似,如下: 这里有一个细节: 因为扩展类加载器是应用类加载器的父亲,所以没必要也记录扩展类加载器 阅读全文