自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Maxwell_7

见素抱朴、少私寡欲、淡泊明志、宁静致远

  • 博客(101)
  • 资源 (10)
  • 收藏
  • 关注

原创 关于Git的理解

写一些关于Git的个人认知,在这里记录一下、关于Gitgit是一个分布式版本控制系统,同样作为版本控制系统被人熟知的还有SVN,两者的区别主要在于:git是分布式的,记录的是代码变更,每个本地仓库都是一个完整的库,是系统的一部分,相互之间仅推送修改的部分SVN是一个集中的代码库,在仓库中存储的是完整的代码git相比与SVN,优势主要在:分布式仓库:每个本...

2018-02-26 22:09:57 666 2

原创 Token身份认证

Token是什么用户的数据安全性很重要,而http又是一种没有状态的协议,并不能区分访问者。这就需要做用户验证,用户输入账号和密码之后,需要把用户的登录信息记录下来,防止访问下一个页面的时候需要重新验证。传统的处理方法是,借助与Session机制,当用户登录之后,服务端生成一个记录,这个记录用来标记用户,然后发送给客户端,客户端将这个标记存储在Cookie里面,当客户端发起下一次请求的时候,会...

2018-02-26 22:09:16 5536

原创 ELK+FileBeat日志分析系统

日志分析系统重新构建了一下,选定的技术方案是ELK,也就是ElasticSearch, LogStash,Kibana。另外加了Filebeat和Kafka 2017.06.28 这两天稍微清闲一些,就趁机重新构建了日志分析系统。没有写代码,全部使用成熟的技术方案来做数据采集,至于后期如何使用这些数据,还在考虑中,先收集吧。 整体的解决方案如下图所示:其中,日志...

2018-02-26 22:07:44 12923 2

原创 蹭了一脸血的事故们

1、资源使用完毕要记得释放,无论是文件IO连接还是数据库连接,否则都会在下一次使用资源时报错。2、数据库连接不要使用静态标记,否则会导致只有一条连接,速度严重受到影响,同一个进程创建一个连接,进程结束之后释放掉这个连接即可...

2018-02-26 22:06:15 304

原创 ElasticSearch集群安装和配置

ElasticSearch是一个基于Apache Lucene的分布式搜索引擎,具备REST API风格、高可用、面向文档等风格,集群高度可扩展。著名的Github就是使用ES来实现代码搜索功能。 2017.05.271. ElasticSearch介绍集群 : 一个集群对应唯一的集群名,ES服务启动时,各个机器根据各自的集群名选择加入的集群。集群中...

2018-02-26 22:04:56 919

原创 关于消息中间件

2017.05.24一、什么是消息中间件消息中间件是一套平台,用于应用之间的数据通信。举个例子:淘宝网的用户注册,在注册的同时需要有一系列的操作,如下图: 同时,伴随着业务的扩展,后端流程还会增加。如果在注册时要顺序的完成每一步操作,整个流程会耗费很多的时间,从而使得用户等待延迟增加。最容易想到的处理方法是将串行改为并行处理,如下图: 并行虽然能提速,但是由于各个流程之...

2018-02-26 22:03:05 3070 1

原创 重回CSDN

离开CSDN有段日子了,一直在维护个人网站,但是发现个人网站维护太费时间了,今天决定重回这里,希望用最省力的方式,纪录开发中的点滴

2018-02-26 21:58:26 256

原创 拓扑排序及其Java实现

拓扑排序是针对有向无圈图的顶点的一种排序,使得如果存在一条从A到B的路径,那么在排序中A必定在B的前面。拓扑排序的应用场景很好理解,比如在内存中运行着很多任务,某个任务A的执行依赖于另外一个任务B,那么在A执行完之前,B一定不能被清理。而另外一些任务是没有关联的,如何来安排这些任务被清理的顺序就需要依赖拓扑排序。一个简单的拓扑排序的方案(Kahn算法)是:先找出任意一个没有

2016-07-27 16:14:08 9656 6

原创 object对象重写equals方法时为什么需要重写hashCode方法

在Java语言中,equals方法在使用时:    针对包装对象,比较的是对象的值(包括 boolean,byte,char,short,int,long,float,double)    针对String对象,比较的也是String的值(因为String内部重写了equals方法和hashCode方法)    针对其他object对象,比较的是两个对象的引用是否指向同一个内存地址

2016-07-25 17:16:26 2404

原创 MongoDB从不懂到装懂其四(数据备份、恢复、导入、导出)

