自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis学习03-对String类型的操作

一、对String类型的操作1、set和get命令set命令用于添加一条String类型的数据,该命令会覆盖已存在的同名key数据;而get命令用于查看String类型的数据2、incr和decr命令如果key对应的数据可以表示成整数(小数不行),那么就可以分别使用这两个命令对其进行递增和递减13、incrby和decrby命令这两个命令与incr和decr

2016-08-04 00:18:37 659

原创 Redis学习02-对数据key的操作

一、对数据key的操作1、keys命令该命令用于获取符合条件的key列表,用法为:keys pattern,其中pattern支持Glob风格的通配符格式:?:匹配任意一个字符*:匹配任意多个字符[]:匹配中括号内的任意一个字符,可以用-来表示一个范围\:转义字符,比如\?用于匹配一个问号,这里的?不再用于匹配任意一个字符2、exists命令该命令用于判断某个k

2016-08-02 01:44:52 828

原创 Zookeeper03 - Zookeeper之ACL

一、ACL1、ACL全称Access Control Lists,叫做访问控制列表,Zookeeper用它来控制客户端对Zookeeper节点的操作;它包含以下五个权限:CREATE:表示创建子节点的权限READ:表示获取节点数据和子节点列表的权限WRITE:表示更新节点数据的权限DELETE:表示删除子节点的权限ADMIN:表示设置节点ACL的权限要注意的

2016-06-11 22:01:03 2708

原创 Zookeeper02 - Zookeeper的数据模型

一、Zookeeper数据模型1、Zookeeper使用文件系统目录树作为数据模型,如下图所示。其具有如下的一些特点:以/作为根节点树形结构中的每个节点叫做Znode每个Znode都有数据(byte[]类型),包括节点数据,版本数据等等,也可以有子节点可以对Znode中的数据进行读写操作节点路径没有相对路径之说,只有绝对路径,比如这里的node1-2节点的路径只

2016-06-11 16:25:47 660

原创 Zookeeper01 - Zookeeper简介及安装使用

一、Zookeeper简介简单地说,Zookeeper就是一个高性能的、分布式的、开源的分布式应用程序协调服务,可以基于Zookeeper来开发分布式应用以实现更高级的服务,比如分布式同步、配置管理、集群管理和命名空间等等。二、安装Zookeeper本次学习环境是基于CentOS 6.5 + JDK 1.8 + Zookeeper 3.4.6的,这里采用的安装模式为单机模式。由于Zoo

2016-06-10 18:38:23 451

原创 Redis学习01-Redis安装与基本知识

一、安装Redis本次学习Redis的基本环境是基于CentOS 6(32位) + Redis 3.0.7的,Redis的下载地址为:http://redis.io/download。1、解压安装包并安装Redis,由于在Redis的安装包中已经有现成的Makefile文件,所以直接make && make install就可以了# tar -zxvf redis-3.0.7.tar.

2016-06-03 15:34:47 544

原创 操作系统换行符问题

最近工作中需要打包一个可执行的jar包到linux操作系统上运行,程序是在window 7操作系统下开发的,该程序由linux shell脚本定时调用执行,在执行过程中会根据一个模版文件动态产生一个linux shell脚本并执行,但是每次都是得到一个错误导致程序异常结束,错误的描述就是不能找到自动生成的这个shell脚本,但是到服务器上去查看时,明明发现该shell脚本已经动态生成了的啊,而且路

2015-01-07 18:08:43 596

原创 JavaScript函数与闭包

一、定义函数1、

2014-06-16 21:54:29 906

原创 JavaScript变量、作用域及内存问题

一、变量1、

2014-06-04 22:43:35 978

原创 JavaScript之继承

一、继承1、一般的

2014-05-29 00:41:34 722

原创 创建JavaScript自定义对象的方式

一、Object构造函数二、对象字面量三、工厂模式四、构造函数模式

2014-05-27 23:02:43 2261

原创 排序算法(四)希尔排序

一、希尔排序1、

2014-05-09 00:27:57 636

原创 排序算法(三)直接插入排序

一、直接插入排序算法1、

2014-05-07 23:36:16 757

原创 排序算法(二)简单选择排序

一、1、冒泡排序的基本思想就是不断地交换,通过j

2014-05-05 23:21:00 874

原创 排序算法(一)简介与冒泡排序

一、排序算法简介1、

2014-05-05 22:31:22 655

原创 Java垃圾收集机制(一)

一、内存回收对象1、

2014-04-13 17:22:41 931

原创 二叉排序树(二叉查找树)

一、序1、如果查找的数据集是普通的顺序存储,则插入操作k

2014-04-12 23:01:07 3057

原创 折半查找、插值查找和斐波那契查找

一、折半查找

2014-04-07 21:32:13 8331 7

原创 顺序表查找

一、介绍1、查找算法an'z

