自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 elk 安装

ELK一、ElasticSearch1、安装下载:wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz解压:tar -xzvf elasticsearch-5.2.2.tar.gz修改配置文件:vi elasticsearch.ymlclus...

2018-07-28 19:19:45 612

原创 digraph

1、安装下载地址:windows,下载msi格式文件.双击安装,一直下一步,要记住安装路径.把安装文件的bin目录配置到path环境中.测试是否安装成功:dot -version2、使用新建一个文件:test.dot写代码:digraph G { node [peripheries=2 style=filled color="#eecc80"] edge [color

2017-03-05 18:53:53 3094

转载 []T 还是 []*T, 这是一个问题

转载:全面分析Go语言中的类型和类型指针的抉择写的很不错,如果读者明白golang是如何分配T和*T变量的内存会更加明白。

2017-01-16 21:43:52 474

原创 快速排序的优化

1、改进办法对于小数组,插入排序比快速排序快,并且切分到小数组的时候,快速的排序的递归深度很大因为递归,快速排序在小数组中也会调用自己调整pivot的值,(可使用三数取中,或者随机数等)最后一种最优的排序:三向切分快速排序 因此在排序小数组是应该使用应该切换为插入排序,//这是golang中的源码,也是这种做法,当只有12(这个值在5~15之间都能获得不错的性能)的时候就是用下

2017-01-07 15:49:56 461

原创 golang 各种排序大比拼

1、准备工作准备数据: 生成随机数并写入文件,之后在把数据读取出来//新生成整数随机数,并存储在txt文件中,func NewIntRandm(fileName string, number, maxrandm int) { filename := fileName file, err := os.Create(filename) if err != nil {

2017-01-05 16:14:45 3774

原创 快速排序

1、基本思想 1、从数组中选择一个数作为基准 2、分区过程,将把比这个数大的数全放到它的右边,小于它的数放在它的左边 3、再对左右区间进行第二步操作,直到他们区间只有一个数。一次快排的具体操作: 第一步:取第一个和最后一个元素的指针,并设置一个基准值,比如可以把第一个元素设置为基准,(或者用更复杂的规则生成这个基准,这样有利于排序的稳定性,比如可以选用随机选取基准,或者

2017-01-05 10:57:47 371

原创 golang中sort包实现与应用

1、简介sort包中实现了3种基本的排序算法:插入排序.快排和堆排序.和其他语言中一样,这三种方式都是不公开的,他们只在sort包内部使用.所以用户在使用sort包进行排序时无需考虑使用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法、比较两个元素大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺利对数据集合进行排序。sort包会根据实际数

2017-01-04 14:32:16 2970

原创 堆排序

1、堆定义堆定义如下:n个元素的序列{k1,k2,k3,…..,kn}当且仅当满足一下关系时,称为堆。 就是这两个公式,仔细体会,i是指结点下标,ki指第i个结点,i的范围(i=i,2,……,n/2)n是要排序的长度。 将一维数组看成是一个完全二叉树,则堆的含义表明,完全二叉树中所有非终端结点(叶子结点)的值均不大于(或者均不小于)其左右孩子结点的值。 例如:[1,2,3,17,19,36

2017-01-02 23:59:17 380

原创 golang 集合包阅读container包

1、list包详解,list实现了个双端队列//这是一个list中存储的元素type Element struct { // Next and previous pointers in the doubly-linked list of elements. // To simplify the implementation, internally a list l is imple

2016-12-30 14:38:30 1281

原创 数据库存储过程

存储过程建立存储过程使用PL/SQL用来编写数据库存储过程的一种过程语言PL/SQL 基础1、变量常量的定义a、变量名 数据类型 [[NOT NULL] := 初值表达式] 或 变量名 数据类型[[NOT NULL]初值表达式b、常量的定义类似于变量的定义常量名 数据类型 constant := 常量表达式4常量必须要给一个值,并且该值在存在期间或常量的作用域捏不能改变,如果视图修改它,

2016-10-24 00:32:31 2684

原创 MySQL存储引擎和数据类型

MySQL存储引擎和数据类型花点时间适当地设计项目的表结构是成功的关键。对于这个我深有体会,上个项目,在设计数据库时没有经过讨论,最后设计出来的数据库虽然有关联关系的表有外键约束关系,但是两个字段居然不一样,在使用中各种困难,估计只要设计数据库的人才能明白,所以设计好数据库时很关键的。存储引擎1、MyISAM MySQL默认存储引擎MyISAM 表无法处理事务,这意味着应当对所有非事务需求使用此类型

2016-10-18 18:38:39 572

原创 Go语言中的工程管理

1、安装Go并添加编译环境1、下载安装包,[Go网站](https://golang.org/)2、安装好之后,把安卓目录中的bin目录加入到path中去,我想有过java学习经历的朋友对这个肯定不陌生。比如:D:\Go\go\bin 这是我的安装目录,加入到path环境下,要是不懂path是什么,先百度一下。3、进入DOS下,输入:go version 命令,之后若是出现:go version

2016-10-07 23:49:19 1354

原创 Java控制台输入方法

1、使用BufreredReader读取控制台的输入Java的控制台输入有System.in完成。获取到一个InputStream(输入字符流)。 为了获取输入字符流中的数据需要把它进行层层包装BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 使用BufferedReader 来进行字符

2016-09-25 13:09:22 871

原创 Android 新出ConstraintLayout布局简介

1、ConstraintLayout(约束布局) 创建的意义1、是为了解决创建一个庞大而复杂的视图层2、是为了创建布局更加简化,做到可以无技术的开发布局,完全手工拖拽不需要编写xml代码3、ConstraintLayout兼容2.3以上的所有版本2、约束概述要定义视图的位置ConstraintLayout,必须添加两个或者更多的约束条件。每一个约束都是其他的view,the parent

2016-09-24 17:22:21 3506

转载 五种有效的学习方法 – 方法比努力重要

说明:此文是有一个博士(王晶)写的,我就是复制过来的,大家有时间可以看这个博主的博客,非常不错。链接 1 、目标学习法 掌握目标学习法是美国心理学家布卢姆所倡导的。布卢姆认为只要有最佳的教学,给学生以足够的时间,多数学习者都能取得优良的学习成绩。教学内容是由许多知识点构成,由点形成线,由线完成相对独立的知识体系,构成彼此联系的知识网。因此明确目标,就要在上新课时了解本课知识点在知识网中的 位置,

2016-09-22 21:57:50 1313

原创 Swagger UI教程 API 文档神器 搭配Node使用

一、node.js的安装运行环境必须使用node.js,把其作为服务器来跑, 安装教程二、swagger的安装 教程 对上面的图片进行进行讲解,教程博客中大部分都讲清楚了,所以我这里就不说了,在我做的过程中就是这个地方没有看懂,我在这里进行解释一下,它讲的那个url是在public/index.html 文件中,把它替换为后边的就可以了,还有那个text.json名字要用自己的。三、

2016-09-22 21:51:54 1036

原创 优秀的个人博客

一个优秀的个人博客 http://zh.lucida.me/1、如何阅读书籍 http://zh.lucida.me/blog/on-reading-books/2、算法学习之路 http://zh.lucida.me/blog/on-learning-algorithms/3、程序员阅读清单 http://zh.lucida.me/blog/developer-reading

2016-09-05 19:27:54 655

原创 数据结构中的栈和递归以及队列

栈定义:是限定仅在表尾进行插入或删除操作的线性表。表尾 称为栈顶,表头称为栈底,不含元素的空表称为空栈(记得以前学汇编语言的时候,经常讲压栈、出栈当是就不明白,现在算是明白了一点了,栈并不是能把所有不同的东西都压入的,我猜测可能有多种栈,按元素类型来划分,比如有函数栈,变量栈等)。 栈表示和实现:栈也是像线性表一样可以用数组或者链表来实现,大多采用链表。栈的操作就是在添加到链表尾和从链表尾取出。C

2016-08-31 17:26:03 525

原创 单链表结构

链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链表,下面将逐一介绍。 单链表:单链表有一个头节点head,指向链表在内存的首地址。链表中的每一个节点的数据类型为结构体类型(数据的结构类型,有一个数据域和指针域共同组成了这种新的数据),节点有两个成员:整型成员(实际需要保存的数据,可以是泛型)和指向下一个结构体类型节点的指针即下一个节点的地址。链表按此结构对各节

2016-08-24 21:38:11 1245

原创 线性表的顺序表示

数据结构中的线性表用不同的语言书写线性表的顺序表示指的是用一组地址连续的存储单元依此存储线性表的数据 元素。说白了就是一个可以自动增长长度的数组;首先数组是不可能动态增长的,必须手动更改内存大小,不同的语言有不同的实现方式,C语言使用malloc()函数 来动态扩展内存,其它的高级语言比如java则通过new对象来扩充,php语言是底层直接支持动态数组的,底层也是同样的原理封装。 C语言:#inc

2016-08-23 21:56:22 361

原创 DownLoadManager 的使用

DownLoadManager 使用DownLoadManager 通过service来优化长时间下载操作的处理,通过处理http连接、监控连接的变化和系统重启来确保每一次下载都能成功完成,我们通过这个服务完成文件下载。整个下载 过程全部交给系统负责,不需要我们过多的处理。DownLoadManager包含两个内部类: DownLoadManager.Query:主要用于查询下载信息。 Down

2016-08-23 18:24:43 464

原创 activity和fragment的通信

activity和fragment的通信这是错误的写法public class MainActivity extends Activity{ /** * 这是一种错误的写法,主要是给找不到问题的人看 */ TextView textView; //这是activity中的控件 Button button; //这是fragment中控件

2016-03-24 11:47:42 312

软件定义网络(snd网络指南)

高清版,软件定义网络详细描述。是一本值的读的书,设计到的面很广。

2018-07-28

Android 自定义View 视频音量调控 改进版

这是本人学习Hongyang博客中自定义view章节的内容,在其之上加入了使用了音量按钮调节音量并显示音量大小的,还可以使用左右滑动来进行调节音量。

2016-09-06

空空如也

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

TA关注的人

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