在之前的博客中我们知道Okhttp在发起链接请求先从链接池中获取连接,如果链接池中没有链接则创建新的链接RealConnection对象,然后执行其connet方法打开SOCKET链接(详见< OkHtp之ConnectInterceptor简单分析>): rivate RealConnection findConnection(...){ result = new RealConnection(connectionPool, selectedRoute); result.connect(co…
在< Okhttp之RealConnection建立链接简单分析>一文中简单的分析了RealConnection的connect方法的作用:打开一个TCP链接或者打开一个隧道链接,在打开tcp链接之后就调用establishProtocol,本篇主要是对此方法来进行分析: */ private void establishProtocol(ConnectionSpecSelector connectionSpecSelector) throws IOException { //不是https请…
开篇声明:由于本篇博文用到的一些观点或者结论在之前的博文中都已经分析过,所以本篇博文直接拿来用,建议读此博文的Monkey们按照下面的顺序读一下博主以下博文,以便于对此篇博文的理解: <Okhttp源码简单解析(一)> <OkHttp之BridgeInterceptor简单分析> < Okhttp之CacheInterceptor简单分析> <OkHtp之ConnectInterceptor简单分析> <Okhttp之RouteSelector简单解析…
在Okhttp源码分析专栏的几篇博客分析了Okhttp几个拦截器的主要功能,还剩下最后一个拦截器CallServerInterceptor没有分析,本篇博客就简单分析下该拦截器的功能. 在Okhttp拦截器链上CallServerInterceptor拦截器是最后一个拦截器,该拦截器前面的拦截器ConnectInterceptor主要负责打开TCP链接(详见< OkHttp之ConnectInterceptor简单分析 >).而CallServerInterceptor的主要功能就是-向服务器…
在< Okhttp之CacheInterceptor简单分析 >这篇博客中简单的分析了下缓存拦截器的工作原理,通过此博客我们知道在执行完CacheInterceptor之后会执行下一个浏览器--ConnectInterceptor,本篇就对此拦截器的工作做简单的梳理,Connect顾名思义该拦截器的主要作用是打开了与服务器的链接,正式开启了网络请求,还是从intercept方法说起: public Response intercept(Chain chain) throws IOExcepti…
在< Okhttp源码简单解析(一) >这篇博客简单分析了Okhttp请求的执行流程,通过该篇博客我们知道OkHttp的核心网络请求中内置"拦截器"发挥了重大作用:本篇就对OkHttp内置拦截器链上第二个拦截器BridgeInterceptor的 作用进行简单的分析(第一个拦截器为RetryAndFollowUpInterceptor,因为本系列博客逻辑顺序关系,这个拦截器放后面讲解). Bridge,桥,什么桥?当然是链接客户端代码和网络代码的桥梁.正如官方对此类的注释所…
<OkHttp之BridgeInterceptor简单分析 >简单分析了BridgeInterceptor的工作原理,在Okhttp的拦截器链上BridgeInterceptor的下一个拦截器就是CacheInterceptor,所以本文就对此拦截器的功能做一个简单的梳理.顾名思义,该拦截器的工作跟缓存有关. 正如浏览器在访问网络请求的时候提供缓存功能一样,Okhttp也提供了缓存功能,使用Okhttp的缓存其实跟浏览器的缓存有相似之处:不像使用图片缓存框架那样,如果有缓存图片框架会直接使用缓…
学了爬虫之后,都只是爬取一些简单的小页面,觉得没意思,所以我现在准备爬取一下豆瓣上张艺谋导演的“影”的短评,存入数据库,并进行简单的分析和数据可视化,因为用到的只是比较多,所以写一篇博客当做笔记. 第一步:想要存入数据库就必须与数据库进行链接,并建立相应的数据表,这里我是在win10下使用oracle数据库. 经过思考,我认为我们爬取一个短评的时候,只需要用到几个字段: 1.用户名 2.评论的日期 3.这个评论有多少人点赞 4.这个用户给电影打几分 5.用户的评价 接下来写一个函数,这个函数的功…
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x264源代码简单分析:x264命令行工具(x264.exe) x264源代码简单分析:编码器主干部分-1 x264源代码简单分析:编码器主干部分-2 x264源代码简单分析:x264_slice_write() x264源代码简单分析:滤波(Filter)部分 x264源代码简单分析:宏块分析(Anal…
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 FFmpeg源代码结构图 - 编码 [通用] FFmpeg 源代码简单分析:av_register_all() FFmpeg 源代码简单分析:avcodec_register_all() FFmpeg 源代码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源代…
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 FFmpeg源代码结构图 - 编码 [通用] FFmpeg 源代码简单分析:av_register_all() FFmpeg 源代码简单分析:avcodec_register_all() FFmpeg 源代码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源代…
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 FFmpeg源代码结构图 - 编码 [通用] FFmpeg 源代码简单分析:av_register_all() FFmpeg 源代码简单分析:avcodec_register_all() FFmpeg 源代码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源代…
对howdoi的一个简单分析. 曾经看到过下面的这样一段js代码: try{ doSth(); } catch (e){ ask_url = "https://stackoverflow.com/search?q=" window.location.href= ask_url + encodeURIComponent(e) } howdoi基本就是把这个流程做成了Python脚本.其基本流程如下: step1:利用site语法组装搜索语句(默认指定搜索stackoverflow网站)…
关于VS2010与SQL2008建立链接及初步调用问题,网上参考的资料很多,我写这个博客,并非是做重复工作,也不是做搬运工.本文将以一种初学者的角度,去完成从数据库建立,到VS2010与SQL中的数据库进行链接,最后进行简单的调用,将这个详细的步骤写下来.目的是:学习者能够照着我的步骤,一步步操作,能够掌握这一方法,对学习更有信心.保持学习的态度,力争让每一位初学者能够完成这一学习. 一.利用SQL2008建立数据库 1.打开SQL Server Management Studio界面,身份验证…
Android.mk文件简单分析 一个Android.mk文件用来向编译系统描写叙述须要编译的源码.详细来说:该文件是GNUMakefile的一小部分.会被编译系统解析一次或多次. 能够在每个Android.mk中定义一个或多个模块,也能够在几个模块中使用同一个源码文件. 每一个模块属下列类型之中的一个: 1)APK程序.一般的Android程序,编译打包生成apk文件 2)JAVA库,java类库,编译打包生成jar文件 3)  C\C++应用程序,可运行的C\C++应用程序 4)C\C++静…
对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素的.今天我们就简单的分析一下它的实现.人生,总会有不期而遇的温暖,和生生不息的希望. HashSet的简单分析 一.hashSet的成员变量组成 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable private transient HashM…
Java之OutOfMemoryError简单分析 最近编码遇到了Java内存溢出的问题,所以就想顺便总结一下几种导致Java内存溢出的栗子,以及碰到Java内存溢出要如何去解决. Java堆溢出 Java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达的路径来避免垃圾回收机制清除这些对象,那么在对象数量到达最大堆容量限制之后就会产生内存溢出的异常. 下面通过一段代码进行堆内存溢出异常的测试. public class HeapOOM{ static class…
对苹果"五仁"编程语言Swift的简单分析 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUHJvdGVhcw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> 苹果在昨天的WWDC上,公布了新的编程语言Swift.这两天开发社区都在讨论这个语言,从语言的特性上大家发现了好多语言的影子,…
idea破解版安装.配置jdk,配置jdk环境变量以及建立一个简单的maven工程 一.idea破解版以及配置文件下载 下载网址:https://pan.baidu.com/s/1yojA51X1RUBBMcYZtLNy8Q 二.idea的破解.配置jdk,与tomcat整合 视频链接:https://pan.baidu.com/s/1XwI8_bjkkzACCmar6eS8JQ 三.jdk配置环境变量 jdk10下载网址:http://www.pc6.com/softview/SoftView…
Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版 < Linux创建文件及修改文件时间戳(touch命令)Linux复制文件和目录(cp命令) > <Linux就该这么学>是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本.点此免费在线阅读. 如果要想说清楚 ln 命令,则必须先解释下 ext 文件系统(Linux 文件系统)是如何工作的.我们在前面讲解了分区的格式化就是写入文件系统,而…
上周因需要编辑了下PDF,用了一两个试用软件,感觉文字版的PDF还是挺好编辑的.想要研究一下PDF格式. 0. 站在前辈的肩膀上 从前辈的文章和书籍了解到 PDF文件是一种文本和二进制混排的格式,二进制的内容来自于三个方面:1.图片:2.字体:3.压缩后的Post Script. PDF文件正文由一系列对象组成, 每个对象前面都有一个对象编号(唯一).生成号和一行上的 obj 关键字, 后面跟另一行的 endobj 关键字.例如: 1 0 obj << /Kids [2 0 R] /Count…
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方式来解决面向对象的问题.所以JavaScript也是一门面向对象的语言.(李昌辉) 面向对象仅仅是一个概念或者编程思想而已,它不应该依赖于某个语言存在.比如 PHP采用面向对象思想构造其语言,它实现了类.继承.派生.多态.接口等机制.但是这些机制,只是实现面向对象编程的一种手段,而非必须.换言之,一…
简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果才好.下面简单分析一下其. 功能介绍 1.注册流程 用户首先选择使用哪国哪个类型,这是由com.csipsimple.wizards.impl包下完成的.该包下实现接口WizardIface,接口方法中有SipProfile buildAccount(SipProfile account);产生一个…
对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET的类型初始值设定项引发异常文章!!!写的很详细,大家可以看一看! 其实麒麟.NET的这篇文章主要讲解分析了静态成员的方面,总的说就是:类型初始化或访问类型的静态成员时,都会对类中的其他静态成员进行初始化,如果有静态构造函数的话,一并执行静态构造函数.在这过程中所引发的异常我就直接借鉴麒麟.NET的例…
     文章参考百度过的文章,现在忘了具体哪篇,感谢其分享,这里根据自己的操作和遇到的问题整理一下.      需求:在两个不同的SQL SERVER 2012的服务器之间进行数据访问和更新.我们需要把SourceData的数据插入到TargetData的服务器上去,一天执行一次任务.我们的首选方案是在两个服务器之间建立链接服务器.      操作:定时全量的把SourceData的数据插入到TargetData里去.这里涉及到需要把TargetData里的表的信息做删除操作,由于delete…
序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Java序列化.Kryo.ProtocolBuffer序列化: Java序列化为jdk自带的序列化实现,不需要依赖任何包: Kryo为高性能开源的Java第三方序列化框架 ProtocolBuffer为google开源的数据交换格式,独立于语言,支持Java.Python.C++.C#等 比较性能 说明…
kettle与各数据库建立链接的链接字符串 Sybase: TO_DB_URL = jdbc:sybase:Tds:192.168.168.163:5000/testdb?charset=eucgb&jconnect_version=6 TO_DB_DRIVER = com.sybase.jdbc3.jdbc.SybDataSource #com.sybase.jdbc3.jdbc.SybDriver驱动下表输入组件不支持别名. #net.sourceforge.jtds.jdbc.Driver…
关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns a Set view of the mappings contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. 本文通过源码…
ffmpeg 源代码简单分析 : av_read_frame() http://blog.csdn.net/leixiaohua1020/article/details/12678577 ffmpeg中的av_read_frame()的作用是读取码流中的音频若干帧或者视频一帧.例如,解码视频的时候,每解码一个视频帧,需要先调 用 av_read_frame()获得一帧视频的压缩数据,然后才能对该数据进行解码(例如H.264中一帧压缩数据通常对应一个NAL). 对该函数源代码的分析是很久之前做的了…
--在SQL SERVER 2008里,可以按以下的方式建立链接服务器 ? EXEC  sp_addlinkedserver          @server='Test',--这里是给链接服务器取的别名,想取什么名就取什么 ? @srvproduct='', ? @provider='SQLOLEDB', ? @datasrc='10.3.20.95\sqlexpress' ? --这里的datasrc是要链接的数据库的实例的地址(就是数据库连接字符串里的server,比如本机就是.或者loc…