随笔分类 - Java
摘要:前一段时间使用Eclipse编写了多个java文件,并加了中文注释。共享给parter时,对方出现了乱码(中文无法显示)。研究发现,原来是文件的字符编码不一致。如果你没有修改过Eclipse的文件编码格式,默认是使用系统默认编码。中文Windows下默认为GB2312(或称GBK)。所以我生成的java源文件采用的是GBK编码。而对方的Eclipse文件编码格式修改成了UTF-8。考虑到以后文件需要共同修改,所以我准备将GBK编码的文件转换成UTF-8编码的文件。但是Eclipse好像没有自带这个功能,听说MyEclipse有。我也懒得上网去找插件。心想不就是字符编码不一样嘛,咱们是程序...
阅读全文
摘要:这主要是字符串编码问题引起的,所以需要转换字符再次编码。转自:http://www.qqread.com/java/2010/10/d496127.htmlString 的getBytes()方法是得到一个字串的字节数组,这是众所周知的。但特别要注意的是,本方法将返回该操作系统默认的编码格式的字节数组。如果你在使用这个方法时不考虑到这一点,你会发现在一个平台上运行良好的系统,放到另外一台机器后会产生意想不到的问题。比如下面的程序, 1. class TestCharset 2. { 3. 4. public static void main(String[] args) 5. { ...
阅读全文
摘要:Fedora Linux由于开发者的问题,导致Sun的JVM在它上面安装和配置都非常困难。这里谈论的和下面安装的Sun的JVM(以及JDK)都是指官方的实现版本,不是其他的参考实现。在这里我会教你如何在5分钟或者更少的时间内比较简单地在Fedora Linux 6或7上面安装JDK 6或者Java SE 6。下面是详细步骤:1. 做为root用户登录 2. 首先你要在这里下载JDK 6或者Java SE 6。下载工作在图形浏览器比如Firefox、Internet Explorer或者Safari里面都很正常。可是Sun使得Linux控制台(象那些试图安装在他们特定web服务器)用户从java
阅读全文
摘要:要实现一个增强版的线程安全类,有很多方法,但是目前我所知道最好的是使用组合方法。比如要在线程安全的List中增加put-if-absent功能,可以这样:@ThreadSafepublic class ImprovedList<T> implements List<T> {private final List<T> list;public ImprovedList(List<T> list) { this.list = list; }public synchronized boolean putIfAbsent(T x) {boolean con
阅读全文
摘要:Oracle实现的批处理更新效果不错,至于每次批处理的记录数还需要根据每条记录的大小,服务器的负载情况等多种因素进行微调。 1 private static void batchInsertTest(OracleDataSource ds)throws SQLException{ 2 3 final int NUM=1000000; 4 final int COL=200000; 5 final int ROW=NUM/COL; 6 /*GregorianCalendar c = new GregorianCalendar(2010,1,1); 7 Date[] atimes=new Date
阅读全文
摘要:Concurrent CollectionsJava 5.0 improves on the synchronized collections by providing several concurrent collection classes. Synchronized collections achieve their thread safety by serializing all access to the collection's state. The cost of this approach is poor concurrency; when multiple threa
阅读全文
摘要:下面是Java Collections Framework的类图,没有将current包底下的内容加入。图片来自:http://waynewan.com/archives/112博客上大的图片不能很好显示,%>_<%
阅读全文