OkHttp3源码解析(三)——连接池复用

本文基于OkHttp3的3.11.0版本 implementation 'com.squareup.okhttp3:okhttp:3.11.0' 我们已经分析了OkHttp3的拦截器链和缓存策略,今天我们再来看看OkHttp3的连接池复用。 客户端和服务器建立socket连接需要经历TCP的三次握手和四次挥手,是一种比较消耗资源的动作。Http中有一种keepAlive connections的...
分类: 其他 发布时间: 09-21 22:47 阅读次数: 0

SpringBoot发送邮件总结

引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 配置文件  spring.mail.host=sm...
分类: 其他 发布时间: 09-21 22:46 阅读次数: 0

java初识io流

java.io包中定义了多个流类型(类或者抽象类)实现输入输出功能,从不同的角度进行分类:     1.按数据流的方向分为输入流和输出流     2.按处理数据单位不同分为字节流和字符流(常用GBK中,一个字符为两个字节,汉字为一个字符)               字节流  inputStream     outputStream(Stream结尾都是字节流,最原始的输入输出)      ...
分类: 其他 发布时间: 09-21 22:45 阅读次数: 0

java中访问修饰符关键字的区别

public、protected、private以及默认default(不写)  作用: 用来修饰类(接口、抽象类)、方法、属性、构造方法、常量、主函数 类的成员不写访问修饰符时时默认default,默认情况对于同一个包而言等同于public 子类使用是需要继承 (https://blog.csdn.net/qq_33342248/article/details/54090038)...
分类: 其他 发布时间: 09-21 22:45 阅读次数: 0

算法基础——冒泡排序,选择排序和插入排序

    冒泡排序:     从a[index=0]开始比较a[0]和a[1],按照程序给定判断是否交换位置,然后a[1]和a[2]比较,一直到a[max]。此时a[max]一定是要求的最大或者最小,下一次循环不需要再比较,所以length-i。                  5,4,3,2,1 第一次:   4,3,2,1,5 第二次:      3,2,1,4,5 第三次:    ...
分类: 其他 发布时间: 09-21 22:44 阅读次数: 0

数据结构——数组以及n维数组

一维数组 1.数组的概念     数组其实就是一个可以装任意类型数据的集合,可以看作为一个容器。虽然可以装任意类型的数据,但是数组只要定义之后,数组里面就是只能装同一数据类型的元素。     数组是属于引用数据类型(数组名中存储的是内存首地址)     数组在内存中是一个连续的存储空间。     数组本身只有length属性(length获取数组中能存储的数据个数) 2.数组的好处 ...
分类: 其他 发布时间: 09-21 22:44 阅读次数: 0

数据结构——java自定义数组队列

什么是数组队列?     数组队列是利用数组这种数据结构来处理实现多个数据的类,增加了数组的灵活性。(在程序中数组的灵活性不够,因为定义的长度是死的。如果定义长了浪费内存,短了不够用) 数组队列的实现     1.定义接口,定义需要的抽象方法         a.增加元素的方法;在固定的位置 ,添加元素的方法;         b.删除该数组中一个元素的方法(根据元素进行删除)       ...
分类: 其他 发布时间: 09-21 22:44 阅读次数: 0

数据结构——java自定义单链表及反转

    其实我不想写但是还是要写的的前景知识: 什么是链表     链式存储结构是一种基于指针实现的存储结构。我们把一个数据结构和一个指针称为结点。链式存储结构用指针把相互关联的点连接起来。链式存储结构的线性表就称为链表 什么是单链表     链表的每个结点中只包含一个指针域,叫做单链表(即构成链表的每个结点只有一个指向直接后继结点的指针)。结点结构如下:          关于头节点...
分类: 其他 发布时间: 09-21 22:44 阅读次数: 0

表达二叉树的构建

    在用java实现表达式二叉树之前,先要明白究竟什么是表达式二叉树。     举个例子,有表达式“(a+b×(c-d))-e/f”,现在将该表达式通过树形图来表示。那么究竟该如何表示呢?下图就是一个绘制好的表达式二叉树模型。所谓的规则就是:运算符放在结点位置,而数字放在子节点位置。通过这样的规则构成一个二叉树,又由于存储的是一个表达式,因此称为“二叉树表达式”              ...
分类: 其他 发布时间: 09-21 22:43 阅读次数: 0

哈夫曼二叉树的简单构建

/* * 1、统计学生学分 * 学生考试结果 A B C D * 学分增加 5 4 3 0 * 人数 10 50 30 10 * * 代码1: * if A : +5 * else if B : +4 * else if C : +3 * else D :0 * 10 + 50*2 +30*3 +10*3 * 代码2: * if B :+4 * else if C:+3 * else if A: +5 *
分类: 其他 发布时间: 09-21 22:43 阅读次数: 0

基于Android的handler线程小球运动

首先是主界面的绘制。 我并没有在游戏中写登陆界面,因此只有一个activity。在主界面采取的是单击屏幕启动线程,因此需要给imageView添加OnTouchListener监听器。 需要知道的是,安卓中的UI线程是不安全的。更新UI只有在主线程中更新,因此最好在mainactivity中完成画布的布置。 监听类时用到了声明方法的匿名内部类:当某个类不是经常使用,如...
分类: 其他 发布时间: 09-21 22:43 阅读次数: 0

Android小球运动——手机传感

手机传感https://baike.baidu.com/item/%E6%89%8B%E6%9C%BA%E4%BC%A0%E6%84%9F%E5%99%A8
分类: 其他 发布时间: 09-21 22:43 阅读次数: 0

学习笔记——java集合类:

  首先看图对java集合框架有个大致认识 1.JDK提供一系列类,这些类可以存储任意类型的对象,并且长度可变,统称为集合。 2.集合按存储结构可分为单链集合(Collection)和双链集合类(Map)         Collection(根接口)有两个接口List,Set(子接口)         Map接口用于存储具有键(Key)、值(Value)映射关系的元素。主要实现类又...
分类: 其他 发布时间: 09-21 22:42 阅读次数: 0

学习笔记——MySql的入门知识

一.MySql软件的安装     1、官网下载最新版MySQL;     2、配置MySQL环境变量,可参考下面这篇文章:https://jingyan.baidu.com/article/c1a3101e72fc9bde656debf7.html;     3、安装指令:         *    mysqld --initialize --console    初始化数据库(注意保存初始密...
分类: 其他 发布时间: 09-21 22:42 阅读次数: 0

Java的动态加载和反射

什么是动态加载?静态呢?         new创建对象的方式称作为静态加载,而使用Class.forName("XXX")称作为动态加载,它们俩本质的区别在于静态加载的类的源程序在编译时期加载(必须存在),而动态加载的类在编译时期可以缺席(源程序不必存在)。 哪些语言是静态的?哪些是动态的?          程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。     从这个观...
分类: 其他 发布时间: 09-21 22:42 阅读次数: 0

Chrome以及插件的无VPN简单安装

1.软件下载 官网下载(https://www.google.cn/chrome/) 2.插件安装     没有插件的Chrome是没有灵魂的。     极力推荐最先安装  谷歌代理  或者  谷歌服务  之类的插件,可以进入google的网页,这样安装好以后就可以进入Chrome应用商店下载google要求的插件啦!(这里是一个谷歌访问助手http://www.ggfwzs.com/) ...
分类: 其他 发布时间: 09-21 22:42 阅读次数: 0

Java算法 —— 蓄水池问题

                      题目:  给出了指定高度的任意两个板子,每个木板位置间隔相等,由你随机组合,怎么实现装最多的水。 分析:假设水池厚度相同,于是水容量计算公式:                                                       水容量 =  板子距离*板子高度                                ...
分类: 其他 发布时间: 09-21 22:41 阅读次数: 0

Java处理异常机制以及五个关键字

首先来个总的图,了解一下Java异常类的结构层次图       Throwable:Java中所有的异常都有共同的父类Throwable(可抛出)。它有两个重要的子类Error(错误)和Exception(异常),这两个子类也包含大量的子类。 Error(错误):是程序代码无法处理的错误。大多数是java运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果出现了这样的错误,除...
分类: 其他 发布时间: 09-21 22:41 阅读次数: 0

数据库 —— 浅谈主外键以及多表查询

  上一篇数据库的博客里只是把经常用到的SQL语句列了出来,并没有深入学习(当然,大多数也就是看一遍就会了)。自我感觉关于键的问题如果不熟悉的话,好像还是有点复杂,这里再提一下。 —————————————————————————————————————————————————————————   *    什么是主键?   主键是数据表的唯一索引,比如学生表中有学号、姓名之类的,姓名有...
分类: 其他 发布时间: 09-21 22:41 阅读次数: 0

JDBC的简单入门程序

前面了解完MySql之后就可以动手做一个JDBC的入门小程序咯。那什么又是JDBC呢?他是干什么的呢? JDBC全程 Java DataBase Connectivity,即Java数据库连接 SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC(由一些接口和类组成)。学习JDBC 技术目的,是使用Java技术操作数据库中数据记录。 JDBC的编程步骤如...
分类: 其他 发布时间: 09-21 22:41 阅读次数: 0