自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点滴积累

个人主页:zhujiao.tech

  • 博客(204)
  • 资源 (35)
  • 收藏
  • 关注

原创 LeetCode#206:反转链表之递归实现

不废话,直入主题(我是个很直接的人):已知单链表,求反转:1->2->3->4->5->null期望效果:null<-1<-2<-3<-4<-5答题模版:/** * Definition for singly-linked list. * public class ListNode { * int val; ...

2019-12-25 15:47:02 298

原创 AVL树

概念当按顺序往二分搜索树中添加元素时,其会退化成链表,为了让树结构能够有自平衡性,科学家们定义了一种新的平衡树——AVL树,名字取自几个科学家姓名的首字母。AVL树的一些基本特性:第一点,满足二分搜索树所有性质;第二点,带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。感性认识如下演算:已知10 9 6数列 ,插入一个4;已知10 9 6数列,以10为轴...

2019-12-02 14:43:10 249

原创 LeetCode#237:删除链表中的节点

文章目录题干解题思考来源题干请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9]示例1输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例...

2019-11-26 11:30:26 235

原创 HEXO+GITHUB使用笔记

PREFACE本文是一片自己使用过程笔记,程度有限,如果本文未能满足你的要求可移步文末链接,2个大神的教程。WHAThexo不是博客系统,而是静态页面生成、上传的工具hexo 可以理解为是基于node.js制作的一个博客工具,不是我们理解的一个开源的博客系统。它不需要部署到我们的服务器上,我们的服务器上保存的是hexo帮我们生成静态的html页面(hexo编译.md生成html)关键词...

2019-11-21 13:55:25 299

原创 百度地图学习总结(2)—Hello-BaiduMap

接上一篇: http://blog.csdn.net/user11223344abc/article/details/781543571.集成前想想申请了半天,感觉累累哒,迫不及待的就想看见点什么,于是开始集成,集成就涉及到一个问题,百度地图sdk都是分模块的,那么我思考我的大体目标是:基础地图:基本展示,隐藏地图右下角加减号,将距离比例尺调小…全量定位:包含基础,离线,室内…云检索:poi

2019-11-21 12:35:18 566

原创 数据结构-BST树(3)-bst的删除任意元素算法

文章目录1.前言2.bst树的删除操作2.1.没有子节点2.2.有一个子节点2.3.有2个子节点3.Demo1.前言通过上一篇的学习,我们知道bst树的插入操作和遍历等操作;当我们按照如下顺序插入一堆数字时:50;29;8;2;5;4;3;44;77;82;10;呈现出来的树结构如下: 50 / \ 29 7...

2019-02-27 14:45:31 902

原创 数据结构-BST树(2)-中序遍历找后继节点

1.前言前驱后继节点是针对的是树的三种遍历模式下各个节点迭代的顺序。也就是说前中后序三种遍历方式都有各自的前驱后继节点找法。本文只讨论以BST树以中序遍历找后继节点为例当做一个入门,更多相关的知识请自行google。2.如何寻找后继节点?2.0:这个树: 50 / \ 29 77 / \ ...

2019-02-26 16:11:31 1757 3

原创 Git简记

1.前言用过一段时间的git,但玩的不是很溜,为了适应新工作的要求,所以打算再学一学。推荐2个教程,本文所记录的知识点大部分来自这2个博客:廖雪峰的git教程;阮一峰的git教程;2.Git基础工作流程该图涵盖git的基本结构;工作区即我们想进行版本控制的本地目录。版本库基于工作区进行版本管理,即我们平时项目目录下的那个隐藏的.git文件夹。里边记录了很多关于版本管理...

2019-01-29 11:16:35 357

原创 数据结构-BST树(1)-入门,遍历,节点添加

1.什么是BST树Bst树又名二分搜索树,binary search tree,它是遵循一定规律的二叉树;1.二分搜索树是二叉树;2.二分搜索树每个节点的值:a.大于其左子树所有节点的值;b.小于其右子树所有节点的值;3.每一棵子树也是二分搜索树;如图:就是说每往一个根节点添加元素时,左孩子要比根节点小,右孩子要比根节点大,不允许元素重复(可选项);2.手写一个基本的BST...

2018-11-27 05:02:29 1658

原创 算法—时间复杂度

附录log对数:等差数列什么是等差数列?一般地,如果一个数列从第2项起,后一项与它的前一项的差等于同一个常数,那麽这个数列就叫做等差数列。 这个常数叫做等差数列的公差,公差通常用字母d表示。例1:初识。 - {1,3,5,7,9} 公差为2 - {5,15,25,35,45} 公差为10 - {2,68,134,200,266} 公差为66 - {5...

2018-11-23 00:23:58 36549 11

原创 License for package Android SDK Build-Tools 28.0.2 not accepted.(MAC)

这个问题是我在mac下搭建环境时出现的问题,中途查询了许多资料很多朋友在做rn等其他一些跨平台项目也遇见了这个问题,这里说下我解决的方法;1.进到sdk/tools/bin目录下;这个目录的具体位置:2.在bin目录下执行如下命令进入到sdk目录下;cd /Users/honglong/Library/Android/sdkcd toolscd bin./sdkmanager -...

2018-11-12 20:11:52 36810 23

转载 Http/TCP/SOCKET

1.TCP连接与HTTP连接的关系在网络分层中,HTTP协议是基于TCP协议的;客户端向服务端发送一个HTTP请求时,需要先与服务端建立TCP连接,也就是经典的三次握手(通常对用- 户来说是很难察觉的),握手成功以后才能进行数据交互;HTTP是基于请求响应模式且无状态的协议,1.1之前只支持短连接,也就是请求响应一次以后连接中断,下次请求需要重新进行TCP连接,而1.1之后支持持长连接,即...

2018-11-06 08:46:19 3942 1

原创 Https/SSL/对称加密/非对称加密

0.前言ISO7层模型,网络由下往上分为:物理层-- 网线,集线器hub;数据链路层-- 交换机,mac地址;网络层-- 路由器,IP协议;传输层-- TCP/UDP协议;会话层-- …表示层-- …应用层-- FTP、Telnet、SMTP、RIP、NFS、DNS。 HTTP(s)协议;这里主要关注应用层和传输层;http/https,TCP/UDP如你想了解更多,请参考:T...

2018-11-05 13:58:39 8017 1

原创 Deqeue&ArrayDeque

1.什么是DeqeueDeque的含义是“double ended queue”,双端队列,传统队列是F1FO,操作受限,而这个队列可以双端进出,比较灵活。PPS:双端队列不同于环形队列,这俩者我最开始搞混了,环形队列是首尾相连,有tail和head标记,入队一个tail后移一位,出队一个head后移一位。它继承自Queue的(注意这儿是接口继承接口);public interface D...

2018-11-01 16:27:09 816

转载 队列、堆栈与数组、链表的关系与区分

本文转自:https://www.cnblogs.com/zhishan/p/3207932.html首先,明确两个概念:数据结构与数据存储结构!数据结构:是指相互之间存在一种或多种特定关系的数据元素的 集合。听起来是不是很抽象,简单理解:数据结构就是描述对象间逻辑关系的学科。比如:队列就是一种先进先出的逻辑结构,栈是一种先进后出的逻辑结构,家谱 是一种树形的逻辑结构!(初学数据结构的时候很不...

2018-10-31 13:56:01 1126

转载 ubuntu镜像下载地址

官方下载地址(不推荐)https://www.ubuntu.com/download中科大源http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/阿里云开源镜像站http://mirrors.aliyun.com/ubuntu-releases/16.04/兰州大学开源镜像站http://mirror.lzu.edu.cn/ubuntu-r...

2018-10-30 09:41:33 8070 1

转载 VS.2010编译C++文件时出现fatal error C1083: 无法打开包括文件:“xxx.h”: No such file or directory.

原文:https://blog.csdn.net/l1028386804/article/details/46604963利用VS.2010编译C++文件时出现fatal error C1083: 无法打开包括文件:“xxx.h”: No such file or directory.错误。我把头文件复制,直接选择项目粘贴进来,虽然解决方案资源管理器里显示此头文件,但是编译就出现上面的错误,找...

2018-10-29 14:45:18 13628

原创 依赖注入框架Dagger2—1.入门

1.依赖注入1.1.什么是依赖?如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖。例如下面类 A 中用到一个 B 对象,我们就说类 A 对类 B 有一个依赖。同时,这也是一个典型的&amp;amp;amp;amp;amp;amp;amp;quot;依赖非注入&amp;amp;amp;amp;amp;amp;amp;quot;案例。public class A { ... B b; .

2018-10-27 21:52:32 392

原创 依赖注入框架Dagger2—2.各注解用法

[@TOC]0.前言接上一篇入门文章,这篇主要是各属性实战。1.Dagger2各属性了解必要属性@inject//注入,@Component,@Moudle,@Provider为什么说这个几个是必要属性,因为只要想用dagger2这几个属性是绕不开的。高级属性@Named @Qualifier @Scope @Singleton;这四个属性实际上可以分文俩组,@Named底层实...

2018-10-27 21:51:00 803

原创 设计模式—行为型—策略模式

文章目录0.概述1.图解2.应用场景3.代码练习4.总结5.Demo6.Thanks0.概述策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把一个系列的算法封装到一个系列的具体策略类里面,作为一个抽象策略类的子类或策略接口的实现类。简单地说:准备一组算法,并将...

2018-10-20 15:25:03 287

原创 源码角度看Android事件分发机制

所谓点击事件分发,其实就是对MotionEvent分发。当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。

2018-09-28 16:49:52 429

原创 View绘制流程—performTraversals的后续逻辑

前言我们知道View绘制流程是在performTraversals()这个方法内展开的(perdormDraw(),perdormMeasure(),perdormLayout()),之前我们分析过app是如何抵达performTraversals这个方法的(见:https://blog.csdn.net/user11223344abc/article/details/81168087)那么此...

2018-09-19 16:37:03 521

原创 Android MVVM架构分析

前言本文俩个任务:1.对MVVM进行学习2.总结梳理MVC-MVP-MVVM的演进过程什么是MVVMMVP是对MVC的C的演化,MVVM是对MVP的P的演化。而Android领域的MVVM自身也进行了一次演化,即从2015年DataBinding推出开始,由传统的MVVM到2017谷歌推出了AAC标准架构。并在二者迭代的过程中,也出现了基于传统的DataBinding增强...

2018-09-12 14:34:51 7483 3

原创 Android DataBinding库的使用

前言本篇是MVVM架构的姊妹篇,由于篇幅原因,所以将这个工具最简单的使用抽出来说一下。实践库配置android{ ... dataBinding { enabled true } ...}xml布局 &amp;amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;utf

2018-09-11 16:20:52 827

原创 算法—快速排序

http://developer.51cto.com/art/201403/430986.htm

2018-08-27 13:42:16 253

原创 算法—冒泡排序,选择排序

冒泡排序理解冒泡排序比较简单,俩层循环,第一层循环决定起始位置,第二层循环从起始位置开始遍历,到数组尾部,其间对比相邻俩个元素,根据升序或者降序需求比较值并进行兑换。不啰嗦了,直接上代码。代码 int[] array = {6, 3, 77, 11, 2, 99, 6}; for (int i = 0; i &lt; array.leng...

2018-08-17 14:46:30 2792 2

原创 RecyclerView系列(10)—自定义Adapter(添加HeaderView)

dsad

2018-08-16 16:51:12 694

原创 RecyclerView系列(9)—自定义Adapter(基础篇)

0.前言想要添加headerView需通过自定义RecyclerView.Adapter,并通过控制Adapter的itemType来实现,在在此之前你需要有基本的自定义Adapter的基础。本文通过俩个步骤来学习如何为Adapter添加一个HeaderView。简单的过下RecyclerView设计思想,分清其中各个角色关系(了解过的可以跳过这一步)。学习自定义Adapter的基...

2018-08-16 16:32:59 2435

原创 算法—希尔排序

概念希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰...

2018-08-15 09:36:25 318

原创 算法—插入排序

大致看一看![](https://wx1.sinaimg.cn/ mw1024/0061ejqJgy1fu3l9eoaebg30le0k27fm.gif)理解相信各位看了这个图,虽然从感官上了解了它的机制,但是要将其搞成程序代码,我们还需要更细致的去分析这个问题。在此之前,刘老大已经分析过一波了,各位可以去看下:http://liuwangshu.cn/algorithm...

2018-08-14 09:41:27 281

原创 设计模式—结构型—装饰者模式

前言这个模式写起来很简单(但是融会贯通并不简单),核心的类就3个。所谓装饰者模式就是基于如下三个类来展开的。概念基础抽象类(Coffee) 这个类定义了被装饰的对象具备哪些属性,在本文案例中即:价格price,名称name。标准模板类(SimpleCoffe) 这是装饰者模式的一个体现,它是基础抽象类的一个实现,因为基础抽象类是抽象的,我们无法具体的去设置它的属性,所以我们需要...

2018-08-03 11:32:51 238

原创 php学习之旅-5:一个小练习题

写诗练习题目:将下面一首诗分别按以下样式输出每行(第1行粗体,第2行下划线,第3行斜体,第4行字号比上面的文字都大两号)。 日照香炉生紫烟, 遥看瀑布挂前川。 飞流直下三千尺, 疑是银河落九天。 【提示】 &amp;lt;b&amp;gt;日照香炉生紫烟,&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; &amp;lt;u&amp;gt;遥看瀑布挂前川。&amp;l

2018-07-31 14:04:20 1000

原创 设计模式—行为型—观察者模式

理解”观察者模式”非常简单,就拿”发通知”这件事说,因为这个动机足够强和具体。俩个角色: - 被观察者—发送通知的人。 - 观察者—被通知的人,接收通知的人。很多人喜欢把简单的问题搞的很复杂,定义成四个角色,实际上就上述俩角色,多余的俩角色只不过是该俩角色的抽象。实现废话不多说,直接干代码。被观察者—发通知定义被观察者的抽象接口package ...

2018-07-27 14:50:03 181

原创 Github Fork

找到你想fork的项目点fork,然后这个项目的代码就被克隆到你的gihub了。 扩展操作:你可以设置下popular面板将其展示在首页。 一波常规操作将项目clone到你本地这里不要搞混,脑海里需要明确2个概念,”源项目”,”你fork的项目”。ok,现在去把你的github内克隆的项目地址复制,然后clone到你计算机上。如下3条命令是必不可少的。$ git...

2018-07-26 14:00:16 835

原创 SVG—最简单的SVG动画

本文目的基础SVG的几个最基础的命令M:新建起点,参数x,y(M20, 30) L:连接直线,参数x,y(L30, 20) H:纵坐标不变,横向连线,参数x(H20) V:横坐标不变,纵向连线,参数y(V30) Q:二次贝塞尔曲线,参数x1,y1,x2,y2(Q10,20,30,40) C:三次贝塞尔曲线,参数x1,y1,x2,y2,x3,y3(C10,20,30,4...

2018-07-26 09:58:01 65278

原创 设计模式—行为型—责任链模式

理解一个请求沿着一条“链”传递,直到该“链”上的某个处理者处理它为止。注意:”请求”,”链”,”处理者”。术语图片摘自:hehonghui的github 分析这个类图: - Handler—抽象处理者 1.拥有一个void handlerRequest()方法。 2.并且自身包含自己的一个对象(自聚合)。ConcreteHandler—具体处理者 1.拥有一个h...

2018-07-24 16:36:57 269

原创 设计模式—创建型—构建者模式

理解将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。比如装电脑,我们只需要提供各个部件(cpu,主板,显卡)的配置。其他事我们不用管,交给电脑商家。术语Director: 指挥者类,用于统一组装流程,对外暴露一个方法让客户传递电脑的型号参数即可,构造者模式隐藏构造流程细节的体现。Builder:抽象Builder类,规范产品的组建,注意这里的组建...

2018-07-24 13:03:07 177

原创 View绘制流程—performResumeActivity—>performTraversals

前言我们知道AMS启动一个APP(Launcher——&amp;amp;amp;amp;amp;amp;gt;AMS—&amp;amp;amp;amp;amp;amp;gt;MyAPP)会创建ActivityThread。也就是ActivityThread是一个App的真正入口,分析View的绘制流程,我们肯定是以ActivityThread为起点来分析。然后抵达一个方法performTraversals。这个方法是ViewRoot内的一个方法,也是View绘制的真实起点。我

2018-07-23 15:11:59 1117

原创 ActivityThread分析—ActivityThread的main方法的执行流程分析

前言前面我们分析了ActivityThread的main方法是如何被调用的,本篇我们来分析ActivityThread的main方法内的流程。代码分析frameworks\base\core\java\android\app\ActivityThread.java#main() public static final void main(String[] arg...

2018-07-16 11:16:10 3109 1

原创 ActivityThread分析—ActivityThread的main方法是如何被调用的

前言我们都知道ActivityThread这个类是app程序的入口,本文为了证明这一点,因Launcher亦是一个Activity,且我们之前也对Launcher启动流程做过一定的分析,SO,本文以它为支点,展开对于ActivityThread的学习。本文的目的只分析到main方法的调用处,而main方法中式如何进行初始化的将另开一篇,另外,有错误请直接指出。参考:Launcher启动...

2018-07-12 12:18:39 6482

buglydemo&tinker;

buglydemo&tinker; buglydemo&tinker; buglydemo&tinker; buglydemo&tinker;

2017-11-21

Map覆盖物添加demo

ShitMap覆盖物添加demo

2017-11-20

TinkerDemo测试用的apk

测试用的apk

2017-11-09

百度地图定位功能

bdmap 百度地图定位功能

2017-10-26

ShitMap_p1.rar

ShitMap_p1.rar

2017-10-05

MakeALayoutManager _P1

MakeALayoutManager _P1

2017-09-24

MakeALayoutManager

MakeALayoutManager代码演示

2017-09-24

markManback

这是一个markMan备份包

2017-09-13

AppBarLayoutDemo

AppBarLayoutDemo

2017-08-13

BottomBarLayout

BottomBarLayout

2017-07-25

recyclerStiky2

recyclerStiky2

2017-07-23

ZJCoordinato

ZJCoordinato

2017-07-23

rcStikydemo

recyclerStiky 代码

2017-07-20

2RecyclerViiew

2RecyclerViewFoucs

2017-07-17

EditText_2_Keyborad

EditText_2_Keyborad

2017-07-14

MagicIndicatorDemo

MagicIndicatorDemo

2017-07-10

MZBannerDemo

MZBannerDemo

2017-07-09

bannerDemo

demo

2017-07-09

mvp脑图android

mvp脑图android

2018-09-11

vs2017无法打开源文件pthread

vs2017无法打开源文件pthread

2018-06-01

mmleak分析文件

mmleak的分析文件,用于分析mmleak的数据观察使用。mmleak的分析文件,用于分析mmleak的数据观察使用。

2018-05-16

leak测试代码

mmleak测试代码,主要用作Android来测试内存泄漏的复现效果。

2018-05-15

热插拔arouter

热插拔arouter

2018-05-10

RxJava代码练习_creating操作符

代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习代码练习

2018-05-10

php提交表单的测试demo

post_phppost_phppost_phppost_phppost_phppost_phppost_phppost_php

2018-05-02

任务栈信息上传

任务栈信息上传任务栈信息上传任务栈信息上传任务栈信息上传任务栈信息上传

2018-04-23

融云Demo初阶连上聊天服务器

融云Demo初阶连上聊天服务器,融云Demo初阶连上聊天服务器

2018-04-19

libsqlite的so文件

提供给大家报错时解决问题的,提供给大家报错时解决问题的。

2018-04-19

java代理模式

java代理模式

2018-02-06

arouter测试代码

arouter测试代码

2018-02-05

arouter测试代码—入门

arouter测试代码—入门

2018-02-02

自定义layoutManager优化

自定义layoutManager优化

2018-01-29

hello retrofit

hello retrofit.rar

2017-11-30

RxJava代码练习1

感谢csdn平台提供代码上传功能,本资源是RxJava代码练习1。

2017-11-30

BuglyDemoTruth

腾讯bugly演示代码打包上传。非常感谢平台给与这个资源上传平台,大大的方便了我备份代码。

2017-11-21

空空如也

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

TA关注的人

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