java
文章平均质量分 90
小杰921
简书:http://www.jianshu.com/users/077c44fa1dff/latest_articles
展开
-
疯狂Java笔记之常见java集合的实现细节
Set和Map1.Set和Map的关系首先Set是一种集合元素无序,不可重复的集合。而Map则代表一种有多个key-value对组成的集合,Map集合类似于传统的关联数据。看起来他们没哟什么关联,实际上Set和Map是有莫大的关联的。可以说Map是Set集合的扩展。当我们只看Map的Key时,会发现所有的key不能重复,key之间没有顺序。也就是说将Map所有的key集合起来就组成了一个set集合。原创 2017-08-17 10:40:28 · 218 阅读 · 0 评论 -
刨解OkHttp之缓存机制
时间一晃而过,今天想给大家带来OkHttp的zuihou最后一篇文章,主要讲一下OkHttp的缓存机制。OkHttp的责任链中有一个拦截器就是专门应对OkHttp的缓存的,那就是CacheInterceptor拦截器。CacheInterceptor其对应的方法如下,我们就从这个方法讲起:public Response intercept(Chain chain) throws...原创 2018-07-16 09:29:24 · 556 阅读 · 0 评论 -
刨解OkHttp之访问连接
因为OkHttp能讲的东西太多了,上一篇文章只是讲到了他的设计架构即责任链模式和异步多线程网络访问,这对于OkHttp只是冰山一角,对于一个网络请求框架,最重要的就是网络访问了,为此我们来说一下Okttp网络访问的一些细节。这个访问分为两个部分,一个部分是与服务器形成连接,另一个部分是与服务器进行交互。与服务器连接的是ConnectInterceptor拦截器,而与服务器交互的是CallSer...原创 2018-05-23 19:47:58 · 288 阅读 · 0 评论 -
解刨OkHttp框架
继AsyncTask,又把手术刀指向OkHttp,有时候解析源码会上瘾。因为源码里包含的东西仿佛就是组成计算机世界的砖头,水分,只要有这些东西,就可以保罗万物,无招胜有招。又说多了,开始吧首先okhttp的依赖是:compile 'com.squareup.okhttp3:okhttp:3.8.1'我就是根据这里的源码进行解析的。再来也很简单,就是最简单的OkHttp的同步和异...原创 2018-05-23 19:47:25 · 223 阅读 · 0 评论 -
AsyncTask源码深入解析
最近想写一篇关于源码解析的文章,发现AsyncTask代码量不多,可里面的东西却是很值得学习的,所以故那这来“开刀”首先作为Android开发者我们对于AsyncTask想必比大家都知道吗,大白话讲就是在后台执行耗时任务再把最终的结果返回主线程更新UI。如下代码就它的模板代码:class MyAsyncTack extends AsyncTask<Void(传入参数),Strin...原创 2018-05-07 15:42:54 · 292 阅读 · 0 评论 -
疯狂java笔记之树和二叉树
树的概述树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构1.树的定义和基本术语计算机世界里的树,是从自然界中实际的树抽象而来的,它指的是N个有父子关系的节点的有限集合。对于这个有限的节点集合而言,它满足如下条件: - 当N=0时,改节点集合为空,这课树也被称为空树 - 在任意的非空树中,有且仅有一个根(root)节点 - 当N>1时,除根节点以外的其原创 2017-08-28 16:41:18 · 368 阅读 · 0 评论 -
疯狂java笔记之栈和队列
栈栈的英文单词是Stack,它代表一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入,删除操作。栈的基本定义栈是一种数据结构,它代表只能在某一端进行插入,删除操作的特殊线性表,通常就是在线性表的尾端进行插入,删除操作。对于栈而言,允许进行插入,删除操作的一端被称为栈顶(top),另一端咋被称为栈底(bottom)。对于一个栈不包含任何元素,那么这个栈就被称为空栈。 从栈顶原创 2017-08-24 11:31:24 · 363 阅读 · 0 评论 -
疯狂java笔记之常用的内部排序
排序的基本概念在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快速查找相关记录。排序概述排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把它们变成一组关键字排序的有序序列。假设含有n个记录的序列为{R1,R2,…,Rn},其相应的关键字序列为{K1,k2,…,kn}。将这些记录重新排序为{Ri1,Ri2,…,Ri原创 2017-09-06 01:02:07 · 279 阅读 · 0 评论 -
疯狂java笔记之线性表
从数据的逻辑结构来分,数据元素之间存在的关联关系被称为数据的逻辑结构。归纳起来,应用程序中的数据大致哟如下四种基本的逻辑结构。集合:数据元素之间只有“同属于一个集合”的关系线性结构:数据元素之间存在一个对一个的关系树形结构:数据元素之间存在一个对多个的关系图状结构或网状结构:数据元素之间存在多个对多个关系 对于数据不同的逻辑结构,在底层通常有两种物理存储结构。顺序存储结构链式存储结构原创 2017-08-22 17:01:21 · 339 阅读 · 0 评论 -
疯狂Java笔记之面向对象的陷阱
instanceof运算符的陷阱instanceof是一个非常简单的运算符。instanceof运算符的前一个操作数通常是一个引用类型的变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成一个特殊的类),他用于判断前面的对象是否是后面的类或其子类,实现类的实例。如果是,则返回true,否则,返回false.String obj="Java";obj instanceof Math上面程序原创 2017-08-21 20:50:00 · 365 阅读 · 0 评论 -
疯狂Java笔记之对象及其内存管理
1.实例变量和类变量Java程序的变量大体可分为成员变量和局部变量。其中局部变量可分为如下二类。形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显式初始化口这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。代码块内的局部变量:在代码块内定义的局部变量,必须在代码块内对其进行显式初始化。这种原创 2017-08-15 15:27:45 · 225 阅读 · 0 评论 -
疯狂Java笔记之表达式中的陷阱
关于字符串的陷阱JVM对字符串的处理首先看如下代码:String java=new String("HelloJack");上面创建了两个字符串对象,其中一个是“HelloJack”这个直接量对应的字符串对象,另一个是由new String()构造器返回的字符串对象。对于Java程序中的字符串直接量,JVM会使用一个字符串池来保存它们:当第一次使用某个字符串直接量是,JVM会将它放入字符串池进行缓存原创 2017-08-21 01:05:08 · 252 阅读 · 0 评论 -
疯狂Java笔记之Java的内存与回收
Java引用的种类1.对象在内存中的状态对于JVM的垃圾回收机制来说,是否回收一个对象的标准在于:是否还有引用变量引用改对象?只要有引用变量引用对象,垃圾回收机制就不会回收它。也就是说,当java对象被创建出来之后,垃圾回收机制会实时的监控每个对象的运行状态,包括对象的申请,引用,被引用,赋值等。当垃圾回收机制实时的监控到某个对象不再被引用变量所引用时,垃圾回收机制就会回收它所占用的空间。基本上,可原创 2017-08-18 15:53:00 · 616 阅读 · 0 评论 -
自定义View之雷达图
好久没有写过自定义的文章,这次重拾这方面的内容,从雷达图开始。首先看一下效果图: 这就是大概的效果图了,下面我们就一一讲解吧。首先为了看的懂,我会把所以变量贴出来,以防止看代码段的时候大家不知其意思:private Paint mBroadPaint = new Paint();//边private Paint mMarkEasePaint = new Paint();//数值...原创 2018-08-09 14:05:08 · 364 阅读 · 0 评论