改进设计 时间: 2007-05-29 yycnet.yeah.net yyc译 《Design Patterns》书内所有方案的组织都围绕程序进化时会发生什么变化这个问题展开。对于任何设计来说,这都可能是最重要的一个问题。若根据对这个问题的回答来构造自己的系统,就可以得到两个方面的结果:系统不仅更易维护(而且更廉价),而且能产生一些能 发布时间:2012-06-25 作者: 佚名技术 views(179)
JNI和Java违例 时间: 2007-05-29 yycnet.yeah.net yyc译 利用JNI,可丢弃、捕捉、打印以及重新丢弃Java异常,就象在一个Java程序里那样。但对程序员来说,需自行调用专用的JNI函数,以便对异常进行处理。下面列出用于异常处理的一些JNI函数:■Throw():丢弃一个现有的异常对象;在固有方法中用于重新丢弃一个异 发布时间:2012-06-25 作者: 佚名技术 views(169)
检查大小写样式 时间: 2007-05-29 yycnet.yeah.net yyc译 尽管对涉及文字处理的一些项目来说,前例显得比较方便,但下面要介绍的项目却能立即发挥作用,因为它执行的是一个样式检查,以确保我们的大小写形式符合事实上的Java样式标准。它会在当前目录中打开每个.java文件,并提取出所有类名以及标识符。若发现有 发布时间:2012-06-25 作者: 佚名技术 views(508)
JNI和线程处理 时间: 2007-05-29 yycnet.yeah.net yyc译 由于Java是一种多线程语言,几个线程可能同时发出对一个固有方法的调用(若另一个线程发出调用,固有方法可能在运行期间暂停)。 此时,完全要由程序员来保证固有调用在多线程的环境中安全进行。例如,要防范用一种未进行监视的方法修改共享数据。 此时, 发布时间:2012-06-25 作者: 佚名技术 views(268)
“制作更多的对象” 时间: 2007-05-29 yycnet.yeah.net yyc译 这样便引出了面向对象程序设计时一条常规的准则,我最早是在Grady Booch那里听说的:若设计过于复杂,就制作更多的对象。尽管听起来有些暧昧,且简单得可笑,但这确实是我知道的最有用一条准则(大家以后会注意到制作更多的对象经常等同于添加另一个 发布时间:2012-06-25 作者: 佚名技术 views(158)
使用现成代码 时间: 2007-05-29 yycnet.yeah.net yyc译 为实现JNI固有方法,最简单的方法就是在一个Java类里编写固有方法的原型,编译那个类,再通过javah运行.class文件。 但假若我们已有一个大型的、早已存在的代码库,而且想从Java里调用它们,此时又该如何是好呢? 不可将DLL中的所有函数更名,使其符合JNI 发布时间:2012-06-25 作者: 佚名技术 views(361)
用于原型创建的一个范式 时间: 2007-05-29 yycnet.yeah.net yyc译 上述设计方案的一个问题是仍然需要一个中心场所,必须在那里知道所有类型的对象:在factory()方法内部。如果经常都要向系统添加新类型,factory()方法为每种新类型都要修改一遍。若确实对这个问题感到苦恼,可试试再深入一步,将与类型有关的所有 发布时间:2012-06-25 作者: 佚名技术 views(630)
方法查找工具 时间: 2007-05-29 yycnet.yeah.net yyc译 第11章介绍了Java 1.1新的反射概念,并利用这个概念查询一个特定类的方法要么是由所有方法构成的一个完整列表,要么是这个列表的一个子集(名字与我们指定的关键字相符)。那个例子最大的好处就是能自动显示出所有方法,不强迫我们在继承结构中遍历,检查每 发布时间:2012-06-25 作者: 佚名技术 views(355)
|