- 博客(361)
- 资源 (7)
- 收藏
- 关注
原创 详解top命令
top命令在linux中很常用,是查看系统运行状况的有利工具。top命令揭示的系统运行状况有很多方面,了解其中的含义对问题的排查是很有帮助的第一行:总体运行概况10:40:38 --- 当前时间up 108 days,20:25 --- 服
2011-08-27 00:27:30
1924
原创 启动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
3651
原创 Eclipse运行性能调优
最近,Eclipse(Eclipse-JEE3.5)运行十分缓慢(可能插件安装过多),因此,得到了个机会调优一下,以便提高工作效率下图是未经任何调整eclipse的gc情况(使用jvisualvm命令,安装visual gc插件)从图中可以看出,仅启动过程就有38次y
2011-08-26 00:31:46
12867
1
原创 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
1792
原创 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
2121
原创 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
3568
原创 Tomcat连接线程池配置
第1种方式:配置ConnectormaxThreads:tomcat可用于请求处理的最大线程数minSpareThreads:tomcat初始线程数,即最小空闲线程数maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理 第2种方式:配置Executor和
2011-06-19 16:53:00
11464
原创 Java并发编程深入研究 -- 总提纲
最近想更深入研究一下Java中的并发编程。因为其中涉及很多知识点,内容也比较多,因此先列提纲,将思路整理一下,然后再一点一点地去研究。下图是总提纲,后面还会针对于每一点进行细化。
2011-05-15 23:27:00
1305
原创 查看操作系统及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
1547
原创 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
13485
原创 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
13299
原创 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
12000
原创 maven里dependencyManagement和dependencies的区别
1.使用dependencyManagement能让你统一并集中化依赖版本的管理,而不用添加那些会被所有子项目继承的依赖。2.使用dependencies会使子项目也添加相应的依赖
2011-05-04 12:40:00
2003
原创 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
6261
原创 编写线程安全的代码
一、内容概述二、简介1.什么是线程安全?(1)控制多个线程对某个资源的有序访问或修改(2)如果一个类在多线程的访问下,其状态是可以预测的,并且不需要额外的同步,那么这个类就是线程安全的类2.为什么要线程安全?(1)线程不安全会造成数据错误,修正数据错误是费时费力的(2)线程不安全会导致程序发生一些异常行为,而且这种行为很难查找(3)线程不安全的现象一般只有在并发量大时才会出现,因此很难重现
2011-04-24 11:29:00
3875
原创 关于架构的一点想法
<br />这几天在看架构设计方面的书,从中得出以下几个有用的观点:<br />(1)架构体现关注点的分离与结合:关注点分离是架构要分别关注系统不同方面设计,而系统各部分也要有机地联系到一块即是关注点的结合。<br />(2)术(方法)、道(使用):和小说中的武功一样,招式是同样的,但是是否能灵活运用,就看个人的修为了<br />(3)架构无定式:要根据实际情况灵活设计,多方向思考,得出多种方案,选择较优一个<br />(4)架构是一个演进式设计<br />(5)架构过程:从小到大,从简单(理解不深入)到复
2011-03-10 21:45:00
1123
原创 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
3803
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
1259
原创 研究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
1838
原创 JDK中设计模式
本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,是学习设计模式的较好的方式(3)可以更加深入的了解JDK三、类间关系继承、委托、依赖、聚合、组合四、介绍
2011-01-03 20:42:00
19998
4
原创 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
6137
1
原创 jstack命令
jstack命令该命令打印java线程的堆栈跟踪,可以得知哪些线程被阻塞或正等待,以便于查找如线程死锁的原因用法:jstack [ option ] pid -m 打印混合模式(java,c/c++ stack trace) 举例:
2010-12-05 20:23:00
4997
原创 请注意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
3780
原创 取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
7159
原创 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
64640
2
原创 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
30168
原创 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
11718
1
原创 jhat中的OQL(对象查询语言)
jhat中的OQL(对象查询语言)如果需要根据某些条件来过滤或查询堆的对象,这是可能的,可以在jhat的html页面中执行OQL,来查询符合条件的对象
2010-11-27 16:55:00
14432
原创 jhat命令
jhat命令 -- Java Head Analyse Tool用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言第一步:导出堆第二步:分析堆文件第三步:查看html有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:jhat -J-Xmx512m
2010-11-27 16:03:00
40820
3
原创 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
25256
原创 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
17793
原创 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
6015
原创 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
43220
原创 用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
2435
原创 get请求中包含的汉字传到服务器后乱码
<br />get请求中包含的汉字传到服务器后乱码,是由于未对url中的汉字进行encode转码造成的<br /><br />解决:<br />(1)如果使用get,可以URLEndoder先编码汉字,再放入get的链接中<br />(2)也可以用post以表单方式发送,这就不用URLEncoder编码汉字了,会自动编码
2010-11-14 23:41:00
2684
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人