随笔分类 -  Java

摘要:public static boolean parseHTML(Scanner sc, List errorInfo) { String[] tags = new String[DEFAULT_CAPACITY]; int count = 0; // tag counter String token; // token returned by the scanner while (sc.hasNextLine()) { while ((token = sc.findInLine("]*>"))!=null) { //... 阅读全文
posted @ 2014-01-14 16:01 rldts 阅读(2325) 评论(0) 推荐(0) 编辑
摘要:为什么说List是type-safe而List不是type-safe的?1、List compiler看到了你使用了wildcard?,那么相当于你对compiler说:“我不知道这个List里面的element的runtime-type是什么,如果我尝试对这个list或者list中取出来的object做一些type-specific的操作,你要给我一个compile-time-error来提醒我”。这样就导致了2个结果: 1.1 list.get()返回类型为?,所以你只能用Object接收,Object足以确保type-safe,因为java中任何class都是Object的subcl.. 阅读全文
posted @ 2014-01-13 22:14 rldts 阅读(11032) 评论(0) 推荐(0) 编辑
摘要:1、对于ASCII字符,是的(只要该charset涵盖了ASCII编码),使用任何charset编码都不会影响equals的判断2、对于非ASCII字符,不一定。例如同中文字符串"你好",在UTF-8编码下的String和GBK编码下的String两个equals可能返回false参考这篇文章中的例子:http://www.cnblogs.com/qrlozte/p/3516702.html下面给出代码验证: public static String convertCharset(String arg, String charsetName) { String result 阅读全文
posted @ 2014-01-12 23:25 rldts 阅读(973) 评论(0) 推荐(0) 编辑
摘要:用BufferedInputStream解决 1 Scanner scanner = new Scanner(new BufferedInputStream(System.in)); 2 System.out.println("---Please input 3 integers like this: 1 2 3---"); 3 int count = 0; 4 int[] container = new int[3]; 5 while (scanner.hasNextInt()) { 6 container[count++] = scanner.nextInt(); 7 阅读全文
posted @ 2014-01-08 15:17 rldts 阅读(345) 评论(0) 推荐(0) 编辑
摘要:Charset.isSupported() 阅读全文
posted @ 2013-07-08 12:57 rldts 阅读(183) 评论(0) 推荐(0) 编辑
摘要:try { // do something} catch (Exception e) {}错误:这里,catch了Exception,但是在catch中什么动作都没做,那么所有的Exception都被“吞”了 阅读全文
posted @ 2013-06-29 14:15 rldts 阅读(195) 评论(0) 推荐(0) 编辑
摘要:对于一般的type来说,这二者没有区别,对于array和inner type,就有区别了,可以写代码亲测,如下: 1 package simple; 2 3 class Box { 4 class Inner {} 5 } 6 7 public class Foo { 8 public static void main(String[] args) throws Exception { 9 // Ordinary class:10 System.out.println(Box.class.getCanonicalName());11 ... 阅读全文
posted @ 2013-06-17 20:53 rldts 阅读(1525) 评论(1) 推荐(0) 编辑
摘要:原文地址:https://weblogs.java.net/blog/enicholas/archive/2006/05/understanding_w.html推荐另一篇文章:http://www.ibm.com/developerworks/cn/java/j-refs/Some time ago I was interviewing candidates for a Senior Java Engineer position. Among the many questions I asked was "What can you tell me about weak refere 阅读全文
posted @ 2013-06-17 16:43 rldts 阅读(273) 评论(0) 推荐(0) 编辑
摘要:对于一些singleton class,如果你让其implements Serializable,会导致该class不再是singleton。使用ObjectInputStream.readObject()读取进来之后,如果是多次读取,就会创建多个object,下面的代码可以证明这一点,解决的办法之一就是override一个 method,readResolve() 1 package foo; 2 3 import java.io.FileInputStream; 4 import java.io.FileOutputStream; 5 import java.io.ObjectInput. 阅读全文
posted @ 2013-06-15 13:20 rldts 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:一句话概括:对于某些数据,如果你不想serialize,那么就让之transient,最简单的例子——password,代码如下: 1 class LoggingInfo implements java.io.Serializable 2 { 3 private Date loggingDate = new Date(); 4 private String uid; 5 private transient String pwd; 6 7 LoggingInfo(String user, String password) ... 阅读全文
posted @ 2013-06-14 22:08 rldts 阅读(176) 评论(0) 推荐(0) 编辑
摘要:RT.今天搜的,记录下来,给自己补补脑http://stackoverflow.com/questions/285793/what-is-a-serialversionuid-and-why-should-i-use-it里面有一篇blog,原文地址http://www.javablogging.com/what-is-serialversionuid/What is serialVersionUID?Most people learn aboutserialVersionUIDafter they write their first serializable object (I know I 阅读全文
posted @ 2013-06-08 21:31 rldts 阅读(246) 评论(0) 推荐(0) 编辑
摘要:今天突然想到,thread会不会也跟Stream之类的Resources类似,start了就要close或者reclaim百度了一下,没搜到什么有价值的东西,果断还是求助google,在stackoverflow.com找到了一个连接,给大家分享一下这篇文章主要谈了为什么Thread.stop()/suspend()/...是deprecated的,以及我们应该使用何种方法去正确地terminate threadshttp://docs.oracle.com/javase/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html简而言之,ter 阅读全文
posted @ 2013-06-07 19:55 rldts 阅读(334) 评论(0) 推荐(0) 编辑
摘要:原文来自:https://www.ibm.com/developerworks/java/library/j-jtp06197/Java theory and practice: Managing volatilityGuidelines for using volatile variablesBrian Goetz(brian.goetz@oracle.com), Senior Staff Engineer, Sun MicrosystemsSummary: The Java™ language contains two intrinsic synchronization mechanism 阅读全文
posted @ 2013-03-23 21:51 rldts 阅读(310) 评论(0) 推荐(0) 编辑
摘要:大部分转载自参考资料:http://www.ibm.com/developerworks/cn/java/l-javaassertion/index.html assertion(断言)在软件开发中是一种常用的调试方式,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常. 阅读全文
posted @ 2013-03-20 22:43 rldts 阅读(726) 评论(0) 推荐(0) 编辑
摘要:尤其是在有package、import和import *的情况下,各种混乱,IDE用久了,命令行是硬伤,有必要复习一下:假设有 g:/src/simple/Foo.java最好的practice是将编译后的class文件全部集中放到bin目录下,bin和src在同一目录,先把bin创建好,g:/bin注意这里有import *1 package simple;2 3 import net.mindview.util.*;4 5 public class Foo {6 public static void main(String[] args) {7 Print.prin... 阅读全文
posted @ 2013-03-19 19:30 rldts 阅读(388) 评论(0) 推荐(0) 编辑
摘要:在阅读TIJ学习JAVA SE的时候感觉对Serializable和Externalizable之间的区别和各自的用途感觉不是很清楚,除了查看JDK Documentation之外,还Google了一些资料,看到了部分比较简明扼要的解释,摘录如下【摘自stackoverflow.com】Question:What is the difference between Serializable and Externalizable in Java?Answer 1:To add to the other answers, by implementatingjava.io.Serializable, 阅读全文
posted @ 2013-03-14 22:02 rldts 阅读(431) 评论(0) 推荐(0) 编辑