摘要: 测试 单例通过反序列化出来就不再是单例,反序列化时会反射创建一个新的对象出来 解决就是在单例中定义readResolve()方法 阅读全文
posted @ 2019-12-14 14:03 晴空半岛 阅读(322) 评论(0) 推荐(0) 编辑
摘要: public class LockSupport01 { static Thread t1 = null, t2 = null; public static void main(String[] args) { char[] aI = "1234567".toCharArray(); char[] aC = "ABCDEFG".toCharArr... 阅读全文
posted @ 2019-12-14 13:15 晴空半岛 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 设计成不可变对象为了安全和高效 1.安全方面:举例说明:在文件操作或反射操作的时候需要传递字符串,如果是设计成可变的那么就会造成安全问题 2.高效:举例说明 字符串源码中会将hashcode缓冲下来,那么比如在HashMap中以字符串为key时第一次计算出hash值放缓冲中,以后直接就可以获取到这个 阅读全文
posted @ 2019-12-14 13:09 晴空半岛 阅读(215) 评论(0) 推荐(0) 编辑
摘要: public class String001 { public static void main(String[] args) { String s1 = "hello"; String s2 = new String("hello"); String s3 = new String("hello").intern(); System.out.println(s1 == s2); //false 阅读全文
posted @ 2019-12-14 12:47 晴空半岛 阅读(168) 评论(0) 推荐(0) 编辑