上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: StringBuffer是一个线程安全的可变序列的字符数组对象,它与StringBuilder一样,继承父类AbstractStringBuilder。在多线程环境中,当方法操作是必须被同步,StringBuffer内的方法被同步化时,以实现跟在单线程中操作一样的一致性。 从上面源码可知,Strin 阅读全文
posted @ 2016-06-28 18:25 没有梦想的小灰灰 阅读(529) 评论(0) 推荐(0) 编辑
摘要: StringBuilder是一个可变序列的字符数组对象,它继承自AbstractStringBuilder抽象类。它不保证同步,设计出来的目的是当这个字符串缓存只有单线程使用的时候,取代StringBuffer的。建议使用它而不是StringBuffer,因为它的速度更快。 StringBuilde 阅读全文
posted @ 2016-06-26 20:23 没有梦想的小灰灰 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 终结方法(finalize)通常是不可预测的,它不是C++中析构器(destructors)的对应物,Java中一旦对象变的不可达,垃圾回收器会自动回收与该对象相关的存储空间,不需要程序员做专门的工作。C++析构器也可以用来回收其他非内存资源,在Java中,通常用try-finally来完成。 终结 阅读全文
posted @ 2016-06-25 11:27 没有梦想的小灰灰 阅读(306) 评论(0) 推荐(0) 编辑
摘要: Java的垃圾回收机制并不代表我们不需要考虑内存管理的问题。 考虑: 这是自己编写的一个栈。 这段程序没有任何明显的错误,但这个程序中隐藏着一个问题,内存泄漏。 如果一个栈先是增长,然后收缩,那么从栈中弹出来的对象不会被当作垃圾回收,这是因为栈内部仍然维护着这些过期对象的引用,所谓过期引用是指ele 阅读全文
posted @ 2016-06-24 20:29 没有梦想的小灰灰 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 一般来说,在能重用对象的时候就重用对象而不是创建一个相同功能的新对象。如果对象是不可变的,它始终能被重用。 考虑String s = new String("stringette"); 每次被执行的时候都创建一个新的String实例,但这些创建对象的动作是不必要的,如果这个语句被频繁调用,那么多产生 阅读全文
posted @ 2016-06-23 13:19 没有梦想的小灰灰 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 当需要编写只包含静态方法和静态域的类时,像是java.lang.Math,java.util.Arrays,把基本类型的值或者数组类型上的相关方法组织起来,或者像java.util.Collections,把实现特定接口的对象上的静态方法组织起来。 这样的工具类不希望被实例化,实例对它没有意义。 企 阅读全文
posted @ 2016-06-22 23:59 没有梦想的小灰灰 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Singleton是指仅仅被实例化一次的类。通过被用来代表那些本质上唯一的系统组件,比如窗口管理器或者文件系统。 在http://www.cnblogs.com/13jhzeng/p/5256424.html中,提到了不同情境下Singleton多种实现方法。 使用单例类的方法来实现的Singlet 阅读全文
posted @ 2016-06-22 09:37 没有梦想的小灰灰 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 静态工厂和构造器有个共同的局限性:它们都不能很好地扩展到大量的可选参数。 假如一份营养成分的标签,有两个域是必须的,四个域是可选的。 1.重叠构造器模式 提供一个只有必要参数的构造器,第二个构造器有一个可选参数,第三个构造器有两个可选参数,依次类推,直到最后一个构造器包含所有的可选参数。 缺点:谁作 阅读全文
posted @ 2016-06-21 11:08 没有梦想的小灰灰 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 为了获得一个类的实例,有两种办法1.类提供一个公有的构造器 2.类提供一个公有的静态工厂方法。 静态工厂方法的优势: 1.有名称。 慎重地选择方法名称能突出多个构造器的区别,例如使用BigInteger(int, int, Random)构造器,返回的BigInteger可能为素数,如果用 BigI 阅读全文
posted @ 2016-06-20 23:22 没有梦想的小灰灰 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。 一般代理模式类图: 远程代理:Java RMI RMI:远程方法调用,提供客户辅助对象和服务辅助对象,为客户辅助对象创建和服务对象相同的方法。RMI的好处在于不必亲自写任何网络或I/O代码。客户程序调用远程方法(真正的服务)就和在运 阅读全文
posted @ 2016-06-19 21:36 没有梦想的小灰灰 阅读(461) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页