Java 设计方面经验积累
1) 具体类不是用来继承的。能被继承的一定是抽象类。
如果在一个原始的设计里,有两个具体类,类A和类B,类B是类A的子类,那么最好的修改方案是:
建立一个抽象(或者接口)C,然后让类A和类B成为类C的子类
2)抽象类应尽可能的拥有多的共同代码
一个对象从超类继承而来的代码,在不使用时不会造成对资源的浪费。
3)抽象类应当拥有尽可能少的数据
一个对象的数据不论是否使用都会占用资源。
相关文档:
数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处。
大约一年前,一个负责管理应用程序所有用户设置的开发人员,决定将用户设置存储在一个 Hashtable 中,然后将这个 Hashtable 序列化到磁盘,以便持久化。当用户更改设置时,便重新将 ......
JVM内存的设置的原理
默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。
设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。
java -Xms64m -Xmx256m Test
-Xms是设置内存初始化的大小
-Xmx是设置最大能够使用内存的大小( ......
彩五连珠游戏开发过程
彩五连珠,一开始叫“五彩连珠”,同学抗议说不会玩,因为她理解成了要把五种不同颜色的球连成一线才能赢,考虑到这个标题的确引人误解,游戏又没有任何说明,最终把名称改成了“彩五连珠”。这是一个很经典的小游戏,很多手机里都有,最近因为学习java,作为练习,把这个游戏做 ......
Java上的宝石 JRuby 1.5正式发布
2010年05月12日,JRuby团队非常高兴的宣布1.5.0版的发布。在这之前,曾经发布过JRuby 1.5.0 RC1的发布消息,相比之下,正式发布本本又提供了很多更新。
JRuby 1.5.0 版本的主页和下载地址分别是:
主页:http://www.jruby.org/
下载:http://www.jruby.org/download
这次发布是JRuby历 ......
接触java正则表达式有一年的时间了,好久没有复习了,现在写个来复习一下:
package com.fengfei.test;
public class GetNumber {
/**
* 体验Java的正则表达式,找出字符串s中的数字
* @param args
*/
public static void main(String[] args) {
& ......