日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《改善java代码》第一章:java开发通用原则

發布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《改善java代码》第一章:java开发通用原则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、命名:包名全小寫,類名首字母全大寫,常量全部大寫并用下劃線分割,變量采用駝峰命名法
2、三元操作符:
int i=80;
String s1= String.value(i<90?90:100);
String s2= String.value(i<90?90:100.0);
返回值不一樣,s1返回90,s2返回90.0
3、反序列化時,構造函數不會執行,final變量會被重新賦值。 如果在升級的類中有一個final變量是構造函數賦值的,而且新舊版本還發生了變化,則在應用請求熱切的過程中,很可能出現反序列化生成的final變量值與新產生的實例值不相同的情況,于是業務異常就產生了,嚴重的話,會影響交易數據。
因此,在序列化類中,不使用構造函數為final變量賦值。如果final變量是方法賦值的,如:final String name=initName(),則final并不會被重新賦值,之前說final變量會被重新賦值是說簡單對象,包括8個基本類型,以及數組、字符串。
4、工資分為績效工資和基本工資,需要對績效工資保密。
方法1:績效工資前加transient。這樣做標志著工資類市區了分布式部署的功能,一旦遇到性能瓶頸,再想實現分布式部署就不可能了,此方法不可行。

5、instanceof
'A' instanceof Character :編譯不通過,因為instance只能用于對象的判斷,不能用于基本類型的判斷。

null instanceof String : 返回值為false,若左操作數是null,結果就直接返回false,不再運算右操作數是什么類。使用于 (String)null instanceof String一樣為false

new Date() instanceof String 編譯不通過,因為Date類合String沒有繼承和實現關系,所以編譯時直接報錯。

"string" instanceof Object :?   返回值為true,"string"是一個字符串,字符串又繼承了Object,故返回true

new Object() instanceof String:  返回值為false,Object為父類。

6、我們常把項目中的常量全部放在一個類中,如public class Constant { public final static int MAX_AGE =120;}? 我們用的時候,只需要Constant.MAX_AGE。此時,如果改了Constant的MAX_AGE值為180,但是在原始的編譯器重新運行后發現,用到該常量的值仍然為120,原因是,對于final修飾的基本類型和String類型,編譯器會認為它是穩定態,所以在編譯時就直接把值編譯到字節碼中了,避免了在運行期運用,以提高代碼的執行效率。但是final修飾的是類,則編譯器會認為它是不穩定態,采用引用關系。

注:在現在的編譯器沒有這個問題,一律采用引用關系,但是潛在的風險仍然存在。

轉載于:https://www.cnblogs.com/yaohuiqin/p/9284612.html

總結

以上是生活随笔為你收集整理的《改善java代码》第一章:java开发通用原则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。