易截截图软件、单文件、免安装、纯绿色、仅160KB

Java压缩类库的使用 5.性能检测

  inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish
)。
  在选择压缩、打包算法的时候,不仅仅要选择算法,还需要选择用哪个实现类库,不同的实现类库实现效率不同,默认压缩比率不同。为了测试JDK、Ant、commons-compress在默认情况下的效率,设计了如下程序:(来源:http://blog.csdn.net/inkfish)
100M大小随机字符串文件生成程序:(来源:http://blog.csdn.net/inkfish)
package study.inkfish.compress;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.RandomStringUtils;
public class CharFileGener {
public static void main(String[] args) throws IOException {
charGener();
}
private static void charGener() throws IOException {
Writer writer = new BufferedWriter(new FileWriter(new File("D:/TestCompress/txt.txt")),
1024 * 1024 * 5);
int max = 1024 * 1024;
String strs = "`1234567890-=~!@#$%^&*()_+qwertyuiop[]\\QWERTYUIOP{}|asdfghjkl;'\":LKJHGFDSAzxcvbnm,./?><MNBVCXZ";
for (int i = 0; i < max; i++) {
writer.write(RandomStringUtils.random(99, strs));
writer.write("\n");
}
IOUtils.closeQuietly(writer);
}
}

上面的代码用于生成随机的半角字符组成的文本文件,大小为100M(1024*1024*100byte)。(来源:http://blog.csdn.net/inkfish)
性能测试程序:(来源:http://blog.csdn.net/inkfish)
package study.inkfish.compress;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
public class TestCompress {
public static void main(String[] args) throws IOException {
File srcFile = new File("D:/TestCompress", "text.txt");
for (int i = 0; i < 3; i++) {//循环测试三遍
doTest(srcFile);
cleanDir(srcFile);
}
}
private static void cleanDir(File srcFile) throws IOException {
FileUtils.deleteDirectory(new Fi


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

从java jar文件包中读资源的常用方法

 
在你的代码里调用了一些资源文件,如图片,音乐等,在调试环境或单独运行的时候可以正常显示或播放,而一旦打包到jar文件中,这些东东就再也出不来了,除非把这个jar放到原来未打包以前的目录下,但通常jar是单独发布的。
[关键字] java jar文件包 资源
  可能有不少初学者会有这样的困惑:在你的代码里调用了 ......

Java下的框架编程(4)

 



1.因为两者的用途不同,所以Annotation与XML应该并存
 Anootation vs XML 到了现在,在Spring和EJB3各占一边的持续演示下,各自的用途已清晰。
   虽然两者之间完全可以相互替代,没有绝对不能做的事情,但却存在好不好的问题,两者的用途不同,应该并用:
   "size=10, ......

JAVA编程中常见的一些低级错误

     JAVA与C++的一个很大区别就是JAVA不需要程序员去分配,释放内存。这在很大程度上减少了程序员的工作量,但或许正因为这个原因我们经常看到一些编程错误。
     例1:
         从数据库查询出结果list,然后做循环处理。
   ......

JAVA高级:多核线程 volatile原理与技巧

 
为什么使用volatile比同步代价更低?
同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能.
而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.
volatile原理是什么?
volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见j ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号