2014-04-07 18:16:01 1258

原创 Java Set接口

说明:本文是阅读《Java程序性能优化》(作者:葛一明)一书中关于Set接口一节的笔记。y

2014-04-06 17:24:56 763

原创 Java Map接口

说明:本文是阅读《Java程序性能优化》(作者:葛一明)一书中关于Map接口一节的笔记。一、基本概念

2014-04-05 00:17:09 1392

原创 Java List接口

说明:本文是阅读《Java程序性能优化》(作者:葛一明)一书中关于List接口一节的笔记。一、基本概念1、List接口常用的三个实现List接口以及该接口常用的三个实现等相关类图如下:ArrayList与Vector:在这三种不同的实现中,ArrayList与Vector使用了数组来实现,所以可以认为它们是封装了对内部数组的操作,所以对它们的操作等价于对内部

2014-04-04 00:16:49 1085

原创 StringBuffer与StringBuilder

说明:本文是阅读《Java程序性能优化》(作者:葛一明)一书中关于StringBuffer与StringBuilder一节的笔记。一、String常量与变量的累加操作1、String常量的累加操作由于String对象具有不可变性,所以String对象一旦生成就无法被改变,所以如下所示的字符串累加操作总共会产生7个String对象,因此从理论上讲这段代码的效率并不高。Stri

2014-04-03 21:56:56 956

原创 Java字符串分割与高效的charAt方法

说明:本文是阅读《Java程序性能优化》(作者:葛一明)一书中关于字符串分割与查找一节的笔记。一、字符串分割1、采用split方法分割字符串如下代码所示,对原始字符串进行了10000次分割,在我的机器上用时大概3000ms左右。所以采用split方法对字符串进行分割虽然简单、功能强大,但是在性能敏感的系统中频繁使用时性能是非常不好的。public class Split

2014-04-03 00:43:26 7692 4

原创 Java substring方法与内存溢出

说明:本文是阅读《Java程序性能优化》(作者:葛一明)一书中关于substring方法内存溢出一节的笔记。一、String对象及其特点1、在C语言中对字符串的处理通常是采用char数组,但是对于数组本身来说,它无法封装字符串操作的一些基本方法,所以在Java中,String对象可以看成是char数组的一种封装。Java中数组的基本实现如下图,主要由char数组、偏移量和Strin

2014-04-02 23:29:39 3487

原创 最小生成树之克鲁斯卡尔算法

一、克鲁斯卡尔算法1、无论是普里姆算法(Prim)还是克鲁斯卡尔算法(Kruskal),考虑问题的出发点都是:为使生成树上边的权值之和达到最小,则应使生成树中每一条边的权值尽可能的小。但是普里姆算法是以某顶点为起点,逐步找各个顶点上最小权值的边来构建最小生成树的。换一种思考方式,从边出发,因为权值是在边上,直接去找最小权值的边来构建生成树的想法就是克鲁斯卡尔算法的精髓。2、如下图所示,采用

2014-03-09 21:37:35 1547

原创 最小生成树之普里姆算法

一、最小生成树1、如下图所示,假如V0~V1表示9个不同的村庄,现在要在这9个村庄中搭建通信网络,其中的权值表示村庄与村庄之间的可通达的直线距离,没有连线的表示不予考虑,距离越大成本就越高,要求用最小的成本完成该任务。那么该在这9个村庄中怎么布局呢。  这是一个带权值的图,即网图,所谓的最小成本就是n个顶点,用n-1条边把一个连通图连接起来,且使得权值的和最小,所以在该图中只要连接

2014-03-09 16:31:42 1830

原创 马踏棋盘算法(骑士周游问题)

一、马踏棋盘算法1、国际象棋的棋盘为8*8的方格棋盘,将“马”放在任意指定的方格中,按照“马”走棋的规则将“马”进行移动。要求每个方格只能进入一次,最终使得“马”走遍棋盘64个方格。2、关于国际象棋“马”的走法:以“日”字为单位往斜对角上的那个方格走。如下图所示马在当前位置就有8种走法,如果不考虑边缘的特殊情况,那么需要8^64的时间复杂度才可以把整个棋盘的一个正确路径找出来。

2014-03-03 21:38:04 7765

原创 图的遍历之深度优先遍历与广度优先遍历

一、深度优先遍历

2014-03-01 14:20:44 2292 2

原创 设计模式之单例模式

一、简介1、单例模式是一种对象创建模式,用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。2、在Java中,单例模式带来的好处如下:对于频繁使用的对象,可以省去创建对象所花费的时间。由于使用new关键字操作的次数减少,所以对系统内存的使用频率也会降低,这将减轻GC的压力,缩短GC停顿时间。二、单例模式类图1、单例模式的参与者只有单例类和使用者,其中单例类提供

2013-12-04 00:40:34 801

转载 java中匿名内部类的构造方法调用

