自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 详解top命令

top命令在linux中很常用,是查看系统运行状况的有利工具。top命令揭示的系统运行状况有很多方面,了解其中的含义对问题的排查是很有帮助的第一行:总体运行概况10:40:38 --- 当前时间up 108 days,20:25 --- 服

2011-08-27 00:27:30 1517

原创 启动jvisualvm时,弹出错误消息,Local Applications Cannot Be Detected

现象:启动jvisualvm时,弹出错误消息,Local Applications Cannot Be Detected具体请参见:http://visualvm.java.net/troubleshooting.html发生在windows平台上:(1)可能是%TM

2011-08-26 01:05:27 2725

原创 Eclipse运行性能调优

最近,Eclipse(Eclipse-JEE3.5)运行十分缓慢(可能插件安装过多),因此,得到了个机会调优一下,以便提高工作效率下图是未经任何调整eclipse的gc情况(使用jvisualvm命令,安装visual gc插件)从图中可以看出,仅启动过程就有38次y

2011-08-26 00:31:46 11100 2

原创 ubuntu10.10下安装五笔86输入法

1、下载ibus-table-wubi-1.2.0.20090715.tar.gz 2、解压后进入目录顺序执行以下命令:    ./configure    make3、在此目录下会生成一个table目录,里面有个文件叫wubi86.db    sudo cp wubi86.db /usr/share/ibus-table/tables

2011-06-25 13:18:00 1409

原创 TDD相关测试框架

 TDD(测试驱动开发)相关测试框架1. XUnit:相应于各语言的测试框架2. EasyMock:模拟接口或类行为3. DBUnit:数据库测试4. Spring-test:提供数据库集成测试5. 基于请求的web作测试(1)Spring-mock:可以mock浏览器请求等(2)JspTest:测试jsp页面6. 基于控件的web作测试(1)WicketT

2011-06-19 18:06:00 1736

原创 java.lang.IllegalStateException: M matchers expected, N recorded [easymock]

当使用easymock时,以下语句会产生错误:expect(service.findFoos(criteria, maxResults, aryEq(sortCriteria))).andReturn(expectedResult)错误如下:java.lang.IllegalStateException: 3 matchers expected, 1 recordedeasymock中的规则是这样

2011-06-19 17:26:00 3140

原创 Tomcat连接线程池配置

第1种方式:配置ConnectormaxThreads:tomcat可用于请求处理的最大线程数minSpareThreads:tomcat初始线程数,即最小空闲线程数maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理 第2种方式:配置Executor和

2011-06-19 16:53:00 11025

原创 Java并发编程深入研究 -- 第三部分(J.U.C包深入研究)提纲

2011-06-12 11:26:00 1597

原创 Java并发编程深入研究 -- 第二部分(对象安全发布)提纲

<br />

2011-05-18 23:26:00 1557

原创 Java并发编程深入研究 -- 第一部分(Java基本的多线程支持)提纲

<br />

2011-05-17 00:00:00 1163

原创 Java并发编程深入研究 -- 总提纲

最近想更深入研究一下Java中的并发编程。因为其中涉及很多知识点,内容也比较多,因此先列提纲,将思路整理一下,然后再一点一点地去研究。下图是总提纲,后面还会针对于每一点进行细化。

2011-05-15 23:27:00 1180

原创 一张图解释scrum

在网上偶然间发现一张图,其描绘scrum中的角色、工件、会议、过程很准确,共享一下!

2011-05-15 22:38:00 1528

