自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

残忍的刀刀--专栏

程序不过是梦,生于无形无象的禅中,我们只是那做梦的人。

  • 博客(36)
  • 资源 (5)
  • 收藏
  • 关注

原创 Kafka的架构设计

我们为什么要搭建该系统Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础。现在它已为多家不同类型的公司 作为多种类型的数据管道(data pipeline)和消息系统使用。活动流数据是所有站点在对其网站使用情况做报表时要用到的数据中最常规的部分。活动数据包括页面访问量(

2014-08-14 14:27:10 2730

原创 java.util.concurrent.locks与synchronized及其异同

关键字:synchronized、java.util.concurrent.locks.Lock、同步、并发、锁一、【引言】JDK1.5之前,实现同步主要是使用synchronized,而在JDK1.5中新增了java.util.concurrent包及其两个子包locks和atomic,其中子包locks中定义了系列关于锁的抽象的类。本文主要介绍java.util.concurrent.

2014-08-08 11:08:06 723

原创 http长轮询和短轮询

http 协议介绍:    http 协议是请求/响应范式的, 每一个 http 响应都是由一个对应的 http 请求产生的; http 协议是无状态的, 多个 http 请求之间是没有关系的.http 长连接:    目前 http 协议普遍使用的是 1.1 版本, 之前有个 1.0 版本, 两者之间的一个区别是 1.1 支持 http 长连接, 或者叫持久连接.1.0 不支

2014-07-07 10:40:52 1080

原创 vmware workstation虚拟机中的虚拟网络简介

vmware workstation可以虚拟出来各种真实网络环境、实验环境,而网管在使用这些虚拟网络功能时都要依靠vmware workstation提供的桥接、NAT和Host-only(主机模式)这三种虚拟网卡属性的组合来实现,具体桥接、NAT和Host-only是什么意思?桥接、NAT和Host-only有什么作用?桥接、NAT和Host-only的区别在哪里,本文将针对桥接、NAT和Hos

2013-11-27 16:35:47 1497

原创 Oracle的表的连接方式(内连接+外连接+自连接)

工作2年多了,虽然天天在用Oracle,但基本比较简单的CRUD,今天复习一下 连接方式:Oracle 表之间的连接分为三种:1. 内连接(自然连接)2. 外连接(1)左外连接 (左边的表不加限制)       (2)右外连接(右边的表不加限制)       (3)全外连接(左右两表都不加限制)3. 自连接(同一张表内的连接)SQL的标准语法:

2013-10-30 14:00:31 1591

原创 Mongodb的MapReduce优化

分析在MongoDB中正成为越来越重要的话题,因为它在越来越多的大型项目中使用。人们厌倦了使用不同的软件来做分析(包括Hadoop),它们显然需要传输大量开销的数据。MongoDB提供了两种内置分析数据的方法:Map Reduce和Aggregation框架。MR非常灵活,很容易部署。它通过分区工作良好,并允许大量输出。MR在MongoDB v2.4中,通过使用JavaScript引擎把S

2013-10-30 13:52:29 1680

原创 Linux rpm 命令

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。常用命令组合:-ivh:安装显示安装进度--install--ve

2013-10-24 19:22:41 861

原创 Consistent Hashing一致性哈希算法

一、简单介绍一致性哈希算法        分布式存储中,常常涉及到负载均衡问题,由于有多个数据存储服务器。因此当一个对象被保存时候,它究竟应该存放到哪个数据存储服务器上面呢?这就是负载均问题。        又例如:现在假设有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式已经不能满足用户的访问,于是想引入 Memcached 作为缓存机制。现在一共引入三台机器

2013-10-17 17:30:49 918

原创 异步非阻塞IO的理解

先来说说 阻塞 和 同步的 概念非阻塞 和 异步 反之。以下是自己的看法,表述的通俗一点就是:阻塞:     国庆放假了,我被堵在高速上了,那我们常说这条路阻塞了,而不会说这条路同步了。对吧?阻塞了 我什么干不了了,总不能车不要了吧,那就只能现  在车里睡会,我们称为线程挂起。所以阻塞强调的是一种状态。同步:   最常见的事,警察让先放人质,土匪说先给钱。那就这

2013-09-24 17:42:18 1121

原创 MongoDB分页处理方案

MongoDB的分页性能是广大使用者所诟病的大问题之一,在大数据量环境下,如果一次跳转的页数过多,如10W多页,可能用户要等上几十秒(瞎掰的数据),有兴趣的可以去看一下这篇文章Paging& Ranking With Large Offsets: MongoDB vs Redis vsPostgreSQL。看完了你是不是对MongoDB的性能很失望,对Redis充满了崇敬?其实这种对比

2013-09-18 10:38:58 3472

原创 linux中crontable的用法

crontab命令的功能是在一定的时间间隔调度一些命令的执行。1.0  新建定时任务1、查看crontab服务是否启动,                           root@oracle lhq]# service crond status;   2、启动crontab服务                [root@oracle lhq]# s

