摘要: 单例模式完全剖析概要单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,DavidGeary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问指针,这便是众所周知的单例模式的应用。当然这只有在你确信你不再需要任何多于一个的实例的情况下。单例模式的用意在于前一段中所关心 阅读全文
posted @ 2007-03-27 13:58 摇滚的石头 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 一、Array , ArraysJava所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。1、效率高,但容量固定且无法动态改变。array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。2、Java中有一个Arrays类,专门用来操作array。 arrays中拥有一组static函数,equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。fill():将值填入array中。sort():用来对array进行排序。binarySearch():在排好序的array中寻找元素。System.ar 阅读全文
posted @ 2007-03-22 16:24 摇滚的石头 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 首先说明一下现在常用的一些编码方案: 1、在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312,这几个编码的关系是这样的。最早制定的汉字编码是GB2312,包括6763个汉字和682个其它符号95年重新修订了编码,命名GBK1.0,共收录了21886个符号。之后又推出了GBK18030编码,共收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,现在WINDOWS平台必需要支持GBK18030编码。按照GBK18030、GBK、GB2312的顺序,3种编码是向下兼容,同一个汉字在三个编码方案中是相同的编码。 2、台湾,香港等地使用的是BIG.. 阅读全文
posted @ 2007-03-19 10:02 摇滚的石头 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 要理解 java中String的运作方式,必须明确一点:String是一个非可变类(immutable)。什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。java为什么要把String设计为非可变类呢?你可以问问 james Gosling :)。但是非可变类确实有着自身的优势,如状态单一,对象简单,便于维护。其次,该类对象对象本质上是线程安全的,不要求同步。此外用户可以共享非可变对象,甚至可以共享它们的内部信息。(详见 《Effective java》item 13)。String类在jav 阅读全文
posted @ 2007-03-16 17:20 摇滚的石头 阅读(182) 评论(0) 推荐(0) 编辑
摘要: [转]一、简介JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。这两个牛人中 Erich Gamma 是 GOF 之一;Kent Beck 则在 XP 中有重要的贡献(你觉得眼熟一点都不奇怪)。 正如常言道:“麻雀虽小,五脏俱全。” JUnit设计的非常小巧,但是功能却非常强大。 下面是JUnit一些特性的总结:1) 提供的API可以让你写出测试结果明确的可重用单元测试用例2) 提供了三种方式来显示你的测试结果,而且还可以扩展3) 提供了单元测试用例成批运行的功能4) 超轻量级而且使用简单,没有商业性的欺骗和无用的向导5) 阅读全文
posted @ 2007-03-16 15:36 摇滚的石头 阅读(195) 评论(0) 推荐(1) 编辑