自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 目录

博客推荐Android基础Java基础Java基础–Java内存模型和垃圾回收机制Kotlin基础Kotlin 基础语法-01Kotlin 基础语法-02Kotlin 基础语法-03Kotlin Standart函数开发环境Git工具命令...

2017-09-28 17:07:13 324

原创 Android 自定义控件

传送门

2018-05-23 16:07:37 214

原创 Kotlin 基础语法-04

函数和 Lambda 表达式函数声明函数用法中缀表达式参数默认参数命名参数单表达式函数显示返回类型可变数量的参数局部函数尾递归函数高级函数内联函数Lambda 表达式和匿名函数函数类型Lambda表达式语法带接收者的函数字值内联函数禁内联局部返回具体化类型参数函数和 Lambda 表达式函数声明Kotlin 中的函数使⽤ fun 关键字声明fun doub

2017-10-30 12:57:57 762

原创 Git使用命令

Git命令Local分支远程库TagGit命令Localgit init 把当前目录变成git可以管理的仓库git add 文件名/. 将该文件/所有文件添加到暂存区里面去git status 查看状态git diff 文件名 查看该文件的修改内容git commit -m “描述内容” 提交g

2017-10-30 12:28:14 411

原创 Kotlin Standart函数

TODOrunwithapplyalsolettakeIftakeUnlessrepeat

2017-10-24 09:07:17 530

原创 Kotlin 基础语法-03

Kotlin 数据类与密封类数据类复制实例数据类以及解构声明标准数据类密封类Kotlin 泛型泛型约束型变声明处型变星号投射Kotlin 枚举类枚举初始化使用枚举常量实例Kotlin 对象表达式和对象声明对象表达式对象声明实例伴生对象对象表达式和对象声明之间的语义差异kotlin 委托类委托属性委托定义一个被委托的类标准委托延迟属性 Lazy可

2017-10-24 09:03:08 336

原创 Kotlin 基础语法-02

类和对象类的属性属性定义getter 和 setter实例主构造器实例次构造函数实例抽象类嵌套类内部类匿名内部类类的修饰符实例Kotlin 继承构造函数子类有主构造函数子类没有主构造函数实例重写Kotlin 接口实现接口接口中的属性函数重写Kotlin 扩展扩展函数扩展函数是静态解析的扩展一个空对象扩展属性伴生对象的扩展扩展的作用域扩展

2017-10-24 09:01:42 420

原创 Kotlin 基础语法-01

Kotlin 基础语法函数定义定义常量与变量字符串模板NULL检查机制类型检测及自动类型转换区间Kotlin 基本数据类型字面常量比较两个数字类型转换位操作符操作符 is字符布尔数组字符串字符串模板Kotlin 条件控制IF 表达式使用区间When 表达式Kotlin 循环控制For 循环while 与 dowhile 循环返回和跳转Break 和

2017-10-24 09:00:40 589

原创 Android 反编译Apk

jadxApktoolClassySharkjadxGithub使用(windows)Building from source下载gradle需要些时间git clone https://github.com/skylot/jadx.gitcd jadxgradlew.bat dist反编译apkcd build/jadx/bin/jadx-gui.bat taobao.apk

2017-09-25 17:34:34 594

转载 Android 深入理解AOP

深入理解Android之AOP一、闲谈AOP大家都知道OOP,即ObjectOriented Programming,面向对象编程。而本文要介绍的是AOP。AOP是Aspect Oriented Programming的缩写,中译文为面向切向编程。OOP和AOP是什么关系呢?首先:l OOP和AOP都是方法论。我记得在刚学习C++的时候,最难学的并不是C++的语

2017-07-14 09:20:12 397

原创 数据结构和算法思维导图

2017-07-12 14:20:36 3560

原创 C 返回函数指针的函数

#include int func1(int a){ printf("%d\n",a);}int(*func2(int a ,int b))(int) { return func1;}int main(){ int (*(*f)(int,int))(int) = func2; int (*p)(int) = f(0,0); p(10);}输出:10#inclu

2017-06-09 22:28:42 308

原创 linux yum 命令

linux yum 命令yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,

2017-05-28 17:37:01 221

原创 Linux vi/vim

Linux vi/vim所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。相关文章:史上最全Vim快捷键键位图 — 入门到进阶什么是 vim?Vim是从 vi 发展出来的一个文本编辑

2017-05-28 17:35:33 334

原创 Linux 磁盘管理

Linux 磁盘管理Linux磁盘管理好坏管理直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

2017-05-28 17:34:24 231

原创 Linux 文件与目录管理

Linux 文件与目录管理我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。在开始本教程前我们需要先知道什么是绝对路径与相对路径。绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。相对路径:路径的写法,不是由 / 写起,例如由 /u

