易截截图软件、单文件、免安装、纯绿色、仅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 jar文件包中读资源的常用方法

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

使用JAVA开发系统托盘程序

 使用JAVA开发系统托盘程序
@for&ever 2009-11-27
参考文章《New System Tray Functionality in Java SE 6》,网址 http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/systemtray/ 。
JDK必须要在 1.6 版本。
最近项目中要实现定时任务常驻系统,能够同时有一个比较友好的操作方式提供给 ......

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

 
为什么使用volatile比同步代价更低?
同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能.
而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.
volatile原理是什么?
volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见j ......

Java压缩类库的使用 2.JDK中的打包、压缩类库

  inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish)。
  这里忽略了jar,因为jar实质上属于zip压缩。(来源:http://blog.csdn.net/inkfish)
JDK ZLIB压缩:(来源:http://blog.csdn.net/inkfish)
package study.inkfish.compress;
import java.io.BufferedInputStream;
import ......

JAVA何谓面向对象

 java是一种面向对象的编程语言,怎么理解?
java写的程序都是面向对象的吗?
你可能认为,java生来就是面向对象的。
且看:
package cn.nileader.calculate_OPP;
import java.util.Scanner;
/**
* 这是一个OPP的的计算器(加法和减法)
* @author nileader
* @see http://www.nileader.cn
*/
public cla ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号