看《java优化编程》一些细节上的东东

看《java优化编程》一些细节上的东东

java程序设计风格:(类的说明介绍)
    

Java文件注释头

类中开头处插入如下 注释

/******************************************************************

 *该类功能及特点的描述(例如:该类是用来.....)

 *

 *

     *该类未被编译测试过。

     *

     *@see(与该类相关联的类):(AnotherClass.java)

     *

     *

 *

 *开发公司或单位:XXX软件有限公司研发中心

 *

 *版权:本文件版权归属XXX公司研发中心

 *

 *

       *@author(作者):XXX

       *

       *@since(该文件所支持的JDK版本):Jdk1.3Jdk1.4

       *

       *@version(版本):1.0

       *

 *

 *@date(开发日期):      1999-01-29

 *

 *最后更改日期:        2003-01-02

 *

 *

 *修改人:    XXXX

 *

 *复审人:    张三李四 王五

 *

 */



内存管理


 

伊甸园用来保存新的对象,它就像一个堆栈,新的对象被创建,就像指向该栈的指针在不断的增长一样,当伊甸园区域中的对象满了之后,JVM系统将要做可到达性测试,主要任务是检测有哪些对象由根集合出发是不可到达的,这些对象就可以被JVM回收,并且将所有的活动对象从伊甸园区域拷到TO区域,此时一些对象将发生状态交换,有的对象就从TO区域被转移到From区域,此时From区域就有了对象,这个过程都是JVM控制完成的。

Java 中的析构方法 finalize

 对象是使用完了 尽量都赋 null

共享静态变量存储空间

不要提前创建对象

    ........

    void f(){

       int i;

       A a = new A();

       //A的对象a被创建

       //在判断语句之中没有

       //应用过a对象

       .....

       if(....){

           //A的对象a仅在此处被应用

           a.showMessage();

           ....

       }

       .....

    }

    ..........

   

   

   

    正确的书写方式为:

    void f(){

       int i;

       .....

       if(...){

           A a = new A();

           //A的对象a被创建

           //应用过a对象

           a.showMessage();

       }

       ......

    }

JVM内存参数调优


表达式、语句和保留字

非静态方法中可引用静态变量

静态方法不可以引用非静态变量

静态方法中可 创建 非静态变量

调用父类的构造方法必须将其放置子类构造方法的第一行



JAVA核心类与性能优化

线程同步:Vector Hashtable

非线程同步: ArrayList HashMap

 

字符串累加 尽量使用 StringBuffer  += 

方法length() length属性  区别

 

IO缓存,读写文件优化。


类与接口
 

       内部类(Inner Class)是Java语言中特有的类型,内部类只能被主类以外的其他内部类继承,主类是不能继承其内部类的,因为这样就引起了类循环继承的错误,下面的代码就是错误的。

       public class A extends x {

              public A(){}

              ……

           Classs x{

                     …..

}

}

上面的代码将引发类循环继承的错误,这种错误在编译时就会被发现,比较容易发现和排除。

但是下面例子中的内部类的继承方式却是正确的:

class A{

       ….

       public  A(){}

       ……

       class  X  extends Y  {

       ……….

}

       calss  Y {

       ……

}

}

什么时候使用继承,什么样的继承是合理的:

1.       现实世界的事物继承关系,可以作为软件系统中类继承关系的依据。

2.       包含关系的类之间不存在继承关系。如:主机,外设 ,电脑。 把主机类和外设类作为电脑类的成员就可以了。

3.       如果在逻辑上类B是类A的一种,并且类的所有属性和行为对类而言都有意义,则允许B继承A的行为和属性(私有属性与行为除外)。





     

你可能感兴趣的:(看《java优化编程》一些细节上的东东)