2017-05-28 17:32:47 230

原创 Linux 文件基本属性

Linux 文件基本属性Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:[root@www /]# ls -ltotal 64dr-xr-xr-x

2017-05-28 17:30:53 286

转载 互联网行业岗位职责

互联网行业的薪资水准相对较高,刚入行一个月,半年,或者一年超过其他行业薪资很正常。 那么,互联网行业究竟有哪些职位呢,又分别适合哪些传统行业转型? 1.产品 2.UI 3.CSS 4.JS 5.后端(Java/php/python) 6.DBA(mysql/oracle) 7.运维(OP) 8.测试(QA) 9.算法(分类/聚类/关系抽取/实体识别) 

2017-05-26 14:55:31 6193 2

原创 二叉树的递归和非递归遍历(java)

package com.wy.binarytree;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class BinaryTree { private TreeNode root = null; public BinaryTree(){ root = new

2017-05-25 13:42:51 1174 1

转载 Java1.8 HashMap

简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但

2017-05-19 17:00:42 448

转载 希尔排序

1、基本思想:希尔排序也成为“缩小增量排序”,其基本原理是,现将待排序的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插入排序,待整个待排序列“基本有序”后,最后在对所有元素进行一次直接插入排序。因此,我们要采用跳跃分割的策略:将相距某个“增量”的记录组成一个子序列,这样才能保证在子序列内分别进行直接插入排序后得到的结果是基本有序而不是局部有序。希尔排序

2017-04-25 17:04:59 267 1

转载 插入排序

1、基本思想直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的、记录数增1的有序表。对于给定的一组记录,初始时假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插到有序序列中为止。2、复杂度分析当最好的情况,也就是要排序的表本身就是有序的,此时只有数据比较,没有

2017-04-25 17:03:45 288 1

转载 堆排序

1、基本思想堆是一种特殊的树形数据结构,其每个节点都有一个值,通常提到的堆都是指一颗完全二叉树,根结点的值小于(或大于)两个子节点的值,同时,根节点的两个子树也分别是一个堆。  堆排序就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根节点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),

2017-04-25 17:02:43 315 1

转载 选择排序

1、基本思想:选择排序是一种简单直观的排序算法,其基本原理如下:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录的位置与第一个记录的位置交换;接着对不包括第一个记录以外的其他记录进行第二次比较,得到最小记录并与第二个位置记录交换;重复该过程,知道进行比较的记录只剩下一个为止。2、复杂度分析:从简单选择排序的过程来看,它最大的特点是交换移动数据次数相当少,这样就节约了相应

2017-04-25 17:01:55 269 1

转载 归并排序

1、基本思想:归并排序就是利用归并的思想实现的排序方法。而且充分利用了完全二叉树的深度是的特性,因此效率比较高。其基本原理如下:对于给定的一组记录,利用递归与分治技术将数据序列划分成为越来越小的半子表,在对半子表排序,最后再用递归方法将排好序的半子表合并成为越来越大的有序序列。 经过第一轮比较后得到最小的记录,然后将该记录的位置与第一个记录的位置交换;接着对不包括第一个记录以外的其他记录进

2017-04-25 17:00:57 327 1

转载 快速排序

1、基本思想:快速排序是我们之前学习的冒泡排序的升级,他们都属于交换类排序,都是采用不断的比较和移动来实现排序的。快速排序是一种非常高效的排序算法,它的实现,增大了记录的比较和移动的距离,将关键字较大的记录从前面直接移动到后面,关键字较小的记录从后面直接移动到前面,从而减少了总的比较次数和移动次数。同时采用“分而治之”的思想,把大的拆分为小的,小的拆分为更小的,其原理如下:对于给定的一组记录,

2017-04-25 17:00:02 342 1

转载 冒泡排序

1、基本思想冒泡排序顾名思义就是整个过程像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和换位后,n个记录的最大记录将位于第n位,然后对前(n-1)个记录进行第二轮比较;重复该过程,直到记录剩下一个为止。2、复杂度分析当最好的情况,也就是要排序

2017-04-25 16:58:01 1095 1

转载 常用排序算法

常用排序算法的复杂度分析整理  具体分析如下:1 冒泡排序(BubbleSort)冒泡排序是最慢的排序算法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。步骤: (1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。 (2)对每一对相邻元素作同样的工作,从开始第一对到

2017-04-25 16:56:27 346 1

转载 设计模式(四)

其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT、JDBC、集合类、IO管道或者是Web框架,里面设计模式无处不在。因为我们篇幅有限,很难讲每一个设计模式都讲的很详细,不过我会尽我所能,尽量在有限的空间和篇幅内,把意思写清楚了,更好让大家明白。本章不出意外的话,应该是设计模式最后一讲了,

2017-04-11 12:48:22 215

转载 设计模式(三)

本章是关于设计模式的最后一讲,会讲到第三种设计模式——行为型模式,共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类13、策略模式(stra

2017-04-11 12:46:17 757

转载 设计模式(二)

我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:6、适配器模式(Adapter) 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配

2017-04-11 12:44:13 269

转载 设计模式(一)

一、类的创建及初始化类通常是一类事物的抽象,如人就是一个类,你、我、他是这个类的具体实例,也就是对象。在Java中我们可以通过形如:class A {}来创建一个类,我们说过Java是面向对象的语言,每个对象都应该拥有它自己的属性和方法,就拿人来说,肤色、身高等是人的属性,吃、喝、玩等都是方法,也就是说属性描绘了类的特点,而方法描述了类的功能,体现在Java的类中就像下面的代码这样:

2017-04-11 12:38:10 237

原创 Android Genymotion 使用遇到的问题

一、软件下载下载和 VirtualBox二、问题1、虚拟机下载慢问题解决方法:1) 找到下载路径:在设置中找到virtual devices路径打开文件夹,在其父目录下找到oav文件夹2) 拼接链接并下载http://dl.genymotion.com/dists/版本号/ova/文件名版本号格式:

2017-03-22 15:57:21 775

转载 排序算法

排序算法平均时间复杂度冒泡排序O(n2)选择排序O(n2)插入排序O(n2)希尔排序O(n1.5)快速排序O(N*logN)归并排序O(N*logN)堆排序O(N*logN)基数排序O(d(n

2017-02-23 09:15:22 284

转载 Android 全面了解Android Notification

什么是通知(Notification)通知是一个可以在应用程序正常的用户界面之外显示给用户的消息。通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情。通知区域和通知抽屉都是用户可以随时查看的系统控制区域。作为安卓用户界面的重要组成部分,通知有自己的设计指南。在Android 5.0(API level 21)中引入的 Material Design

2017-02-23 08:59:54 507

原创 modbus tcp数据报文结构

modbus tcp数据报文结构 读取数据请求:00 01 00 00 00 06 18 03 00 02 00 02 数据含义00 01此次通信事务处理标识符,一般每次通信之后将被要求加1以区别不同的通信数据报文00 00表示协议标识符,00 00为modbus协议

2017-02-16 13:36:09 16896 2

转载 Android 5.0+6.0新特性

5.android5.0介绍1.十大新特性(1). 全新Material Design设计风格     * 新的视觉语言,在基本元素的处理上,借鉴了传统的印刷设计,字体版式、网格系统、空间、比例、配色、图像使用等这些基础  的平面设计规范(2). 支持多种设备(3). 全新的通知中心设计(4). 支持64位ART虚拟机 * 谷歌承诺所有性能都会比原来提升一倍,Andro

2017-01-20 17:23:44 694

转载 Android 移动APP开发——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

引言简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova。它能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台。有低成本,低开发周期,轻量化等优点。它统一封装了Andriod,IOS,WindowsPhone,Symbian等几大移动开发平台的API,采用HTML5+Ja

2016-12-28 11:26:25 1321

原创 Android Studio--NDK编译C代码为.so文件,JNI调用

Android Studio--NDK编译C代码为.so文件,JNI调用前言:  从Android Studio开始,就支持jni和.so库调用了。环境:  Windows 7+Android Studio2.1.2+NDK版本:android-ndk-r10e准备工作:  1) ndk文件:    1,可以根据需求,从网上下载, 网址(科学上网): h

2016-12-26 17:04:36 897

原创 Android:Windows系统中使用bsdiff

bsdiff是一个差异包比较工具,可以用来实现Android的增量更新,详情请见这篇文章Android 增量更新完全解析 是增量不是热修复。只是这篇文章的背景是基于mac系统的,关于其第二步——增量文件的生成与合并——自己各种寻求编译方法,始终没能成功编译出bsdiff和bspatch文件。后来自己终于放弃自己编译,直接百度了windows下的bsdiff文件,找了半天终于找到了可以直接运行的

2016-12-23 14:11:24 641

Kotlin中文文档

-----------------------------------------Kotlin中文文档-----------------------------------

2017-10-16

JDK+8.0+EN+API.chm

--------------------------------------JDK+8.0+EN+API.chm----------------------------------------------

2017-09-26

jdk1.8中文API文档.CHM

---------------------------- jdk+api+1.8_google_CN.CHM google翻译--------------------------------

2017-09-26

apk反编译工具(apktool/ClassyShark/jadx)

----------------------apk反编译工具(apktool/ClassyShark/jadx),使用文档。---------------------------

2017-09-26

空空如也

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

TA关注的人

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