Category: Java


JUnit使用经验总结

经验一、不要在测试用例的构造函数中做初始化,而是在setUp()中

经验二、不要假定测试用例中测试的执行次序

一个JUnit 的测试用例类中可以包含多个测试,每个测试其实就是一个method。在下面的例子中有两个不同的测试,尽管testDoThisFirst()在位置上先于testDoThi[……]

继续阅读

回调函数的定义与应用

回调函数的起源还要从C++说起,让我们先来看看C++中是如何使用回调函数的。

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。

程序员B要让A调用自己的程序B中的一个方法,于是,他通过A中[……]

继续阅读

log4j配置与使用小技巧

1. log4j.properties 放在哪?

A: 该配置文件放在CLASSPATH下即可。在一个具体的Java Project中,具体见下图。

2. 如何配置log4j.properties?

具体Google吧,网上很多类似的文章。

下[……]

继续阅读

eclipse打不开可以尝试下java -jar startup.jar

一台Linux机器上的RSA死活打不开,报以下错误:

Error  Information

[tsadmin@rfidic14 SDP70]$ ./eclipse
JVMSHRC020E An error has occured while opening semaphore
JVM[……]

继续阅读

Atomicity原子事务在产品中的应用

1. Atomicity简介

Atomic is one of the four properties defined in acronym that defines that a transaction must execute completely or not at all. This me[……]

继续阅读

Java内存管理与垃圾回收

OutOfMemory Error出现了,你该如何是好? 怎么找到问题症结,再次避免同样的错误再次发生? 你需要对Java的内存模型、分配以及垃圾回收有一定了解,根据实际的环境进行Performance Tuning。下面内容将会cover上面提到的问题。

1. Java内存模型

堆和栈是JVM[……]

继续阅读

Java对象占用内存空间的大小

基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。

在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:

Object ob = new Object();

这样在程序中完[……]

继续阅读

Timer类小记

java.util.Timer 是 JDK 提供的一种计时器,用于使后台线程按计划执行指定任务,这些任务可以被执行一次,也可以被定期执行。每个 Timer 对象对应一个后台线程,顺序地执行所有计时器任务。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程,从而可能延迟后续任务的执[……]

继续阅读

StringTokenizer Usage 复习

新写的排序EPC list的方法,利用StringTokenizer和Collections.sort,复习+备份用哈。

/**
* Example SOAP response:
*
* <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://[......]<p class="read-more"><a href="http://neoremind.com/2010/03/stringtokenizer-usage-%e5%a4%8d%e4%b9%a0/">继续阅读</a></p>

Java IO读写的教训之BestPractice

最近在做Dojo+Ajax+Webservice开发,都是基于Log Report for WPC team的模板,遇到了极其挠头的问题。

defect描述:程序不定时不能删除文件夹,程序获取一个list总是增加,怀疑与IO有关。

问题解决:一般来说 java file 失败 有以下几个[……]

继续阅读

malformedinput异常解决办法

读写文件时

BufferedReader br = new BufferedReader(new FileReader(File file));
br.readLine();

IBM JDK5抛出sun.io.malformedinputexception异常

这个异常产[……]

继续阅读

删除Map时抛出同步修改异常的解决办法

在对一个map进行迭代遍历并删除一些符合条件的键值对的时候,容易出现

java.util.ConcurrentModificationException 这个异常。
Exception in thread “main” java.util.ConcurrentModificationExce[……]

继续阅读

Hashmap遍历选择Keyset还是entryset?

遍历hashmap使用entryset要比keyset快。下面是小实验:

public class HashMapTest {
 
public static void main(String[] args) {
HashMap hashmap = new HashMap();
for(int i=0;i<1000;i++){
hashmap.put(""+i,"hello");
}
 
long bs = Calendar.getInstance().getTimeInMillis();
Iterator iterator = hashmap.keySe[......]<p class="read-more"><a href="http://neoremind.com/2010/02/hashmap%e9%81%8d%e5%8e%86%e9%80%89%e6%8b%a9keyset%e8%bf%98%e6%98%afentryset/">继续阅读</a></p>

pass-by-reference? pass-by-value?

最近项目中做一个tableCellContentKeyword,遇到一个棘手的问题

public void method (Integer i){

i = new Integer(6); //想改变i的值但是没有setXX的API方法,但实际上没有变化

}

真是把SCJP都忘[……]

继续阅读

文本过滤命令行的方法【以取MAC地址为例】

如何从命令行里截取自己开发所需要的数据呢? 下面的例子演示了如何获取MAC地址,仅作参考

public static String getMACAddress() {
 
        String address = "";
        String os = System.getProperty("os.name");
        if ( os != null && os.startsWith("Windows")) {
        try {
        String command = "cmd.exe /c ipconfig /all";[......]<p class="read-more"><a href="http://neoremind.com/2010/02/%e6%96%87%e6%9c%ac%e8%bf%87%e6%bb%a4%e5%91%bd%e4%bb%a4%e8%a1%8c%e7%9a%84%e6%96%b9%e6%b3%95%e3%80%90%e4%bb%a5%e5%8f%96mac%e5%9c%b0%e5%9d%80%e4%b8%ba%e4%be%8b%e3%80%91/">继续阅读</a></p>