仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 531|回复: 11
打印 上一主题 下一主题

[学习教程] JAVA网页编程之完成高效Java编程标准的十一条基本划定规矩...

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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:10 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
若天明 该用户已被删除
板凳
发表于 2015-1-27 22:26:25 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
柔情似水 该用户已被删除
地板
发表于 2015-1-31 18:49:43 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
若相依 该用户已被删除
5#
发表于 2015-2-6 21:01:09 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
6#
发表于 2015-2-7 10:57:30 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
admin 该用户已被删除
7#
发表于 2015-2-21 18:59:37 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
活着的死人 该用户已被删除
8#
发表于 2015-3-1 05:07:45 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小魔女 该用户已被删除
9#
发表于 2015-3-2 18:55:12 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再现理想 该用户已被删除
10#
发表于 2015-3-11 05:31:33 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
不帅 该用户已被删除
11#
发表于 2015-3-17 21:10:22 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
透明 该用户已被删除
12#
发表于 2015-3-25 02:45:35 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 16:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表