仓酷云
标题:
JAVA网页编程之完成高效Java编程标准的十一条基本划定规矩...
[打印本页]
作者:
蒙在股里
时间:
2015-1-18 11:15
标题:
JAVA网页编程之完成高效Java编程标准的十一条基本划定规矩...
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。编程|标准 本文先容的Java划定规矩的申明分为5个级别,级别1是最基础也是最主要的级别,在从此将连续写出其他的划定规矩。恪守了这些划定规矩能够进步程序的效力、使代码有更好的可读性等。
(1)制止利用NEW关头字来创立String对象
把一个String常量copy到String对象中一般是过剩、华侈工夫的。
Publicclasstest{
Publicvoidmethod(){
System.out.print(str);
}
privateStringstr=newString("1");//这里新建对象是完整没有需要的
privateStringstr2=”2”//准确的应当云云
}
(2)制止利用不用要的嵌套
过量的嵌套会使你的代码庞大化,削弱可读性。
Publicclasstest{
Stringadd(){
Intc=(a=a+b)+b;//过于庞大
Returnc
}
}
(3)制止在统一行声明分歧范例的多个变量
如许可使程序加倍明晰,制止凌乱
privateintindex,index1[];
准确的应当云云:
privateintindex;
privateintindex1[];
(4)在每行里写一条语句
这条划定规矩不包含for语句:好比:for(inti=0;i<10;i++)x--;’能够增添代码的可读性。
publicclassOSPL{
intmethod(inta,intb){
inti=a+b;returni;//可读性不强
}
准确的:
publicclassOSPLFixed{
intmethod(inta,intb){
inti=a+b;
returni;
}
}
(5)常常从finalize()中挪用super.finalize()
这里的finalize()是java在举行渣滓搜集的时分挪用的,和finally纷歧样。假如你的父类没有界说finally()的话,你也应当挪用。这里有两个缘故原由:(1)在不改动代码的情形下可以将父类的finally办法加到你的类中。(2)今后你会养成习气挪用父类的finally办法,即便父类没有界说finally办法的时分。
准确的办法应当云云:
publicclassparentFinalize{
protectedvoidfinalize()throwsThrowable{
super.finalize();//FIXED
}
(6)不要在finalize()中刊出listeners
不要再finalize()办法中中刊出listeners,finalize()只要再没有对象援用的时分挪用,假如listeners从finalize()办法中往除,被finalize的对象将不会在渣滓搜集中往除。
publicvoidfinalize()throwsThrowable{
bButton.removeActionListener(act);
}
(7)不要显式的挪用finalize()办法
固然显式的挪用这个办法可使你确保你的挪用,可是当这个办法搜集了今后渣滓搜集会再搜集一次。
publicclassT7{
publicvoidfinalize()throwsThrowable{
close_resources();
super.finalize();
}
publicvoidclose_resources(){}
}
classTest{
voidcleanup()throwsThrowable{
t71.finalize();//挪用
t71=null;
}
privatet71=newT7();
}
关于如许的挪用我们应当本人创立一个开释的办法,做最后finalize()所作的事变,当你每次想显式的挪用finalize()的时分实践上挪用了开释办法。然后再利用一个判别字段来确保这个办法只实行一次,今后再挪用就不妨了。
publicclassT7{
publicsynchronizedvoidrelease()throwsThrowable{
if(!_released){
close_resources();//dowhattheoldfinalize()
did_released=true;
}
}
publicvoidfinalize()throwsThrowable{
release();
super.finalize();
}
publicvoidclose_resources(){}
privateboolean_released=false;
}
classTestFixed{
voidcloseTest()throwsThrowable{
t71.release();//FIXED
t71=null;
}
privateT7t71=newT7();
}
(8)不要利用不保举的API
只管利用JDK1.3保举的API。在类和办法大概java组件里有良多办法是陈腐的大概是能够选择的。有一些办法SUN用了"deprecated“标志。最好不要利用比方:
privateListt_list=newList();
t_list.addItem(str);
假如查一下javadoc的话,会发明倡议用add()来取代addItem()。
(9)为一切序列化的类创立一个serialVersionUID
能够制止从你各类分歧的类损坏序列的兼容性。假如你不出格制定一个UID的话,那末体系为主动发生一个UID(依据类的内容)。假如UID在你新版本的类中改动了,即便谁人被序列化的类没改动,你也不克不及反序列化老的版本了。
publicclassDUIDimplementsjava.io.Serializable{publicvoidmethod(){}}
在内里加一个UID,当这个类的序列化情势改动的时分,你也改动这个UID就能够了。
publicclassDUIDFixedimplementsjava.io.Serializable{
publicvoidmethod(){}
privatestaticfinallongserialVersionUID=1;
}
(10)关于private常量的界说
对照好的做法是关于如许的常量,加上final标志,如许的常量从初始化到最初停止值都不会改动。
privateintsize=5;
改动后的做法是:
privatefinalintsize=5;
(11)制止把办法当地变量和参数界说成和类变量不异的名字
如许简单引发混扰,倡议把任何的变量字都界说成独一的。如许看来,SCJP里的那些标题在实际中就用不到了:)
publicvoidmethod(intj){finalinti=5;//VIOLATION}privateintj=2;
倡议:
publicvoidmethod(intj1){finalinti=5;//VIOLATION}privateintj=2;
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
作者:
莫相离
时间:
2015-1-20 18:33
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者:
若天明
时间:
2015-1-27 22:26
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者:
柔情似水
时间:
2015-1-31 18:49
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者:
若相依
时间:
2015-2-6 21:01
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
仓酷云
时间:
2015-2-7 10:57
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者:
admin
时间:
2015-2-21 18:59
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者:
活着的死人
时间:
2015-3-1 05:07
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者:
小魔女
时间:
2015-3-2 18:55
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者:
再现理想
时间:
2015-3-11 05:31
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者:
不帅
时间:
2015-3-17 21:10
是一种使网页(Web Page)产生生动活泼画面的语言
作者:
透明
时间:
2015-3-25 02:45
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2