java中匿名内部类的构造方法调用

2013-11-28 21:48:51 1245

原创 类加载器及父亲委托机制

一、类加载器1、在Java中,有两种类型的类加载器,分别是JVM自带的类加载器和用户自定义的类加载器。2、JVM自带的类加载器有三种,如下:根(Bootstrap)类加载器:该加载器没有父加载器,它负责加载虚拟机的核心类库,如java.lang.*等。它从系统属性sun.boot.class.path所指定的目录中加载类库,它的实现依赖于底层操作系统,属于虚拟机的实现的一部分,它并

2013-11-09 17:29:46 1034

原创 JVM之加载、连接与初始化

一、JVM与程序生命周期1、当执行一个Java程序时,操作系统会启动一个JVM进程,进程中有一个主线程会去负责执行程序;当程序执行完毕后,JVM进程也就消亡了,而JVM将会结束生命周期的情况有如下几种:程序执行了System.exit()方法程序正常执行结束程序在执行过程中遇到了异常或错误而异常终止,比如遇到了异常而没有捕获,而是一直往上抛给了JVM由于操作系统出现错误而导致JVM进程

2013-11-06 23:45:39 1280

原创 Linux 链接文件

一、简介1、在Linux中有两种链接文件,一种叫做硬链接,它是在某个目录下新建一个文件名链接到某inode号码的关联记录而已,注意,它是产生新的文件名,而不是产生新的文件;而另一种是类似Windows中的快捷方式功能的文件,它是创建一个独立的文件,而这个文件会让数据的读取指向它链接的那个文件的文件名,叫做符号链接。二、硬链接1、硬链接就是多个文件名对应到同一个inode号码。待续。。。

2013-10-23 00:09:16 1208

原创 MongoDB 学习笔记(七):主从复制与副本集

一、主从复制1、主从复制是一个简单的数据库同步备份的集群技术,如下图:要明确的知道主服务器与从服务器,且从服务器要明确的知道主服务器的存在。2、在MongoDB中在启动数据库服务时,可以用master参数来指定主服务器,如下图:bind_ip是主数据库所在服务器IP而用slave参数可以指定从服务器,如下图:source参数用于指定主服务器以上两个数据库的关系如下图:这

2013-10-15 23:40:26 1707

原创 MongoDB 学习笔记(六):备份与用户管理

一、启动项1、在启动数据库服务时可以在命令行输入mongod命令,然后直接带一些参数,比如“mongod --dbpath D:\Installations\MongoDB-2.4.6\MongoDBDATA”,还可以将mongod命令后的那些参数写入一个配置文件中,然后在命令行中使用--config参数指定配置文件,比如将--dbpath参数写入文件中,如下图:然后在命令行中使用mo

2013-10-14 23:21:41 1200

原创 MongoDB 学习笔记(五):固定集合、GridFS文件系统与服务器端脚本

一、count、distinct与group1、count函数:查询文档数,如下图:2、distinct:去重,用法:db.runCommand({distinct:"集合名", key:"查询的键"}),如下图:3、group:分组,语法如下:首先会按照key指定的键进行分组,每组的每一个文档都要执行$reduce指定的方法,该方法接收2个参数,一个是组内本条文档,一个是累加

2013-10-13 15:59:43 1528

原创 MongoDB 学习笔记(四):索引

一、索引的基本使用1、建立索引在shell中为某个key建立索引的方法为:db.集合名.ensureIndex({key:1}),其中的key表示为哪个key建立索引,1表示升序建立索引,而-1表示降序建立索引,如下图:为age这个键升序建立索引。2、在shell中查看数据库已建立的索引在system.indexes和system.namespaces集合中能看到数据库已建立的

2013-10-12 23:53:25 1638

原创 MongoDB 学习笔记(三):分页、排序与游标

一、分页1、limit返回指定条数的数据2、skip指定跨度3、limit与skip结合,进行分页二、排序1、sort排序:指定排序的key,1为升序,-1为降序。2、排序的先后:从下图中可以发现,使用sort,始终是先对满足查询条件而查询到的结果集进行排序,然后再进行选取指定的条数或者是跳过指定的条数。3、排序的优先级:由于MongoDB的key可

2013-10-09 23:39:47 4910

原创 MongoDB 学习笔记(二):shell中执行增删查改

一、查1、查询集合中所有文档:db.集合名.find()。2、查询集合中第一个文档:db.集合名.findOne()。二、增1、添加集合并插入一个文档:db.集合名.insert({...})如下图:如果person集合不存在,则会为当前数据库添加一个名为“person”的集合,然后为该集合插入一个文档。注意:MongoDB会自动为该文档加入一个“_id”的key,但是

2013-10-07 22:55:24 2021

wondershare disk manager free

很好的免费的分区软件 亲测支持win7

2012-06-24

空空如也

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

TA关注的人

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