自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (11)
  • 收藏
  • 关注

原创 代理模式

代理模式通过代理对象访问目标对象,在不改变目标对象的情况下,对目标对象进行方法增强.代理主要分以下三种情况:静态代理JDK动态代理使用cglib库实现动态代理静态代理1.定义一个接口2.实现类3.代理类代码1.定义接口/** * 售票窗口 */public interface ITicketOffice { /** * 出售火车票 * @param num 出售数量 */ void saleTicket(int num);}

2020-11-16 15:47:20 147

原创 Stream入门到实践

什么是StreamStream是对集合对象的增强,专注于对集合对象进行各种便利的操作.Stream相关的接口与方法java.util.stream包下新增Stream类Collection接口中新增stream()和parallelStream()默认方法Arrays类中新增stream(T array)方法使用流程当我们使用一个流的时候,通常包括三个基本步骤:获取一个数据源(source)→ 中间操作(数据转换)→终止操作(数据收集)。代码Stream操作中使用了lam

2020-11-15 22:19:20 176

原创 lambda表达式入门到实践

lambda表达式Java 8 加入的新特性,lambda表达式是一个可传递的代码块,可以在以后执行一次或多次.在接口只有一个方法时,以表达式的形式简写接口的实列代码.说起来有点抽象,可以理解为让代码少写几行.格式参数,箭头(->)以及一个表达式-> : lambda 操作符左边: 接口方法的形参右边: 方法体使用对于只有一个抽象方法的接口,需要这种接口的对象时,就可以提供一个lambda表达式。这种接口称为函数式接口(functional interface)。常见函数式接口

2020-11-12 11:46:41 239 1

原创 Spring Boot 使用@Validated校验参数

背景说明:后端开发中,参数校验是必不可少的一个环节;写起来比较繁琐,这里就用@Validated来处理参数校验.这里以获取验证码接口为例1.使用Maven创建一个Spring Boot项目Spring Boot项目HelloWord2.在.pom文件中引入相关依赖: <!-- 参数校验--> <dependency> &l...

2020-01-07 17:42:14 6353 1

原创 ElasticSearch集群搭建

当前以ElasticSearch 5.6.3 版本为例解决安装问题解决安装问题下载elasticsearch#下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz#进行解压tar -zxvf elasticsearch-5.6.3.tar.gz单列模式启动...

2020-01-06 17:13:46 106

原创 平衡二叉树的简单实现

定义:平衡二叉搜索树,又被称为AVL树(Self-balancing binary search tree),且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。图解参考其实就是基于BST树,区别就是添加节点和删除节点的时候判断树是否平衡,不平衡的时候,通过旋转的方式来让树平衡/** * AVL树的节点 */public cla...

2020-01-04 18:21:30 191

原创 二叉排序树(BST)

