网络篇: 1.TCP的三次握手和四次挥手: 答:三次握手:为了知道双方已经准备好发送数据了,二次握手会造成延迟到达的请求到达服务端使服务端进入等待状态,造成浪费,而三次握手可...
网络篇: 1.TCP的三次握手和四次挥手: 答:三次握手:为了知道双方已经准备好发送数据了,二次握手会造成延迟到达的请求到达服务端使服务端进入等待状态,造成浪费,而三次握手可...
这是在ConcurrentHashMap里存储数据的过程, PUT方法再这之前,先简单说一下PUT的具体操作:①先传入一个k和v的键值对,不可为空(HashMap是可以为空的...
特点:支持HTTP2/SPDY黑科技(Http2 优化了头部压缩,多路复用多个http请求共用一个TCP连接)socket自动选择最好路线,并支持自动重连拥有自动维护的soc...
首先明确一点线程切换一定需要Handler的参与 线程切换的代码最简单的做法大概如下代码 subscribeOn(Schedulers.newThread()).代码指定Ob...
最简单的使用方法是这样的 这边分为两个步骤1.create2.subscribecreate 由上面可以知道subscribe是ObservableOnSubscribe类的...
反转单链表的遍历实现思路比较清晰,基本一看就懂1>2>3>4>51------2>3>4>51<2------3>4>5 但是递归实现就有些困难了,先写出递归实现的代码 大体...
Glide分为内存缓存和硬盘缓存两种内存缓存默认开启,使用的算法是LruCache算法(Least Recently Used),最近最少使用算法。主要原理是对象的强引用存储...
Glide的基本用法 基于Glide 3.5.2先看with方法做了什么 RequestManagerRetriever.get()获取单例RequestManagerRet...
基于eventbus 2.4.0项目中很多地方用到EventBus大体的使用 就是这样的几段代码 EventBus.getDefault() 利用单例模式获取的是EventB...
说launchMode需要说下几个概念:task:可以包含多个不同进程的activity。activity: 只属于某个进程。 可以通过XML设置的有四种:standard:...
在对性能要求比较高的地方会用到JNI,Java Native Interface,Java本地接口,使得Java可以与与其他语言交互。简单的使用: 放上Java基础数据类型 ...
AsyncTask的使用大家应该都不陌生,内部原理就是线程池与Handler的运用。简单的使用 现在有个疑问是 怎么做到线程切换的?look look源码 - - 看到现在还...
常用的设计模式:单例模式,工厂模式,观察者模式,代理模式,其他的我使用不多。单例模式最常见也最简单分为几种实现:懒汉式: 双重锁 double check 饿汉式 工厂模式 ...
注解的使用通常配合反射使用动态代理需要反射机制配合简单说下注解:注解是元数据:数据的数据,可以给方法 类 变量增加额外的数据。一个简单的注解形式: 可以通过反射获取方法上注解...
HashMap知识点1 :怎么求的Hash,通过对象的Hashcode值 高16位保持不变 低16位与高16位异或求值 得到Hash值知识点2 : ...
先上个网图说明下线程池的执行过程 来看下线程池的执行过程 1.当线程池数量小于核心线程数 直接创建核心线程 2.队列是否已满,没有的话 放入队列 3.放入队列失败 添加非核心...
TCP连接的三次握手是众所周知的,就是一个连接序号和应答序号在客户端和服务端的传递,然后再明确一点是三次握手只是为了保证连接的可靠性,并不能保证数据传输的可靠性。 第一次握手...