自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 Linux:grep基本使用、与之配合的正则表达式

POSIX字符实体:[:实体名:]:[:alpha:]、[:lower:]、[:upper:]:字母;小写字母;大写字母[:digit:]、[:xdigit:]:十进制数字;十六进制数字[:alnum:]:字母、数字[:punct:]:标点符号[:space:]:空白(空格、tab、新行)[:graph:]:可打印字符,非控制字符,不不不不 包括空格![:print...

2012-05-30 20:31:15 183

原创 maven实际应用

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><project xmlns="ht

2012-05-29 15:41:10 167

原创 JVM参数方法总结

这里向大家简单介绍一下如何设置JVM参数,主要包括堆设置,垃圾回收统计信息,收集器设置,及并行和并发收集器设置,相信本文介绍一定会让你有所收获。常见设置JVM参数汇总设置JVM参数之堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占...

2012-04-10 10:53:42 138

原创 linux top命令详解

top命令和ps命令的基本作用是相同的,显示系统当前的进程和其它状况;但是top是 一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供 了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的 很多特性都可以通过...

2012-03-31 13:19:37 103

原创 HTTP 响应状态码

HTTP 响应状态码<script type="text/javascript"></script>#define HTTP_STATUS_CONTINUE 100 OK to continue with request.#define HTTP_STATUS_SWITCH_PROTOCOLS 101 Server has...

2012-02-21 17:22:13 337

原创 JAVA 内存详解 (理解 JVM 如何使用 Windows 和 Linux 上的本机内存)

级别: 中级Andrew Hall , 软件工程师, IBM2009 年 5 月 11 日Java™ 堆耗尽并不是造成 java.lang.OutOfMemoryError 的惟一原因。如果本机内存 耗尽,则会发生普通调试技巧无法解决的 OutOfMemoryError 。本文将讨论本机内存的概念,Java 运行时如何使用它,它被耗尽时会出现什么情况,以及如何在 Windows® 和 ...

2012-02-06 15:20:51 112

原创 一致性 hash 算法( consistent hashing )

 consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛; 1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 o...

2011-12-28 15:37:58 81

原创 SYN 攻击原理以及防范技术

据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得...

2011-12-15 11:24:06 92

原创 shell字符串处理

在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。  一、判断读取字符串值表达式含义${var}变量var的值, 与$var相同  ${var-D...

2011-12-08 17:03:36 84

原创 shell 颜色控制

shell 颜色控制2008-06-27 12:53 Q. How do I change the color of my shell prompt under Linux ?A. You can change the color of your shell prompt to impress your friend or to make your own life qu...

2011-11-03 11:57:06 133

原创 三次握手Three-way Handshake

三次握手Three-way Handshake一个虚拟连接的建立是通过三次握手来实现的 1. (B) –> [SYN] –> (A)假如服务器A和客户机B通讯. 当A要和B通信时,B首先向A发一个SYN (Synchronize) 标记的包,告诉A请求建立连接.注意: 一个 SYN包就是仅SYN标记设为1的TCP包(参见TCP包头Resources). 认识到这...

2011-10-21 14:16:11 141

原创 讨论 Setsockopt选项

有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了.  以下资料均从网上收集得到   getsockopt 和 setsockopt 获得套接口选项: int getsockopt ( int sockfd, int level, int optname, void * optval, socklen_t *opteln ) 设置套接口选项: i...

2011-07-26 10:21:46 81

原创 TCP连接建立与关闭

 TCP 是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。本节将详细讨论一个TCP 连接是如何建立的以及通信结束后是如何终止的。建立一个 TCP 连接  TCP使用三次握手 ( three-way handshake ) 协议来建立连接,图 3-10 描述了三次握手的报文序列。这三次握手为:请求端(通常称为客户)发送一个 SYN 报文段( S...

2011-07-03 19:16:06 91

原创 转 JAVA并发容器代码随读

JAVA并发容器代码随读 1.       java.util.concurrent所提供的并发容器java.util.concurrent提供了多种并发容器,总体上来说有4类,队列类型的BlockingQueue和 ConcurrentLinkedQueue,Map类型的ConcurrentMap,Set类型的ConcurrentSkipListSet和CopyOnWriteArraySe...

2011-06-14 10:21:37 103

原创 转 Linux 终端输出字体颜色说明

文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:  echo -e "\033[44;37;5m ME \033[0m COOL"以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符“COOL”。“e”是命令 echo的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非...

2011-06-04 01:04:19 170

原创 转 LVS体系结构分析

问题如今,无论在企业网、园区网还是在广域网如Internet上,业务量的发展都超出了过去最乐观的估计;同时,用户不断地追求更高的机器性能,而升级单一的服务器系统,往往造成过高的投入和维护成本,性价比大大低于预期。这一切,不仅对硬件,也对软件平台提出了更高的要求: 可扩展性:良好可扩展性的计算机系统能够使得性能随着成本的增加而线性的增长。并且很容易对其进行精简或者扩充。 全天候的可...

2011-05-26 12:51:56 72

原创 分布式服务框架 Zookeeper -- 管理分布式环境中的数

本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。单机模式单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/home/...

2011-05-25 14:13:24 91

原创 转 LVS 负载均衡算法

轮叫调度RR(Round-Robin Scheduling)--------------------------------------------------------------轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度。不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,轮叫调度算法容易导致服务器间的负载不平衡。加权轮叫调度WRR(W...

2011-05-23 15:13:10 84

原创 转 BTrace入门及使用实例

 介绍Btrace (Byte Trace)是sun推出的一款java 动态、安全追踪(监控)工具,可以不停机的情况下监控线上情况,并且做到最少的侵入,占用最少的系统资源。 In a way, BTrace scripts are very similar to AOP's aspects, but can be attached to any existing Java code (or...

2011-04-21 11:21:26 103

原创 转 GC算法

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:   说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期,人们就在思考GC...

2011-04-21 10:42:26 86

原创 使用Jstat监控gc情况

性能测试过程中,我们该如何监控java虚拟机内存的使用情况,用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。在项目实践过程中,我们探索和使用了一款新工具--Jstat。    先秀一下。Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine...

2011-04-14 10:16:21 115

原创 TCP/IP 选项TcpTimedWaitDelay设置

TCP/IP 选项TcpTimedWaitDelay设置 当TCP连接被关闭时,{ Protocol, Local IP, Local Port, Remote IP, Remote Port}五元组就进入TIME_WAIT状态,默认时间是4分钟。可以通过一组命令看看tcp的连接状态: netstat -ano>>c:\port.txt 本地ip,远程ip,远程端...

2011-04-13 14:34:16 218

原创 HAProxy配置解释

HAProxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择部分作为配置。 global参数是进程级的,通常和操作系统(OS)相关。这些参数一般只设置一次,如果配置无误,就不需要再次配置进行修改 defaults配置默认参数的,这些参数可以被利用配置到frontend,backend,listen组件 frontend接收请求的前端虚拟节...

2011-04-07 17:28:57 69

原创 配置开发支持高并发TCP连接的Linux应用程序全攻略

1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量 的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许 当前用户进程打开的文件数限制:[speng@as4 ~]$ ulimit ...

2011-04-07 16:05:16 44

原创 linux TCP 参数设置

 此文为网络转载,对理解linux内核tcp参数设置有一定帮助,设置tcp参数一定要小心谨慎,轻易不要更改线上环境,我贴一下我们线上环境中,sysctl.conf的内容,见文章底部net.ipv4.tcp_tw_reuse    = 1net.ipv4.tcp_tw_recycle  = 1net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepali...

2011-04-07 15:57:50 96

原创 转 nginx源代码分析

Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数。如果你希望使用线程可以在配置文件中设置worker_threads这个参数,但这个参数在Nginx官方手册上没有。只有通过阅读源代码才看到。最大客户端连接数等于进程数与连接数的乘积,连接是在主进程中初始化的,一开始所有连接处于空闲状态。每一个客户端请求进来以后会通过事件处理机制,在Linux...

2011-04-01 12:27:04 77

原创 转 java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结

常见配置举例 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制.我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m.典型设置: java -Xmx3550m -Xms...

2011-03-30 10:56:05 55

原创 转CMS gc实践总结

首先感谢阿宝同学的帮助,我才对这个gc算法的调整有了一定的认识,而不是停留在过去仅仅了解的阶段。在读过sun的文档和跟阿宝讨论之后,做个小小的总结,如果有谬误,敬请指正。    CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求大于对吞吐量的要求,能够...

2011-03-30 10:22:21 51

原创 ConcurrentHashMap

ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突,结果可想而知。还是闲话少说,通过仔细阅读源代码...

2011-03-11 10:05:17 73

原创 HAProxy Configuration Manual

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

2011-03-01 10:41:50 70

原创 用HAProxy实现负载均衡

HAProxy 介绍   反向代理服务器,支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。新的1.3引入了frontend,backend,frontend根据任意HTTP请求头内容做规则匹配,然后把请求定向到相关的backend.利用HAPorxy实现负载均衡1....

2011-03-01 10:40:19 70

原创 freebsd里的kqueue 和linux 2.6下的epoll

1、freebsd里的kqueue和linux 2.6下的epoll   两个东西极其相似,写好了一个之后,移到别外一个平台下,只要稍作修改就可以了,原理是一样,个人认为,从功能角度来盾kqueue比epoll灵活得多。在写kqueue的时候,内核帮你考虑好了不少东西。但是从效率来看,从我作的压力测试来看epoll比kqueue强。看看我的实验结果吧客户端: linux ,P3,256M ,pth...

2011-03-01 10:26:32 314

原创 Git安装使用笔记 [转]

通过昨天的资料搜集、对比、安装 、阅读文档和使用,对git有了初步的了解!这些内容在我的上一篇文章中都有,就不在赘述了!今天老大让我结合我们的项目和使用细节写一个文档给实验室的同学。一直工作在linux 下,就把文档先写在我的blog里吧!Git安装以及使用Git 管理个人文档1.1 Git 安装Git的最新版本可以在http://git-scm.com/ 下载 ,它是基于命令行操作的,网上也...

2011-01-27 15:21:42 51

原创 JVM内存模型以及垃圾回收-转

JAVA堆的描述如下:内存由 Perm 和 Heap 组成. 其中Heap = {Old + NEW = { Eden , from, to } }JVM内存模型中分两大块,一块是 NEW Generation, 另一块是Old Generation. 在New Generation中,有一个叫Eden的空间,主要是用来存放新生的对象,还有两个Survivor Spaces...

2010-10-11 14:55:43 61

原创 [转]MySQL分区(Partition)功能试验

MySQL分区(Partition)功能试验2008-07-06 20:02目录[概述][分区表和未分区表试验过程][分区命令详解][概述]自5.1开始对分区(Partition)有支持,6.0应比较稳定= 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。=== 水平分区的几种模式:===* Ran...

2010-09-17 16:36:18 63

原创 simhash算法

Charikar的simhash算法对检测数万亿的存储级别的相似网页是非常实用的。作为指纹技术的simhash具有相似文档的指纹只存在很小位数的不同特性。在detecting near-duplicates for webcrawling一文中验证了,对于8B的网页,64位的指纹和k=3是合适的。Simhash是一种降维技术,可以将高维向量映射为位数较小的指纹。它在网页中的应用过程如下:首先将文档...

2010-07-26 13:32:23 112

原创 Sun JDK OOM

Sun JDK OOMbluedavyjvm jvm, oom, sun jdk oom No CommentsJava的自动内存管理机制给开发人员带来了很多的便利,在设计、开发时可以完全不用考虑要分配多少内存,要记得回收内存等,但同时也带来了各种各样的问题,其中最典型的问题就是OOM,大部分Java开发人员估计都看到过java.lang.OutOfMemoryError这样的错误信息...

2010-07-23 14:40:45 169

原创 android intent

Android have lots of intent,it’s powerful and useful,here is some tips for you:1,start web browserUri myBlogUri = Uri.parse("http://kuikui.iteye.com");returnIt = new Intent(Intent.ACTION_VIEW,...

2010-07-09 09:30:22 54

原创 [转]网页查重算法Shingling和Simhash研究

1 引言据统计,互联网上的重复网页约占30%~45%。这其中有由于镜像转载引起的内容完全相同的网页,也有仅存在微小差别的网页,比如广告,计数器,时间戳等不同,而这些差别是和搜索的内容无关的。根据中国互联网络信息中心2005年7月发布的统计报告显示,用户在回答“检索信息时遇到的最大问题”这一提问时,选择“重复信息太多”选项的占44.6%,排名第1位[1]。将相似的网页消除,可以节...

2010-07-08 15:00:34 328

原创 [转]贝叶斯分类器

基本定义种类  贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。目前研究较多的贝叶斯分类器主要有四种,分别是:Naive Bayes、TAN、BAN和GBN。 解释  贝叶斯网络是一个带有概率注释的有向无环图,图中的每一个结点均表示一个随机变量,图中两结点间若存在着一条弧...

2010-07-06 14:46:25 122

空空如也

空空如也

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

TA关注的人

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