参考文章定义一棵空树,或者是具有下列性质的二叉树:1 若左子树不空,则左子树上所有结点的值均小于它的根结点的值;2) 若右子树不空,则右子树上所有结点的值均大于它的根结点的值;3) 左、右子树也分别为二叉排序树;4) 没有键值相等的结点。代码实现如下,参考文章的图解和思路都超赞/** * 二叉排序树节点 */public class BSTreeNode { /**...

2020-01-02 18:34:12 125

原创 单链表的应用--约瑟夫问题

问题描述:Josephu(约瑟夫、约瑟夫环) 问题Josephu 问题为:设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数 到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由 此产生一个出队编号的序列。提示:用一个不带头结点的循环链表来处理 Josephu 问题:先...

2019-12-30 09:33:14 196

原创 栈的简单实现

栈的描述:线性结构,有序列表,先进后出数组实现栈:思路:记录一下栈顶元素的索引,加入新元素时索引++,索引位置对应的值设为新元素,直到栈满,取出元素后,索引–,直到小于0,栈空;/** * 链表实现栈 */public class ArrayStack { /** * 栈顶 */ private int top = -1; /** ...

2019-12-28 18:19:50 122

原创 常用排序算法

参考文章排序算法:排序也称排序算法,排序是将一组数据,依指定的顺序进行排列的过程排序的分类1,内部排序指将需要处理的所有数据都加载到内部存储器(内存)中进行排序2,外部排序数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序常见的排序算法:一.插入排序:1.直接插入排序/** * 直接插入排序 * <p> * 算法描述 * 从第一个元...

2019-12-28 18:09:21 129

原创 常用查找算法

在 java 中,我们常用的查找有四种:顺序(线性)查找/** * 线性查找 * 最简单的查找 * 其实就是遍历整个数组,一个个的去进行值的比对,找到就返回结果 */public class SeqSearch { /** * 从数组中查找key的索引 * * @param arr * @param key * @re...

2019-12-28 18:06:24 120

原创 递归

递归就是方法不断的调用方法本身,每次调用时,传入不同的变量递归每调用一次方法本身,就将方法压入栈中,执行完栈顶的方法后,将结果返回,方法依次出栈,最后全部出栈.递归调用完毕样列一阶乘的运算问题描述:大于等于00的阶乘: 0!=1;1的阶乘: 1!=1;任何大于等于1 的自然数n 阶乘表示方法:n!=1 x 2 x 3 x … x(n-1) x n ;/** * 阶乘运算 *...

2019-12-28 18:04:44 111

原创 二叉树

定义二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。如图:二叉树特点每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。左子树和右子树是有顺序的,次序不能任意颠倒。即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。二叉树实现遍历,查找,删除功能/** * 数...

2019-12-28 18:03:34 214

原创 Android Studio使用Wifi调试

使用adb进行调试,是Android开发中必不可少的一个环节,相信各位在开发中也遇到过adb的各种坑,最近我发现adb wifi调试比较好用,就来跟大家分享一下如何使用wifi进行调试.   这里给大家介绍两种方法,一种是使用Android Studio安装插件,另外一种是在需要调试的设备上安装一个工具apk,下面给大家详细介绍这两种调试方法的使用.安装插件的方式1.打开Android Studi

2016-11-03 15:46:32 15581

原创 Android完整项目打包

Android完整项目项目打包    之前产品那边提出一个需求,需要我们这边提供一个带界面SDK,客户那边一段代码就能调起我们这边提供的界面,完成逻辑之后,返回数据给调用者.    这个时候我首先想到了jar,打包之后通过解压发现Activity已经打入了jar包,因为jar包都是纯class文件,所以我又把jar包中引用的资源拷贝到新项目的资源路径下,通过显示启动jar中的Activity,应用直

2016-08-26 14:04:44 2893 1

原创 Retrofit设置请求超时

Retrofit设置请求超时    最近笔者在用Retrofit的时候有了设置请求超时的需求,但是看了一下Retrofit的API,并没有发现有设置请求超时的方法,于是上网查了下相关资料,这里就跟大家分享一下.    因为Retrofit是依赖于OkHttp来实现网络请求的,所以对于网络超时这种设置我们就需要去设置OkHttp.代码如下: //retrofit底层用的okHttp,所以设置超时还需要

2016-08-22 14:56:22 16581 1

原创 Retrofit的快速上手

Retrofit的快速上手参考文档 Retrofit GitHub地址简介Retrofit和Okhttp同为Square公司托管在GitHub上的开源项目,也是现在最火的Http框架,这篇文章的目的是让大家对Retrofit有个基本的了解,能用Retrofit完成基本的项目需求,不会讲解太深入的东西,深入了解请自行研究源码,至于okhttp后面有时间再写,后面也会写Rxjava的快速入门,RxJav

2016-08-05 17:59:26 732 1

完美应用ubuntu

目前,Linux系统版本众多,作为一个操作系统又包罗万象,哪一部分拿出来几乎都可以写一本书。作者的理念是,一本Linux图书不能在读之前让人感觉似乎什么都讲,等看完了又感觉似乎什么都没讲,无法和实际应用联系起来。本书带领和帮助读者系统、快速地掌握Ubuntu 16.04,将所学知识转化为实实在在的生产力,通过鲜活实用的应用为读者创造价值。所以本书没有长篇累牍的理论,也没有面面俱到的背书,只展开能创造生产力和价值的内容,更多的是激发兴趣,善用Ubuntu应用,创造价值。本书内容方面不贪多求全,应用为王,力求精准,在表现形式上言简意赅、图文并茂、循序渐进、内容翔实、有趣实用、格调轻松。

2018-03-23

adbWireless

adb wifi调试连接工具

2016-11-03

AS下arr文件的打包及使用

里面有两个项目,其中TestArr为打包arr文件,UseArr为测试之前打包出来的arr

2016-08-26

photoView与ViewPager

photoView的基本用法,photoView结合ViewPager 实现无限循环滑动,图片缩放.友情赠送NANA美图

2015-12-30

Android MVP

最近想学学MVP,就写了个demo,希望给后来者一个启发,高手大神请跳过,写的不好勿喷

2015-12-05

推荐Android Studio插件

里面有五个插件 1.Android Parcelable code generator,自动实现Parcelabl借口插件 2.AndroidCodeGenerator,快速生成ViewHolder和findView方法的代码 3.Android Layout ID Converter,快速生成findView 4.SelectorChapek for Android,这是用于生成Selector的插件 5.Sexy Editor,可以在编辑器里面加漂亮妹纸

2015-12-05

Android 银联支付Demo

银联支付Demo,教你如何快速集成银联SDK,里面有说明文档,有测试账号,我相信认真看一遍绝对能做出银联支付这个功能

2015-07-16

Vollery框架使用Demo

vollery框架的使用,教你如何快速学会vollery框架

2015-07-16

Activity 左右滑动Demo

android GestureDetector类的应用 ,实现Activity界面监听手势操作,带ListView的Activity的界面实现手势滑动,事件传递机制

2015-07-08

侧拉菜单Demo

侧滑菜单的实现,注释完整,看注释就可以理解,侧滑的原理

2015-07-08

空空如也

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

TA关注的人

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