原创 查看操作系统及CPU的位数

 (一)查看操作系统位数1.ls /   如果有lib64目录,则是64位的2.getconfig LONG_BIT  若输出32即为32位系统,64即为64位系统32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节。3.uname -a若有x86则为64位系统,i386则为32位系统(二)查看CPU位数1.file /bin/sh如果有x86-64字样,是64位,否则是32位2.cat /proc/cpuinfo如果flags中有lm(lo

2011-05-15 13:22:00 1301

原创 solr启动时报错java.nio.channels.OverlappingFileLockException

<br />错误堆栈如下:=====================2011-5-10 10:12:41 org.apache.solr.servlet.SolrDispatchFilter init<br />严重: Could not start SOLR. Check solr/home property<br />java.nio.channels.OverlappingFileLockException<br />     at sun.nio.ch.FileChannelImpl$S

2011-05-15 12:36:00 9375

原创 org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.

在启动Spring时,报以下错误,如图:原因是在xml中spring的xsd的版本配置的不一致,我使用的是spring-2.5.6,但配置文件中配的是3.0。改成如下即可:另外,配置时,要注意配置文件的编码;否则当编译时,输出的编码和你的配置文件的编码不一致时,会产生文件乱码。

2011-05-15 11:50:00 12660 1

原创 Checkstyle介绍

一、主要作用保证Java的编码规范被正确实施,避免一些常见的编码问题二、在Eclipse中集成Checkstyle插件从此处安装http://eclipse-cs.sf.net/update/三、Checkstyle规则(1)Javadoc Comments(Javadoc相关)Package Html:是否每个包中存在package.htmlMethod Javadoc:方法的javadocStyle Javadoc:javadoc的格式验证Type Javadoc:类或接口的javadocVariabl

2011-05-08 19:52:00 10328

原创 maven里dependencyManagement和dependencies的区别

1.使用dependencyManagement能让你统一并集中化依赖版本的管理,而不用添加那些会被所有子项目继承的依赖。2.使用dependencies会使子项目也添加相应的依赖

2011-05-04 12:40:00 1872

原创 java cpu负载过高的查询方法

<br /> 现象1.top2.jconsole:以jconsole -pluginpath $JAVA_HOME/demo/management/JTop/JTop.jar启动CPU情况:CPU、堆、线程、内存情况(两次压测):过程1.jps -lv找到java进程的pid2.以http_load -p 8 -s 100 http_load_command.txt命令进行压力测试3.top -H(或启动后Shift+h),切到以线程方式显示top,找到最上面的线程id号

2011-05-02 14:00:00 5942

原创 neo4j使用指南

目前neo4j文档只限于官方文档,将neo4j官方主要的文档按点整理了一下,供需要的人参考,内容也会不断更新!

2011-05-02 13:23:00 34468 9

原创 编写线程安全的代码

 一、内容概述二、简介1.什么是线程安全?(1)控制多个线程对某个资源的有序访问或修改(2)如果一个类在多线程的访问下,其状态是可以预测的,并且不需要额外的同步,那么这个类就是线程安全的类2.为什么要线程安全?(1)线程不安全会造成数据错误,修正数据错误是费时费力的(2)线程不安全会导致程序发生一些异常行为,而且这种行为很难查找(3)线程不安全的现象一般只有在并发量大时才会出现,因此很难重现

2011-04-24 11:29:00 3628 1

原创 关于架构的一点想法

<br />这几天在看架构设计方面的书,从中得出以下几个有用的观点:<br />(1)架构体现关注点的分离与结合:关注点分离是架构要分别关注系统不同方面设计,而系统各部分也要有机地联系到一块即是关注点的结合。<br />(2)术(方法)、道(使用):和小说中的武功一样,招式是同样的,但是是否能灵活运用,就看个人的修为了<br />(3)架构无定式:要根据实际情况灵活设计,多方向思考,得出多种方案,选择较优一个<br />(4)架构是一个演进式设计<br />(5)架构过程:从小到大,从简单(理解不深入)到复

2011-03-10 21:45:00 978

原创 jstat命令

jstat命令 -- Java虚拟机监控统计工具语法:jstat [generalOption | outputOptions vmid [interval[s|ms] [count]]]generalOption-help 帮助-options 打印选项outputOptions输出选项-h n 每n个样本,显示header一次-t n 在第一列显示时间戳列,时间戳时从jvm启动开始计算interval 是显示间隔count 是显示次数-statOption 决

2011-01-09 22:50:00 3478 1

原创 Java枚举类型的背后

<br />Java 1.5新增了枚举类型,解决了原有利用int或String常量表示枚举所带来的非类型安全问题。<br />public static final int ENUM1 = 0;public static final int ENUM2 = 1;<br />如果在Java 1.5之前,想构造类型安全的枚举,所利用的方式如下:<br />package Test;public class EnumExample { public static final EnumExam

2011-01-09 22:01:00 1171

原创 研究Integer的自动装箱

今天突然间有位同学问我,以下这段代码输出什么:package Test;public class Test2 { public static void main(String[] args) { Integer i = 100; Integer j = 200; Integer ii = 100; Integer jj = 200; System.out.println(i == ii); System.out.println(j == jj); }

2011-01-04 22:51:00 1697

原创 JDK中设计模式

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,是学习设计模式的较好的方式(3)可以更加深入的了解JDK三、类间关系继承、委托、依赖、聚合、组合四、介绍

2011-01-03 20:42:00 18107 14

原创 jinfo命令

jinfo命令该命令可以打印出java进程的配置信息:包括jvm参数,系统属性等用法:jinfo [ option ] pidjinfo [ option ] executable corejinfo [ option ] [server-id@]remote-hostname-or-IP 参数:pid   进程号executable   产生core dump的java executablecore   core dumpremote-hostname-or-IP  主机名或i

2010-12-05 20:44:00 5674 1

原创 jstack命令

jstack命令该命令打印java线程的堆栈跟踪,可以得知哪些线程被阻塞或正等待,以便于查找如线程死锁的原因用法:jstack [ option ] pid -m 打印混合模式(java,c/c++ stack trace) 举例:

2010-12-05 20:23:00 4850

原创 请注意Integer.valueOf、Double.valueOf、commons.lang中的NumberUtils.toInt对+1的处理

<br />本以为Integer.valueOf("+1")会返回1,但实际上并非如此,因此,不要想当然,有一些函数还是需要先测试后再用的<br /><br />Integer.valueOf("+1")会抛出异常<br />Double.valueOf("+1")会返回1.0<br />NumberUtils.toInt("+1")会返回0<br /><br />代码:<br />public class Test { public static void main(String

2010-11-29 00:10:00 3363

原创 取163邮箱联系人

现在在许多SNS中都有导入邮箱联系人的功能,以下的代码功能就是如何取得163邮箱账号的联系人首先是工具类1.CommonUtil类,现在只有初始化log4j方法package org.gc.contact.util;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import org.apache.log4j.PropertyConfigurator;public fi

2010-11-28 23:50:00 4824 2

原创 Timer的schedule和scheduleAtFixedRate方法的区别解析

在java中,Timer类主要用于定时性、周期性任务的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下(1)schedule方法:“fixed-delay”;如果第一次执行时间被delay了,随后的执行时间按照实际执行完成的时间点进行计算(2)scheduleAtFixedRate方法:“fixed-rate”;如果第一次执行时间被delay了,随后的执行时间按照初始设定时间点进行计算,并且为了”catch up”会多

2010-11-27 22:40:00 60913 12

原创 java线程中的interrupt,isInterrupt,interrupted方法

<br />在java的线程Thread类中有三个方法,比较容易混淆,在这里解释一下<br />(1)interrupt:置线程的中断状态<br />(2)isInterrupt:线程是否中断<br />(3)interrupted:返回线程的上次的中断状态,并清除中断状态<br /><br />举个例子:<br />用法:class MyThread extends Thread { ...... ...... public void run() { tr

2010-11-27 22:11:00 29244 2

原创 jmap命令

jmap命令jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等命令格式jmap [options] pid-dump:[live,]format=b,file=  --dump堆到文件,live指明是活着的对象,file指定文件名因为在dump:live前会进行full gc,因此不加live的堆大小要大于加live堆的大小-finalizerinfo  打印等待回收对象的信息

2010-11-27 20:55:00 9461 1

原创 jhat中的OQL(对象查询语言)

jhat中的OQL(对象查询语言)如果需要根据某些条件来过滤或查询堆的对象,这是可能的,可以在jhat的html页面中执行OQL,来查询符合条件的对象

2010-11-27 16:55:00 12697

原创 jhat命令

jhat命令 -- Java Head Analyse Tool用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言第一步:导出堆第二步:分析堆文件第三步:查看html有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:jhat -J-Xmx512m

2010-11-27 16:03:00 37383 4

原创 jps命令

jps -- Java Virtual Machine Process Status Tool可以列出本机所有java进程的pid jps [ options ] [ hostid ] 选项-q 仅输出VM标识符,不包括class name,jar name,arguments in main method -m 输出main method的参数 -l 输出完全的包名,应用主类名,jar的完全路径名 -v 输出jvm参数 -V 输出通过flag文件传递到JVM中的参数(.hotspo

2010-11-21 20:38:00 22530

原创 jstatd命令

jstatd [options]此命令是一个RMI Server应用程序,提供了对JVM的创建和结束监视,也为远程监视工具提供了一个可以attach的接口options-nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry-p port 端口号,默认为1099-n rminame 默认为JStatRemoteHost;如果多个jstatd服务开始在同一台主机上,rminame唯一确定一个jstatd服务-J jvm选项

2010-11-21 20:16:00 16065

原创 shell取字符串长度

<br />(1)awk中的length函数<br />length(字符串)<br />示例:<br />awk '{$a=length($0);print $a;}' filename<br />假设文件只有一行abcdefg,则返回为7<br /><br />(2)expr length 字符串<br />示例:<br />expr length "abc"<br />显示3

2010-11-17 00:46:00 5617

原创 shell中取字符串子串的几种方式

<br />(1)awk中函数substr<br />substr(源字符串,开始索引,长度)   开始索引以0开始<br />示例:<br />awk '{$a=substr($0,0,2);print $a;}' filename<br />假设文件中为只有一行为abcdefg,则返回结果为ab<br /><br />(2)expr substr <br />expr substr 字符串 开始索引 长度   开始索引以1开始<br />示例:<br />expr subst

2010-11-17 00:40:00 39241

原创 用jmeter测试web应用程序的性能

<br />一、利用badboy来录制jmeter脚本<br />1.从badboy网站上下载软件<br />http://www.badboy.com.au/<br /><br />2.录制jmeter脚本<br />(1)主界面<br /><br />(2)录制,以登录雅虎邮件为例<br />点击页面中红色的记录按钮进行记录<br /><br />(3)按照正常流程登录邮箱,之后再次点击红色按钮停止录制,如图所示:<br /><br />左侧是你刚才登录页面的顺序,并且树

2010-11-15 00:39:00 2068

原创 get请求中包含的汉字传到服务器后乱码

<br />get请求中包含的汉字传到服务器后乱码,是由于未对url中的汉字进行encode转码造成的<br /><br />解决:<br />(1)如果使用get,可以URLEndoder先编码汉字,再放入get的链接中<br />(2)也可以用post以表单方式发送,这就不用URLEncoder编码汉字了,会自动编码

2010-11-14 23:41:00 2482

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