数据备份:mongodump.exe数据恢复:mongorestore.exe数据导出:mongoexport.exe数据导入:mongoimport.exe具体的执行方式是,在MongoDB安装目录的bin目录下,执行相关操作。数据备份:mongodump  -d  DB_Name  -o  D:\db指定目录备份DB_Name数据库,其中DB_Nam

2016-07-22 10:27:37 650

原创 MongoDB从不懂到装懂其三(Java操作MongoDB)

没什么好说的,和上一篇一样,只不过这一篇采用的语言环境是Java。直接放代码吧,在代码中关于增删改查都做了详细的说明。首先是一个MongoDB的帮助类,在这个类中定义了增删改查各种函数的实现,

2016-07-21 20:18:00 10130

原创 关于正则表达式

正则表达式,关于字符匹配,在获取HTML页面的时候作数据清洗

2016-07-15 16:54:39 421

原创 MongoDB从不懂到装懂其二(C#操作MongoDB)

上一篇文档讲述了在命令窗口下的MongoDB的相关操作,这一篇讲述C#语言环境下MongoDB的使用。先附上实例代码:http://download.csdn.net/detail/sinat_22013331/9575331注意在运行这个例子的时候,首先要按照例子中的数据库名称和表单名称来新建数据库和表单。同时开启数据库服务器。具体使用时,先要下载MongoDB驱动文件,下载地址是:https://github.com/mongodb/mongo-csharp-driver/releases

2016-07-13 18:10:58 6691 2

原创 log4net使用说明

log4net的使用过程说明:step 1:对项目添加引用log4net.dll下载一个log4net包,将log4net.dll文件拷贝到项目的根目录下,并在项目中添加该文件的引用step 2:在项目config文件中添加配置信息在项目的config配置文件中添加下面的配置信息,这个config文件可以是web.config,也可能是app.config,或者是其

2016-07-08 11:21:44 471

原创 Git使用常见命令的理解和记录

git使用了很久,可是用到的功能基本上也就add commit  push 这几个,趁着今天有点时间,把git的东西整理一下。BTW,找了份git教程,需要看的直接去廖雪峰的网站看吧,附上链接:http://www.liaoxuefeng.com,我这里只是记下自己需要用的东西。git是一个分布式版本控制系统,免去了不断自己更新版本号的麻烦,同时也帮助coder记下修改的地

2016-07-07 15:30:14 1355

原创 关系型数据库和NoSQL的对比表格

首选给出关系型数据库和非关系型数据库之间的对比:整个数据库演进的过程是这样的:传统的关系型数据库,比如说MySQL,具有不错的性能,高稳定性,并且使用简单,功能强大。刚开始的时候,网站的访问量不大,读写要求不高,一般的关系型数据库就能满足网站的需求了。

2016-06-20 14:47:09 2172

原创 Exception和RuntimeException的区别

两种错误的区别

2016-06-18 14:03:03 1691

原创 算法时间复杂度的计算

时间复杂度啊,概念和计算方法,以及举例说明

2016-06-18 11:11:13 597

原创 MongoDB从不懂到装懂其一(介绍、安装、以及命令窗口下的操作)

刚开始看的材料来自菜鸟教程:http://www.runoob.com/mongodb/nosql.html后面看的材料来个网络和书本的整理,出处太多。。MongoDB 是一个基于分布式文件存储的数据库系统。它是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库中功能最丰富,最像关系型数据库的一款产品概念区分:关系型数据库RDMBS(Relationa

2016-06-16 16:14:20 2530

原创 文本中关键字匹配算法

给定一定数量的关键字,对任一篇文本,寻找文本中包含哪些关键字并加亮这些关键字这个文本处理需要一个算法, 普通的文本处理直接去遍历所有的关键字,但是这种算法太复杂,时间复杂度太高。之前的文章中有说过,实际用到的算法,为了加快执行速度,都是在时间和空间上做的兑换。这里同样可以,通过增加存储空间来减少程序执行时间。可以选择开一个数组,数组的长度是char类型的最大长度加一。

2016-06-16 09:33:38 32459 2

原创 KMP算法的介绍及其Java实现

字符串匹配算法中比较经典的一个算法是KMP算法。算法的目的是给定一个字符串,寻找在一个长字符串中有没有与给定字符串匹配的子串。http://www.cnblogs.com/c-cloud/p/3224788.html

2016-06-14 19:15:37 922

原创 我理解的倒排索引

关于倒排索引技术,英文名是Inverted index,其实应该称之为“反过来索引”会比较好。网页中爬出来的页面一般称之为文本,将这些文本的关键词和路径保存到数据库中。正常的索引是从文本的ID编号(数据库编号)去搜索文本中的词,当文本中包含关键词时,给出文本路径链接。倒排索引则是一个逆过程。首先搜索引擎会爬下来网页文本,对文本检索关键词,并将关键词保存在数据库中,关键词后面对应的保存相关文

2016-06-14 16:19:31 1339

原创 寻找第K大数的方法

寻找一堆数中第K大的数,第一感觉是排序,然后将排序之后的值取第K个。但是实际上,这种方式最少的时间复杂度是O(nlogn)。有更简单的方式可以实现线性的时间复杂度。算法总是有穷尽的,而思想无穷尽,快速的时间复杂度是实现

2016-06-14 09:25:39 1332

原创 ConfigurationManager不存在

ConfigurationManager

2016-06-13 14:44:05 1098

原创 Redis从不懂到装懂

一、Redis简介Redis,全称是REmote DIctionary Server,是一个K-V存储系统。它也被称作数据结构服务器,因为它的值可以是String、Map、List、Set等类型。Redis有几个特别的特征:        1)支持数据持久化。可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用        2)不仅支持简单的K-V数据类型,还提供Lis