2013-09-10 14:44:08 10915 2

原创 linux中date命令的用法

使用方式 :date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]说明 :date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示

2013-09-10 10:23:48 871

原创 Mongodb安装及简单命令

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。一、下载MongoDB的官网是:http://www.mongodb.o

2013-08-20 10:58:39 1819

原创 Maven项目pom.xml 配置学习

什么是pom?    pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。maven POM.xml详解<project xmlns="http://maven.apache.org/POM/4.0.0"

2013-08-05 10:30:43 931

原创 Nginx配置文件nginx.conf说明

Nginx使 用有两年了,很少真正的了解它的配置,今天花了点时间,把Nginx的主要配置参数说明 分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了。更详细的模块参数请参 考:http://wiki.nginx.org/Mainnginx.conf文件如下:#定义Nginx运行的用户和用户组user www www; #nginx进

2013-07-04 16:06:23 869

Nginx配置文件nginx.conf说明

Nginx使 用有两年了,很少真正的了解它的配置,今天花了点时间,把Nginx的主要配置参数总结了一下。更详细的模块参数请参考:http://wiki.nginx.org/Mainnginx.conf文件如下:#定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数。worker_processes 8; ...

2013-07-04 16:06:00 126

原创 android应用处理过程简单理解

做了个应用,总结下对于android 应用的简单理解 从上图可以简单看出,主线程启动,这里把各种操作称为action,主要分为3部分:ui(视图绘制)、event(事件处理)和other(数据或网络等处理)1.当点击图标启动应用A时,系统有个luncher应用会根据A应用里AndroidManifest.xml中声明的找到对应启动的activity: <

2013-06-19 09:27:25 790

android应用处理过程简单理解

做了个应用,总结下对于android 应用的简单理解 从上图可以简单看出,主线程启动,这里把各种操作称为action,主要分为3部分:ui(视图绘制)、event(事件处理)和other(数据或网络等处理)1.当点击图标启动应用A时,系统有个luncher应用会根据A应用里AndroidManifest.xml中声明的&lt;category android:name="a...

2013-06-19 09:27:00 113

翻译 JDK 1.7目录结构及自带工具

参考资料:http://docs.oracle.com/javase/7/docs/index.htmlhttp://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdkfiles.htmlJDK = JRE + Tools&Tool APIsJDK的核心是Java SE API。Java SE API是

2013-06-13 10:46:47 1349

JDK 1.7目录结构及自带工具

参考资料:http://docs.oracle.com/javase/7/docs/index.htmlhttp://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdkfiles.htmlJDK = JRE + Tools&amp;Tool APIsJDK的核心是Java SE API。Java SE API是...

2013-06-13 10:46:00 172

原创 java内存回收机制

在JAVA中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。1

2013-06-13 10:27:36 850

java内存回收机制

在JAVA中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。...

2013-06-13 10:27:00 80

原创 Java排序

