自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Java学习笔记一

因为我是博客新手,所以想一直坚持写下去(成为博客专家奋斗), 在这里给自己设定一个月的目标: 写出15篇用心的博客。写博客的目的有三点: 1. 整理记录自己学到的新的知识,以便以后遗忘查看。 2. 和广大编程人员学习交流。 3. 分享一些解决问题的方法。最近想系统的学一下Java,从基础语法到核心部分。之前已经看过两遍java基础部分,但是没有及时的整理记录,后来有些重要的

2018-01-28 14:23:34 288

原创 (Retrofit系列一)玩转Retrofit的执行器 ------ OkHttpCall

清新一刻 生活有时就是这么残酷,可能没人关心你的努力,大家只看最后的结果。成年人的世界没有“容易”二字!所谓无心插柳,都是努力后的水到渠成。背景相信现在Android在做网络方面的内容时,首先想到的就是Retrofit。为什么呢? 我这里总结了两条原因: 1、OkHttp用其强大的功力成功打入Android框架内部,(对于OkHttp还不太熟悉的朋友,建议先去了解一下,如...

2018-08-05 15:14:39 354

原创 Java排序 ------ 归并排序和基数排序 及 排序算法比较图

归并排序算法中最基础的当数排序了,今天整理记录一下Java中的归并排序。 这里的排序方式按从小到大讲,由大到小其实就是改变下符号。归并排序只有一种实现方式: 一、归并排序接下来讲解一下归并排序的实现 归并排序归并排序,采用递归分治的思想实现具体的逻辑,下面用一张图(引自https://www.cnblogs.com/of-fanruice/p/7678801.h...

2018-05-12 13:36:02 409

原创 Java排序 ------ 插入排序

选择排序算法中最基础的当数排序了,今天整理记录一下Java中的插入排序。 这里的排序方式按从小到大讲,由大到小其实就是改变下符号。插入排序有两种实现方式: 一、简单的插入排序 二、希尔排序因为希尔排序是对简单的插入排序的优化,所以这里先讲简单的插入排序。一、简单的插入排序简单的插入排序,理解起来也相当简单,只要你对List集合稍微熟悉,就应该知道List集合的内...

2018-05-12 13:22:57 300

原创 Java排序 ------ 选择排序

选择排序算法中最基础的当数排序了,今天整理记录一下Java中的选择排序。 这里的排序方式按从小到大讲,由大到小其实就是改变下符号。选择排序有两种实现方式: 一、简单的选择排序 二、堆排序 因为简单的选择排序比较简单,所以这里先讲它吧。一、简单的选择排序简单的选择排序,思想很简单; ①开始找到序列1…. n 中最小的元素,把它和 1 处进行交换; ②然后找到2...

2018-05-12 11:26:32 176

原创 Java排序 ------ 交换排序

交换排序算法中最基础的当数排序了,今天整理记录一下Java中的交换排序。 这里的排序方式按从小到大讲,由大到小其实就是改变下符号。交换排序有两种实现方式: 一、冒泡排序 二、快速排序 以下内容纯属个人理解,如有不对,欢迎评论指正!接下来先讲讲冒泡排序: 一、冒泡排序冒泡排序,顾名思义就像水底的泡泡向上冒出一样,由小到大(水压问题)。 在排序的过程中,要...

2018-05-12 10:22:40 1062

原创 Git命令大全及提交代码到Github

2018-05-08 21:19:08 293 1

原创 通过SAX和PULL解析XML

平常我们在需要数据解析时遇到最多的就是解析JSON数据,但是对于另一种数据解析 —— XML数据解析,却不怎么常见。虽然不常见但是有时候也会有需求遇到它,所以在这里记录下在Android中解析它的两种方式。Android对于XML解析提供了两种API—————-SAX和PULL。SAX和PULL的区别:SAX解析器的工作方式是自动将事件推入注册的事件处理器进行处理,因此你不能控制事件的处理...

2018-04-01 17:16:52 178

原创 处理相机和相册的照片------目前最好的方式!

一、通过获取相册照片信息得到不为人知的秘密。1、打开相册private void takeAlbum(){Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*");// 打开手机相册,设置请求码startActivityForResult(intent, 2);}2、获取照...

2018-03-28 20:41:18 293

原创 OkHttp3源码(九) ------ 拦截器

拦截器Interceptor的设计思想——创建拦截器链(后面简称链),执行指定拦截器的方法,根据旧链创建新链,再次执行上述过程,直至全部拦截器执行完毕。 拦截器方法(intercept(…))的主要实现: (1)、对发起的request进行处理。 (2)、调用下一个拦截器,获取response。 (3)、对上一个拦截器返回的response进行处理,最后返回给上个...

2018-03-28 18:57:11 451

原创 OkHttp3源码(八) ------ RealCall

RealCall类 —–前面我们讲的是HTTP相关的概念在OKhttp3中是如何通过类实现的 。 Okhttp的请求过程是先组装请求报文,然后将请求报文封装成一个任务,最后交由“网络”去执行这个任务。 而RealCall就是这个任务。我们看一下源码。1、RealCall属性//重连接拦接器 ------ 拦截器我们会在后面的章节讲解final RetryAndFollowUp...

2018-03-28 18:38:26 473

原创 OkHttp3源码(七) ------ ResponseBody

ResponseBody抽象类 ——主要是对响应正文的概念的实现。 因为ResponseBody抽象类的子类RealResponseBody实现的很简单,就是持有响应头和读取流。其中大部分功能还是在ResponseBody抽象类中的,所以这里只分析ResponseBody。我们看一下源码。一、ResponseBody类声明public abstract class MyRespo...

2018-03-28 18:04:57 2708

原创 OkHttp3源码(六) ------ Response

Response类 —— 主要是对响应报文的概念的实现。 响应报文的结构图 可以看到响应报文的结构和请求报文的结构差不多。只是具体细节有些不同。我们根据响应报文的结构来了解Response源码。1、Respons的属性//得到该响应报文的请求报文final Request request;//返回响应报文用的协议,这个是个枚举类。------对应上图协议版本final P...

2018-03-28 17:34:49 2248

原创 Okhttp3源码(五) ------ CacheControl

在学习本篇博客的朋友,如果你对Http首部字段的Cache-Control 字段值不太了解的话,这里强烈建议参见 Http首部的字段及相应的取值内容了解Cache-Control字段值的朋友,都知道它的一个特点,就是——多! 为了简化对缓存的相关操作,OkHttp3对它们做了封装,几乎每一个字段值对应一个属性。我们看一下它的源码。1、CacheControl的属性...

2018-03-28 17:12:10 464

原创 OkHttp3源码(四) ------ RequestBody

接下来是对RequestBody抽象类的分析,因为内部实现很简单,所以这里贴出加注释的源码,供大家阅读。对于RequestBody抽象类,我们只需要细看最后两个有具体实现的方法。RequestBody类主要做了获得请求体的数据类型、获得请求体的数据长度、将请求体写入到流中这三件事。我们看一下它的源码。1、两个抽象方法//获取请求体的类型public abstract MediaT...

2018-03-28 16:50:16 4446

原创 ContentProvider你未必知道知识点!

网上对于ContentProvider基本使用的文章很多,但是对ContentProvider里面的知识点介绍的很少,这里总结一下自己了解到的。 接下来我会介绍: 1、内容URI是什么? 2、ContentProvider的两个抽象方法onCreate()和getType() 3、内容URI所对应的MIME类型标准写法。 4、内容URI中的通配符。 5、UriMatcher的常用方式。...

2018-03-27 20:06:33 290

原创 OkHttp3源码(三)------Header

由于Header类是之前已经分析好的,所以这里直接拿过来就可以了。 之所以之前没有发布这篇博客是因为在学习Header类之前,首先要明白Http首部信息的相关字段及内容,关于这个如果还不太了解请参看 Http首部的字段及相应的取值内容Header类属性: //通过字符串数据的方式维护数据,用于实现获取数据的功能。 private final String[] namesAn...

2018-03-27 15:42:27 1336

原创 Http首部的字段及相应的取值内容

最近在写OkHttp3的相关博客,里面会涉及HTTP的基础知识,由于本人对HTTP没怎么接触过,所以在学习OkHttp3的同时对Http了解一下,通过博客的方式整理记录下来。 今天整理记录的内容是Http首部字段的含义及相应的取值内容,了解它是为了对OkHttp3中Header类有更深的理解。 由于Http的头部字段很多,在这里我只记录比较常见的字段,如果想了解更多的字段请参见Web 技术文档...

2018-03-27 15:10:19 757

原创 OkHttp3源码(二)------Request

上篇OkHttp3源码(一)——OkHttpClient很荣幸得到评论加关注。Request —— 是对HTTP请求报文概念的具体实现 请求报文的结构图 根据结构图去阅读源码能很好的理解某些属性的真实意义。我们看一下源码。public final class Request { final HttpUrl url; final String method; ...

2018-03-26 15:29:06 267

原创 OkHttp3源码(一) ------ OkHttpClient

关于OkHttp3之前用的时候没有考虑过它的内部实现过程,今天在这里整理记录一下。 接下来我会将OkHttpClient类中常用的方法,内部类、字段加上自己理解的注释,通过看注释了解OkHttpClient的主要用途。public class OkHttpClient implements Cloneable, Call.Factory, WebSocket.Factory { ...

2018-03-24 12:21:52 615 1

原创 本地广播和全局广播的区别及实现原理

一、本地广播和全局广播的区别 1、本地广播:发送的广播事件不被其他应用程序获取,也不能响应其他应用程序发送的广播事件。本地广播只能被动态注册,不能静态注册。动态注册或方法时需要用到LocalBroadcastManager。 2、全局广播:发送的广播事件可被其他应用程序获取,也能响应其他应用程序发送的广播事件(可以通过 exported–是否监听其他应用程序发送的广播 在清单文件...

2018-03-23 21:11:16 6792 1

原创 Fragment的生命周期和FragmentTransaction的主要方法

一、Fragment的生命周期Fragment完整生命周期依次是: onAttach()、onCreate()、onCreateView()、onActivityCreated()、onStart()、onResume()、 onPause()、onStop()、onDestroyView()、onDestroy()、onDetach()。几个主要的方法: onAttach():当碎...

2018-03-22 19:49:40 8481 1

原创 Activity的启动模式及常用的Flag

一、启动模式Activity有四种启动模式,他们分别是: (1)standard(系统默认的启动模式):标准模式,符合标准返回栈的原则,每次启动一个活动(不管返回栈中存不存在这个活动)时,都会将启动的活动压入返回栈中。 (2)singleTop:在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的实例,否则就会启动新的活动压入栈顶, ...

2018-03-22 09:03:32 393 1

原创 Git命令介绍及上传、同步项目到github

一、git常用命令1、设置你的用户名(user,name)和邮箱(user.email) 我们在用git命令提交代码时,需要用到你的用户名和密码,这个是要提前配置在.gitconfig(一般文件在C:\Users\用户.gitconfig)文中当中的。 设置用户名和邮箱: git config –global user.name “git命令练习” git config –...

2018-03-05 11:52:38 321

转载 javaweb学习路径(附上各种视频)

javaweb学习路线http://ke.jikexueyuan.com/zhiye/javaweb/2.servlethttp://pan.baidu.com/s/1slDM7i13.mysql数据库http://pan.baidu.com/s/1boCDdKzhtml+cssjshttp://pan.baidu.com/s/1qYTxFCojquer...

2018-03-02 11:16:50 689

原创 SharedPreferences的基本使用及apply()和commit()的区别

龙腾四海非一日之功一、SharedPreferences 1、用于保存数据,一般数据为系统配置信息; 2、是以键值对的形式存储到data/data/package-name/shared_prefs/l目录的XML文件中。 3、获取SharedPreferences实例的方式有三种: /*第一种 -- SharedPreferences的文件名是当前类名*/ ...

2018-02-28 19:17:23 888

原创 Java学习笔记十三

今日整理记录内容: 1、JDK1.7新特性 2、JDK1.8新特性一、jDK1.7新特性1.二进制字面量 可以用二进制的方式表示整数(byte、short、int、long)例 byte b = 0B0001; // 等于 1 int i = 0b11; //等于 3 short s = 0b1001; //等于 9 long l = 0b000101 //...

2018-02-22 13:33:15 257

原创 Java学习笔记十二

今日整理记录内容: 1、类加载器(classLoader) 2、代理类(proxy)一、类加载器(classLoader) 1、类加载器的作用就是将硬盘中的.class文件中的二进制数据加载进内存并将二进制数据转换为字节码,判断某个.class文件是否被加载过是基于类加载器的,也就是说不同的类加载器可以加载同一个.class文件,这时候内存中就有同一个类的两份字节码。 2、BootSt...

2018-02-17 14:20:19 226

原创 Java学习笔记十一

只要做好准备,人生的尽头也是一段绝美的旅程。——尤金·奥凯利今日整理记录内容: 1、(JDK1.5)注解 2、(JDK1.5)泛型一、(JDK1.5)注解 1、注解就是让程序在编译的时候检测代码的性质(正确性、过时性等),加不同的注解,编译期检测不同的性质; 2、常用于定义框架; 3、常用注解 Override、Deprecated、SuppressWarnings。 4、Re...

2018-02-14 12:12:51 259

原创 Java学习笔记十

。。。主义者的痛苦和坚强!今日整理记录内容: 1、反射(reflector) 2、JavaBean类 3、内省(introspector)一、反射 1、反射就是把Java类中的各种成分(方法Method、成员变量Field、构造方法Contructor、包Package等等)映射成为相应的Java类。 2、反射操作的是字节码。 3、反射常用于框架当中。 解释:反射操作类...

2018-02-11 12:38:42 205

原创 Java学习笔记九

这个人、这件事,是这样的吗?今日整理记录内容: 1、(JDK1.5)可变参数 2、(JDK1.5)自动拆箱与装箱 3、享元模式 4、(JDK1.5)枚举 5、Class类一、(JDK1.5)可变参数 1、只能出现在参数列别的最后; 2、…位于类型和变量名之间,前后有无空格都可以; 3、调用可变参数的方法时,编译期为该可变参数隐含创建一个数组,在方法体内以数组的形式访问可变参...

2018-02-10 13:40:04 151

原创 Java学习笔记八

对她好,不后悔!今日整理记录内容为: 1、URL 2、Applet一、URL(Uniform Resource Locator):统一资源定位符 1、URL基本组成:协议、主机名、端口号、资源名。例“Https://www.hbbfxy.com:3306/index.html”,在这里https就是协议,www.hbbfxy.com就是主机名,3306就是端口号(这里如果没有写端口号...

2018-02-09 11:38:04 198

原创 Java学习笔记七

立足之处,方显深!今日所讲内容: 1、应用程序协议和网络通信协议 2、Socket的简单使用一、应用程序协议和网络通信协议。 1.网络通信协议,我的理解就是设备(主机、路由器等)通过网络之间传递数据前所要遵循的规则。例,TCP/IP。 2.应用程序协议,是指同一体系的应用程序(相同的应用程序、C/S模式的程序)之间在传递数据之前要遵循的规则,也就是就数据如何包装处理。例,1超文本传

2018-02-04 15:34:45 162

原创 Java学习笔记六

一、编码表 1.因为计算机语言是用二进制表示的,为了将计算机在全世界使用,那么就要使相同的二进制在不同地区表示不同的语言,这就形成了二进制数据与语言一一对应的表————–编码表。 2.常用编码表:ASCII———-美国地区使用的编码表,一个字符占一个字节ISO8859-1:拉丁码表。欧洲码表,一个字符占一个字节GB2312/GBK/GB18030: 中国大陆用的编码表,gbk是gb2

2018-02-02 13:28:07 199

原创 Java学习笔记五

闲谈莫论人非!!!今日整理记录的内容 1.浅谈API 2.字符串常量 3.哈希列表 4.Timer 5.小知识点一、浅谈API API(Application Programming Interface): 应用程序接口。一个东西能做什么事情,把能做的事情的名字,告诉外面,外面只需要通过事情的名字就能实现这件事情。 解释://这是一个汽车类public class ...

2018-02-01 12:31:16 216

原创 Java学习笔记四

接受过去、珍惜当下、展望未来。今天整理记录的内容: 1.异常 2.包 3.java中四种权限 4.打包jar包和解压jar包命令 5.多线程中join(long mills) 6.多线程死锁问题 7.线程间通信 8.线程安全 9.volatile关键字一、异常 1.异常处理方式:try{}catch{}、throws。 2.finally不被执行:在执行finally...

2018-01-31 12:53:17 201

原创 Java学习笔记三

一杯温水谈天下,一壶炉酒论古今。今天整理记录的内容: 1. 浅谈垃圾回收 2. 静态代码块 3. 内部类 4. 局部变量 5. 被final常量标识的变量。一、浅谈垃圾回收 1.当类对象被垃圾回收器回收前会调用类的finalize(),类似C语言中的析构函数。 可以把finalize()方法理解为类对象的临终遗言。 2.很多人看到system.gc(

2018-01-30 15:45:17 203

原创 Java学习笔记二

我是博客新手,想一直坚持写下去(成为博客专家), 在这里给自己设定一个月的目标: 写出15篇用心的博客。写博客的目的有三点: 1. 整理记录自己学到的新的知识,以便以后遗忘查看。 2. 和广大编程人员学习交流。 3. 分享一些解决问题的方法。今天整理的内容: 1.嵌套循环中的break和continue使用 2.浮点数float在内存中的表示 3.面向对象和面向

2018-01-29 15:04:37 281

原创 开通博客时间

2017-2-16

2017-02-16 16:19:41 290

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除