2016-06-13 11:28:09 4178

原创 文本编辑距离的计算

文本编辑距离的计算,采用动态规划实现

2016-05-30 10:41:27 1977

原创 技术栈从Java换成C#的笔记

C#学习记录,最基础的知识点的熟悉

2016-05-20 16:36:26 903

原创 二叉树、二叉搜索树、AVL树的java实现

数据结构一直都是断断续续的看,总是觉得理解的不够深入,特别是对树的理解,一直都很浅显,今儿又看了一遍,来做个总结吧。首先,树中的一些概念:1、树的节点包含一个数据元素,以及若干指向其子树的分支。节点拥有的子树的数量称为节点的度。节点的最大层次称为树的深度或高度。2、二叉树是一种树形结构,其特点是每个节点至多有两棵子树,且子树有左右之分,次序不能随意颠倒。3、满二叉树:一棵深

2016-04-24 23:16:07 1758

原创 java 栈的实现以及栈的典型应用--字符平衡,中缀转后缀,后缀计算,迷宫求解等

栈是一种顺序存储的数据结构,具有先入后出的特点。栈的实现方式主要有两种,分别是用链表来实现和用数组来实现。栈虽然看起来很简单,但是用处却很多,最典型的举几个例子:字符平衡(几种括号的表达式的平衡)、中缀转后缀以及后缀的计算。不啰嗦,上代码:首先写一个栈的接口,提供栈内需要的各种方法:/** * 栈的接口定义 */public interface Stack { // 压栈

2016-04-24 15:32:15 1371

原创 链表插入、链表相加、链表相乘、链表排序、链表合并等操作的java实现

最近刷数据结构,自学的过程绝对还是很有意思的,这里好像才看到程序工作者的智慧。刷到了链表相关的知识,虽然javayou现成的List可以调用,但是又全都自己实现了一遍,理解内部实现的机制。关于链表的定义和创建,节点的插入,节点删除,节点查找,判断是否为空,判断是否为尾节点,链表元素的排序,两个有序链表的合并,链表的反转,获取最后四个链表元素,获取链表的中间节点元素,交换链表节点,链

2016-04-22 23:13:38 1029 1

原创 在java方法中改变传递的参数的值

刚在写一个用例,需要在方法中改变传递的参数的值,可是java中只有传值调用,没有传址调用。所以在java方法中改变参数的值是行不通的。但是可以改变引用变量的属性值。可以仔细理解一下下面几句话:1、对于基本类型参数,在方法体内对参数进行重新赋值,并不会改变原有变量的值。2、对于引用类型参数,在方法体内对参数进行重新赋予引用,并不会改变原有变量所持有的引用。 3、方法体内对参数进行

2016-04-14 12:04:59 34200 1

原创 Java泛型的理解

最近开始写代码的时候越来越觉得基础很重要,不同的设计思路和写的方法对代码执行效率会有很大影响。于是翻了翻书,做个简单的整理。关于java泛型,有了些新的理解。1、泛型是什么?在jdk1.5之前,java容器是没有办法记住它里面存储的对象的类型的,会把所有的对象当成object类型来处理,于是当从集合中取出对象的时候,需要做强制类型转换,这种转换一方面会让代码显得很臃肿;另一方面

2016-04-10 17:53:54 397

原创 Floyd算法的java实现

Floyd算法:用于多源最短路径的求解,算出来的是所有的节点到其余各节点之间的最短距离。该算法的思路是:首先初始化距离矩阵,然后从第一个点开始逐渐更新矩阵点值。d[i][j]表示从i点到j点的距离。第k次更新时,判断d[i][k]+d[k][j]与d[i][j]的大小,如果前者小,则更新这个值,否则不变。给一个例子:具体的floyd实现算法如下:packag

2016-03-28 19:19:18 6395 1

原创 Dijkstra算法的java实现

Dijkstra算法:用于单源最短路径的求解。用于计算给定的一个源节点到其他各个节点之间的最短路径。该算法的思路是:已选定的节点集为A,待选的节点集为B。开始时节点A中仅包含源节点。选择B中距离源节点最近的一个点,然后将它加入到节点集A中。该点加入后,更新B中所有节点到A的路径长度(借助刚加入的点)。之后重复这一步骤,直至所有点都加入。以下图为例,做一个说明:

2016-03-28 17:35:20 2962 1

原创 环信SDK调用实现即时聊天功能

最近在做个项目,需要用到即时通信的功能,选定了环信的IM云来实现,关于环信IM的SDK接口,自己研究了一天,基本的功能实现了一下,这里PO出来demo。因为只是为了验证sdk的实现,所以界面设计的比较丑,还请谅解。先上图

2016-03-24 16:05:50 7491

原创 新浪云独立域名绑定

前些天做了一个个人主页,放在了新浪云上。之所以放在新浪云上,这里还有一个曲折的故事。在新浪云待久了,想换个平台,就选了阿里云。本来我是买了阿里云的学生版的,毕竟便宜么,但是买了之后不能用,每次点进去都跳转,完全看不到实例选项,搞了一个下午,心烦气躁的,实在没办法,打电话给客服,结果好玩了,客服告诉我说是因为我之前注册了聚石塔,所以不能用阿里云的服务,点击之后会自动跳转到聚石塔。天啊,难道是在调

2016-03-18 10:09:26 1557

原创 Android自定义弹出框AlertDialog

今天有空把自定义弹出框研究了一下,一直在用,都没有仔细的看代码,今儿mark一下。先上个图,做出来的效果:Step 1: 先自定义一个显示图,我写的XML文件如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

2016-03-17 21:31:09 875

原创 Genymotion安装virtual device的“unable to create virtual device, Server returned Http status code 0”的解决方

/Users/UserName/.Genymobile/Genymotion/ova/网络原因无法下载virtual device,status 为0表示服务器没有响应。解决方案有两种:1、检查virtual box的网络配置,重新建一个网络。virtual box设置--网络--host only -- 新建     如果新建之后仍然无法连接,可能会返回timeout

2016-03-16 14:46:22 890 1

原创 JS中调用函数是否加括号

在JS中,调用函数的过程中        加括号:表示想要得到函数的执行结果,此时在调用的时候函数体已经执行,返回函数值        不加括号:表示得到函数的指针,转到函数定义的位置去执行这个函数

2016-02-21 18:33:09 754

原创 调用百度鹰眼api实现实时轨迹绘制

自己想做一个跑步路径轨迹记录的app,刚好百度地图有鹰眼api,就拿过来调用了,这里给出鹰眼api调用的一个完整实现的例子HelloTrace,放在了完整包的下载链接为:最近缺下载积分,所以需要一个下载币。。只要一个。。百度鹰眼api接口的实现,在实现之前要进行工程配置,这是第一步,在AndroidManifest.xml文件中配置的信息是: <meta-data

2015-12-03 15:28:01 31930 50

MongoDB的使用(C#语言环境下)

MongoDB的使用,在C#语言环境下

2016-07-13

Log4net使用的测试用例

log4net的使用说明

2016-07-08

MongoDB在Windows下的管理软件MongoVUE破解版

MongoDB在Windows下的管理软件MongoVUE破解版

2016-06-17

文本中关键字匹配算法的实现

文本中关键字匹配算法的实现

2016-06-16

环信SDK使用的简单Demo

实现了环信SDK的简单的使用方法,主要提供文本信息的消息列表和即时会话功能。

2016-03-24

Android自定义弹出框

自定义实现android弹框

2016-03-17

GPON和EPON标准

GPON的标准G.984.3 和 EPON的标准IEEE802.3ah

2016-01-30

Python坦克大战(一对多)

基于pygame的Python坦克大战,使用gameEngine引擎,实现一对多的坦克大战

2016-01-11

百度鹰眼api实现轨迹追踪

百度鹰眼api接入,轨迹追踪的简单实现。

2015-12-03

百度鹰眼API 轨迹追踪的实现

百度鹰眼api接入的简单实现,完成路径追踪,实时定位,轨迹画线的功能

2015-12-03

空空如也

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

TA关注的人

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