8种排序之间的关系:1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现 package com.njue; public class insertSort { p

2013-06-05 11:15:42 815

Java排序

8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n&gt;=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现package com.njue; public class insertSort { pu...

2013-06-05 11:15:00 176

原创 Java随机数

众所周知,随机数是任何一种编程语言最基本的特征之一。而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数。看似简单,但有时我们也会忽略了一些有趣的功能。我们从书本上学到什么?最明显的,也是直观的方式,在JAVA中生成随机数只要简单的调用:java.lang.Math.random() 在所有其他语言中,生成随机数就像是使用Math工具类,如abs, pow,

2013-06-05 10:40:26 797

Java随机数

众所周知,随机数是任何一种编程语言最基本的特征之一。而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数。看似简单,但有时我们也会忽略了一些有趣的功能。我们从书本上学到什么?最明显的,也是直观的方式,在JAVA中生成随机数只要简单的调用:java.lang.Math.random()在所有其他语言中,生成随机数就像是使用Math工具类,如abs, po...

2013-06-05 10:40:00 76

原创 NIO学习笔记(4)-- 【练习】NIO聊天工具

通过NIO的学习,自己简单写了一个,C/S架构的聊天工具。Server端:    1.接受客户端Channel。    2.记录客户端集合clients。利用channel进行区分客户端,后续可以添加一个ID。    3.客户端通过遍历clients,对除发送者以外的所有客户端通讯。Client端:    1.发送请求。    2.接收内容    3.获取控制台内容

2013-04-26 17:13:18 1292 1

NIO学习笔记(4)-- 【练习】NIO聊天工具

通过NIO的学习,自己简单写了一个,C/S架构的聊天工具。Server端: 1.接受客户端Channel。 2.记录客户端集合clients。利用channel进行区分客户端,后续可以添加一个ID。 3.客户端通过遍历clients,对除发送者以外的所有客户端通讯。Client端: 1.发送请求。 2.接收内容 3.获取控制台内容,并发送待解决问题: 由...

2013-04-26 17:13:00 150

原创 NIO学习笔记(3)--NIO核心类(Buffer,Channel)

一.Buffer(缓冲区)     概念   缓冲区是包在一个对象内的基本数据元素数组。Buffer 类相比一个简单数组的优点是它将关于数据的数据内容和信息包含在一个单一的对象中。Buffer 类以及它专有的子类定义了一个用于处理数据缓冲区的 API。    所有的缓冲区都具有四个属性来提供关于其所包含的数据元素的信息。它们是:容量(Capacity)

2013-04-12 22:14:40 1581

NIO学习笔记(3)--NIO核心类(Buffer,Channel)

一.Buffer(缓冲区) 概念 缓冲区是包在一个对象内的基本数据元素数组。Buffer 类相比一个简单数组的优点是它将关于数据的数据内容和信息包含在一个单一的对象中。Buffer 类以及它专有的子类定义了一个用于处理数据缓冲区的 API。 所有的缓冲区都具有四个属性来提供关于其所包含的数据元素的信息。它们是:容量(Capacity) 缓冲区能够容纳的数据元素的最大数量。这一容量...

2013-04-12 22:14:00 143

原创 NIO学习笔记(2)--NIO核心类(Selector)

对于上一节中的socket通讯,用以下图来解释NIO的通讯过程:从图中可以明显的看出NIO主要体现在 Channel,Buffer,Selector 这几个类上一. Selector(选择器)      针对SelectableChannel对象的多路复用器。即只针对网络通讯,对文件IO不支持。      可通过调用此类的 open 方法创建选择器,在选择器调用 clo

2013-04-08 19:14:26 3465

NIO学习笔记(2)--NIO核心类(Selector)

对于上一节中的socket通讯,用以下图来解释NIO的通讯过程:从图中可以明显的看出NIO主要体现在 Channel,Buffer,Selector 这几个类上一. Selector(选择器) 针对SelectableChannel对象的多路复用器。即只针对网络通讯,对文件IO不支持。 可通过调用此类的 open 方法创建选择器,在选择器调用 close 方法关闭选择...

2013-04-08 19:14:00 179

原创 NIO学习笔记(1)--非阻塞I/O

一. 什么是阻塞?      阻塞(Block)这个概念。当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,或者调用sleep指定的睡眠时间到了)它才有可能继续运行。     我自己是这样理解(同步/异步、阻塞/非阻塞)的:    所谓同步就是当一个进程发起一个函数(任务)调用的时候,一直会

2013-03-31 12:32:40 3415

NIO学习笔记(1)--非阻塞I/O

一. 什么是阻塞? 阻塞(Block)这个概念。当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,或者调用sleep指定的睡眠时间到了)它才有可能继续运行。 我自己是这样理解(同步/异步、阻塞/非阻塞)的: 所谓同步就是当一个进程发起一个函数(任务)调用的时候,一直会到函数(任务)完成。进程...

2013-03-31 12:32:00 174

转载 BIO AIO NIO

jdk1.6及之前都只实现BIO 和 NIOjdk1.7开始支持AIO,即NIO 2.0在BIO阻塞模式下server端:1 new ServerSocket(int port) 监听端口2 serverSocket.accept() 阻塞式等待客户端的连接,有连接才返回Socket对象3 socket.getINputStream() 获取客户端发过来的信息流4

2013-03-15 21:12:09 1388 3

BIO AIO NIO

jdk1.6及之前都只实现BIO 和 NIOjdk1.7开始支持AIO,即NIO 2.0在BIO阻塞模式下server端:1 new ServerSocket(int port) 监听端口2 serverSocket.accept() 阻塞式等待客户端的连接,有连接才返回Socket对象3 socket.getINputStream() 获取客户端发过来的信息流4 socket.getO...

2013-03-15 21:12:00 108

RegexBuddy4

很好用的工具,尤其对于经常写正则的同学,能快速且清晰的列举出正则匹配的结果,regexbuddy4 很好用的工具,尤其对于经常写正则的同学,能快速且清晰的列举出正则匹配的结果,regexbuddy4

2013-11-26

网页编辑器 ckeditor

最好用的网页编辑器 ckeditor

2013-11-26

Lucene_in_Action(中文版)

Lucene in Action为使用最好的Java开源搜索引擎的用户提供所有细节、最好的实践、警告、技巧。 本书假设读者熟悉基本的Java编程。Lucene本身是个Java档案(JAR)文件并能集成到简单的命令行程序和大型企业级应用程序中。

2013-07-04

构建高性能的web站点

构建高性能的web站点

2013-07-04

Acegi详细教程

Spring的安全框架,目前主流的平台框架都用到了该技术

2012-04-01

空空如也

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

TA关注的人

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