精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JAVA編程經驗匯總(三)

開發(fā) 后端
本文系列的文章介紹的是JAVA編程經驗,本文是第三篇。適合初學者閱讀,希望對你有幫助,一起來看。

學習Java比C++更容易理解OOP的思想,畢竟C++還混合了不少面向過程的成分。本系列文章,介紹JAVA編程經驗。建議閱讀上一篇:JAVA編程經驗匯總(二)

1. 關于Object類理解

大家都知道Object是所有Java類的基類, 意味著所有的Java類都會繼承了Object的11個方法。建議大家去看看Object的 11個成員函數(shù)的源代碼,就會知道默認的實現(xiàn)方式。比如equals方法,默認實現(xiàn)就是用"=="來比較,即直接比較內存地址,返回true 或者 false。而toString()方法,返回的串組成方式是?

  1. "getClass().getName() + "@" + Integer.toHexString(hashCode())"  

其實不用我過多的解釋,大家都能看懂這個串的組成。接下來再看看hashCode():

  1. public native int hashCode(); 

由于是native方法,跟OS的處理方式相關,源代碼里僅僅有一個聲明罷了。我們有興趣的話完全可以去深究它的hashCode到底是由OS怎么樣產生的呢?但筆者建議最重要的還是先記住使用它的幾條原則吧!首先如果equals()方法相同的對象具有相通的hashCode,但equals ()對象不相通的時候并不保證hashCode()方法返回不同的整數(shù)。而且下一次運行同一個程序,同一個對象未必還是當初的那個hashCode() 哦。

其余的方法呢?nofigy()、notifyAll()、clone()、wait()都是native方法的,說明依賴于操作系統(tǒng)的實現(xiàn)。最后一個有趣的方法是finalize(),類似C++的析構函數(shù),簽名是protected,證明只有繼承擴展了才能使用,方法體是空的,默示什么也不做。它的作用據(jù)筆者的了解僅僅是通知JVM此對象不再使用,隨時可以被銷毀,而實際的銷毀權還是在于虛擬機手上。

那么它真的什么也不做麼?未必,實際上如果是線程對象它會導致在一定范圍內該線程的優(yōu)先級別提高,導致更快的被銷毀來節(jié)約內存提高性能。其實從常理來說,我們也可以大概這樣猜測出jvm做法的目的。

2.關于重載hashCode()與Collection框架的關系

筆者曾經聽一位搞Java培訓多年的前輩說在他看來hashCode方法沒有任何意義,僅僅是為了配合證明具有同樣的hashCode會導致equals 方法相等而存在的。連有的前輩都犯這樣的錯誤,其實說明它還是滿容易被忽略的。那么hashCode()方法到底做什么用?

學過數(shù)據(jù)結構的課程大家都會知道有一種結構叫hash table,目的是通過給每個對象分配一個唯一的索引來提高查詢的效率。那么Java也不會肆意扭曲改變這個概念,所以hashCode唯一的作用就是為支持數(shù)據(jù)結構中的哈希表結構而存在的。

換句話說,也就是只有用到集合框架的 Hashtable、HashMap、HashSet的時候,才需要重載hashCode()方法,這樣才能使得我們能人為的去控制在哈希結構中索引是否相等。筆者舉一個例子:

曾經為了寫一個求解類程序,需要隨機列出1,2,3,4組成的不同排列組合,所以筆者寫了一個數(shù)組類用int[]來存組合結果,然后把隨機產生的組合加入一個HashSet中,就是想利用HashSet不包括重復元素的特點。可是HashSet怎么判斷是不是重復的元素呢?當然是通過 hashCode()返回的結果是否相等來判斷啦,可做一下這個實驗:

  1. int[] A = {1,2,3,4};   
  2. int[] B = {1,2,3,4};   
  3. System.out.println(A.hashCode());   
  4. System.out.println(B.hashCode());  

這明明是同一種組合,卻是不同的hashCode,加入Set的時候會被當成不同的對象。這個時候我們就需要自己來重寫hashCode()方法了,如何寫呢?其實也是基于原始的hashCode(),畢竟那是操作系統(tǒng)的實現(xiàn), 找到相通對象唯一的標識,實現(xiàn)方式很多,筆者的實現(xiàn)方式是: 

首先重寫了toString()方法:

  1. return A[0]“+” A[1]“+” A[2]“+” A[3]; //顯示上比較直觀  

然后利用toString()來計算hashCode():

  1. return this.toString().hashCode();  

這樣上述A和B返回的就都是”1234”,在測試toString().hashCode(),由于String在內存中的副本是一樣的,”1234”.hashCode()返回的一定是相同的結果。

說到這,相信大家能理解得比我更好,今后千萬不要再誤解hashCode()方法的作用。

3. 關于Class類的成員函數(shù)與Java反射機制

很早剛接觸Java就聽很多老師說過Java的動態(tài)運行時機制、反射機制等。確實它們都是Java的顯著特點,運行時加載筆者在第一篇介紹過了,現(xiàn)在想講講反射機制。在Java中,主要是通過java.lang包中的Class類和Method類來實現(xiàn)內存反射機制的。

熟悉C++的人一定知道下面這樣在C++中是做不到的: 運行時以字符串參數(shù)傳遞一個類名,就可以得到這個類的所有信息,包括它所有的方法,和方法的詳細信息。還可以實例化一個對象,并通過查到的方法名來調用該對象的任何方法。這是因為Java的類在內存中除了C++中也有的靜態(tài)動態(tài)數(shù)據(jù)區(qū)之外,還包括一份對類自身的描述,也正是通過這描述中的信息,才能幫助我們才運行時讀取里面的內容,得到需要加載目標類的所有信息,從而實現(xiàn)反射機制。

大家有沒有想過當我們需要得到一個JavaBean的實例的時候,怎么知道它有哪些屬性呢?再明顯簡單不過的例子就是自己寫一個JavaBean的解析器:

a. 通過Class.forName(“Bean的類名”)得到Class對象,例如叫ABeanClass 

b. 通過ABeanClass的getMethods()方法,得到Method[]對象

c. 按照規(guī)范所有get方法名后的單詞就代表著該Bean的一個屬性

d. 當已經知道一個方法名,可以調用newInstance()得到一個實例,然后通過invoke()方法將方法的名字和方法需要用的參數(shù)傳遞進去,就可以動態(tài)調用此方法。

當然還有更復雜的應用,這里就不贅述,大家可以參考Class類和Method類的方法。

4. 坦言Synchronize的本質

Synchronize大家都知道是同步、加鎖的意思,其實它的本質遠沒有大家想得那么復雜。聲明Synchronize的方法被調用的時候,鎖其實是加載對象上,當然如果是靜態(tài)類則是加在類上的鎖,調用結束鎖被解除。它的實現(xiàn)原理很簡單,僅僅是不讓第二把鎖再次被加在同一個對象或類上,僅此而已。一個簡單的例子足以說明問題:

  1. class A{   
  2. synchronized void f(){}   
  3. void g(){}   
  4. }  

當A的一個對象a被第一個線程調用其f()方法的時候,第二個線程不能調用a的synchronized方法例如f(),因為那是在試圖在對象上加第二把鎖。但調用g()卻是可以的,因為并沒有在同一對象上加兩把鎖的行為產生。

進一步閱讀,下一篇:JAVA編程經驗匯總(四)

【編輯推薦】

  1. Java數(shù)據(jù)庫程序中的存儲過程設計
  2. JAVA語言關于字符串替換的思考
  3. JAVA語言中關于EJB技術概論
  4. java/.net語言及IDE簡易對比
  5. 關于Java對象序列化您不知道的5件事
責任編輯:于鐵 來源: 互聯(lián)網
相關推薦

2011-06-22 14:45:52

JAVA

2011-06-22 15:04:28

JAVA

2011-06-22 14:38:14

JAVA

2012-02-06 10:37:07

Java

2014-03-10 10:24:01

MySQLMySQL優(yōu)化

2011-03-31 13:56:24

Java

2011-07-07 15:48:22

PHP編程習慣

2010-09-09 16:48:01

2010-05-28 19:32:24

MySQL使用方法

2018-06-07 09:29:34

數(shù)據(jù)庫MySQL慢SQL

2011-07-13 16:36:11

C++

2009-09-04 16:33:28

CCNA學習方法

2010-06-12 13:39:33

MySQL操作blob

2010-07-01 10:38:46

SQL Server交

2010-05-27 13:12:10

MySQL 常用命令

2010-09-17 17:35:55

2011-07-07 18:15:41

軟件開發(fā)

2009-11-02 15:16:07

VB.NET編程

2009-12-22 18:18:11

WCF客戶端編程

2009-02-04 09:45:05

Java SocketSocket APIJava編程
點贊
收藏

51CTO技術棧公眾號

91大神在线网站| 国产无精乱码一区二区三区| 国产精品久久久久久久久免费高清 | 激情视频亚洲| 午夜精品国产更新| 久久综合福利| 国产乱码久久久久| 99热精品在线观看| 中文字幕亚洲一区在线观看| 久久婷婷中文字幕| av影院在线免费观看| 国产日韩av一区| 国产麻豆一区二区三区在线观看| 免费黄色小视频在线观看| 自由日本语亚洲人高潮| 日韩av在线影院| 一级做a爱视频| 怡红院成人在线| 亚洲自拍偷拍九九九| 日韩中文不卡| 香蕉视频免费在线看| 另类中文字幕网| 777午夜精品福利在线观看| 一级性生活免费视频| 日韩欧美中文字幕电影| 日韩一区二区三区免费观看| www.色偷偷.com| 丁香花电影在线观看完整版| 国产精品家庭影院| 欧美区高清在线| 亚洲黄色片视频| 韩国成人福利片在线播放| 欧美在线视频网| av激情在线观看| 国产精品精品国产一区二区| 亚洲网站在线播放| 亚洲av无码一区二区三区人| 精品网站aaa| 日韩午夜电影在线观看| 久久99爱视频| 黄色精品视频| 色哟哟国产精品免费观看| 黄色免费视频大全| 爱情岛亚洲播放路线| 一区二区三区中文字幕| 久久一区二区精品| 婷婷视频在线观看| 99久久伊人久久99| 国产精品一区二区免费看| 国产www免费观看| 韩国v欧美v日本v亚洲v| 国产日韩在线播放| 亚洲一区中文字幕永久在线| 蜜臀av一级做a爰片久久| 国产ts人妖一区二区三区| 天天操天天摸天天干| 一区二区日本视频| 91国内产香蕉| 伊人手机在线视频| 久久久久在线| 国产成人精品午夜| 老熟妇一区二区三区| 久久蜜桃资源一区二区老牛| 清纯唯美日韩制服另类| 性色av免费观看| 三级不卡在线观看| 国产欧美一区二区三区视频| 国产又粗又长又黄| 国产成人精品免费在线| 国产三区二区一区久久| 同心难改在线观看| 国产欧美精品一区aⅴ影院| 午夜精品一区二区在线观看| 日本美女在线中文版| 综合色中文字幕| 久久这里只有精品8| 国产丝袜视频在线播放| 日韩欧美在线免费观看| 性chinese极品按摩| 精品视频国内| 日韩电影在线观看中文字幕| 在线观看日本中文字幕| 久久久久国产| 91精品国产91久久久久久久久 | av在线不卡一区| 成人小说亚洲一区二区三区| 91香蕉视频污| 亚洲精品白虎| 日本动漫同人动漫在线观看| 粉嫩av一区二区三区免费野| 91精品无人成人www| 日韩精品亚洲专区在线观看| 日韩精品极品视频| 久久人妻无码aⅴ毛片a片app| 雨宫琴音一区二区在线| 国产精品福利在线观看| 国产高清在线免费| 久久久国产一区二区三区四区小说 | 日本道不卡免费一区| 久久视频在线视频| 国产成人亚洲精品自产在线| 青娱乐精品在线视频| 成人激情直播| 午夜在线小视频| 午夜欧美2019年伦理| 亚欧激情乱码久久久久久久久| 91蝌蚪精品视频| 中文字幕亚洲欧美日韩在线不卡| 久久精品www| 蜜臀av一区二区三区| 精品国产日本| 在线看福利影| 欧美综合天天夜夜久久| 久草免费资源站| 欧美日韩中文一区二区| 97国产一区二区精品久久呦| 国产女18毛片多18精品| 国产调教视频一区| 丰满少妇大力进入| 中文字幕日本一区| 亚洲最大中文字幕| 色网站在线播放| 国产一区二区不卡在线| 亚洲不卡1区| 国产盗摄——sm在线视频| 91精品国产乱码久久蜜臀| 欧美黄色激情视频| 国产亚洲毛片在线| 国产精品青青草| 中国av在线播放| 欧美精品三级在线观看| 国产精久久一区二区三区| 一区二区国产精品| 国产一区二区在线观看免费播放| 18videosex性欧美麻豆| 91精品久久久久久久99蜜桃| 91狠狠综合久久久久久| 天堂成人国产精品一区| 精品一区在线播放| free性护士videos欧美| 亚洲成人久久久| 欧美人妻精品一区二区三区| 国产美女久久久久| 超碰在线免费观看97| 国产精品天堂蜜av在线播放 | 最新欧美色图| 日韩的一区二区| 国产精品黄色网| 91一区二区三区在线播放| 麻豆tv在线播放| 鲁大师精品99久久久| 91国产高清在线| 少妇性bbb搡bbb爽爽爽欧美| 欧美性猛xxx| 三级网站在线免费观看| 日韩精品电影一区亚洲| 日日骚一区二区网站| 精品国产黄a∨片高清在线| 中文字幕亚洲天堂| 在线视频 中文字幕| 亚洲欧洲性图库| 日韩av加勒比| 亚洲网站啪啪| 欧美激情视频一区二区三区| 黄色综合网址| 色偷偷噜噜噜亚洲男人| 国产农村老头老太视频| 亚洲第一激情av| 精品人妻少妇嫩草av无码| 日韩专区在线视频| 成年人免费观看的视频| 9l视频自拍九色9l视频成人| 97高清免费视频| 国产一二三在线观看| 欧美日韩国产综合草草| 久久国产在线观看| 91香蕉视频污在线| 一起操在线视频| 激情婷婷久久| 亚洲成人18| 18国产精品| 国产成人啪精品视频免费网| 免费a级人成a大片在线观看| 欧美mv日韩mv国产网站| 国产精品一区无码| 亚洲三级在线免费| 天天插天天射天天干| 日韩成人午夜精品| 男女裸体影院高潮| 日韩高清一级| 成人国产亚洲精品a区天堂华泰| 亚洲制服国产| 亚洲三级 欧美三级| 国产丝袜视频在线观看| 欧美午夜片欧美片在线观看| 看免费黄色录像| 久久久久久久久久久久久女国产乱| 亚洲美女性囗交| 国产精品社区| av 日韩 人妻 黑人 综合 无码| 西野翔中文久久精品国产| 国产一区红桃视频| 色在线免费观看| 播放一区二区| 久久色在线视频| 污网站在线免费| 免费亚洲一区| www.国产二区| 欧美综合另类| 久久99国产精品99久久| 国产999精品在线观看| 国产不卡在线观看| 2020av在线| 欧美美女15p| 日本最新在线视频| 亚洲欧美一区二区三区四区 | 亚洲精品日韩精品| 欧美大片网址| 国产成人精品一区二区三区福利| 国产精品蜜月aⅴ在线| 国产91在线高潮白浆在线观看| 狂野欧美激情性xxxx欧美| 色视频www在线播放国产成人| 偷拍自拍在线| 亚洲国产精品小视频| www.我爱av| 在线播放中文一区| 最近中文字幕av| 色哟哟一区二区| 91video| 午夜成人在线视频| 久久久一区二区三区四区| 亚洲图片欧美激情| 黄色片网站在线播放| 国产午夜精品福利| 国产熟妇久久777777| 91色porny在线视频| 亚洲成年人在线观看| 国产成人免费视频精品含羞草妖精| 亚洲xxx在线观看| 捆绑调教美女网站视频一区| 久久久国产欧美| 老司机午夜精品视频在线观看| 黄色www网站| 一本色道久久精品| www国产黄色| 国产手机视频一区二区 | 美腿丝袜亚洲三区| 另类小说第一页| 麻豆一区二区三| 57pao国产成永久免费视频| 久久精品99国产精品| 亚洲va综合va国产va中文| 久久国产欧美日韩精品| 亚洲欧美日本一区二区三区| 极品销魂美女一区二区三区| 亚洲精品乱码久久久久久动漫| 韩国三级在线一区| 日韩女优在线视频| 99久久国产综合精品女不卡| 成年人网站免费看| 国产欧美综合在线观看第十页| 国产伦精品一区二区三区视频女| 国产精品三级久久久久三级| 一级片一级片一级片| 亚洲综合一区二区| 日韩欧美国产亚洲| 日本高清成人免费播放| 亚洲一区精品在线观看| 日韩欧美成人激情| 头脑特工队2在线播放| 色狠狠av一区二区三区香蕉蜜桃| 国产午夜精品久久久久免费视| 欧美精品videos| 中文字幕在线视频网站| 国产精品视频一区二区三区四| 国产精品亚洲欧美一级在线| 国产精品免费一区二区三区观看| 国产欧美日韩精品一区二区免费| 亚洲精品一区二区三| 欧美三区不卡| 日韩手机在线观看视频| 精久久久久久久久久久| 波多野结衣影院| 国产精品乱码人人做人人爱| 久久久久无码国产精品不卡| 日韩欧美精品中文字幕| 国产模特av私拍大尺度| 亚洲成色777777在线观看影院| 第九色区av在线| 欧美激情2020午夜免费观看| 视频在线日韩| 99中文字幕| 成人在线免费观看91| 妞干网在线观看视频| 美腿丝袜亚洲三区| 亚洲国产精品自拍视频| 最近日韩中文字幕| 国产污视频网站| 精品国产网站在线观看| 超碰免费在线观看| 久久久久中文字幕| 欧美一级做一级爱a做片性| 国产在线视频欧美一区二区三区| av资源久久| 99精品人妻少妇一区二区| 久久激情综合网| 性久久久久久久久久| 亚洲一区二区三区在线看| 在线观看中文字幕网站| 亚洲精品一区二区久| 新版中文在线官网| 国产欧美一区二区三区久久| 国产成人ay| 欧美啪啪免费视频| 国产一区二区不卡| 懂色av蜜臀av粉嫩av永久| 欧美日韩另类视频| 亚洲欧美另类一区| 操人视频在线观看欧美| 中韩乱幕日产无线码一区| 久久精品成人一区二区三区蜜臀| 欧美 日韩 国产精品免费观看| 国产探花在线看| 国产欧美日韩综合| 欧美 日韩 精品| 亚洲国产精品嫩草影院久久| 在线观看a级片| 91亚洲精品视频| 99国产精品一区二区| 在线看的黄色网址| 国产欧美精品国产国产专区| 一级黄色免费网站| 精品视频在线导航| 三级中文字幕在线观看| 国产一区免费观看| 亚洲日本视频| 国产精品久久无码| 婷婷一区二区三区| 日本精品一区二区在线观看| 久久久久久成人精品| 2023国产精华国产精品| 中文精品无码中文字幕无码专区| 国产呦萝稀缺另类资源| 久久国产精品国语对白| 欧美一区二区久久| 中文字幕资源网在线观看| 91手机在线播放| 欧美午夜不卡| 性活交片大全免费看| 亚洲成av人片| 日本电影一区二区在线观看| 欧美在线免费观看| 欧美美乳视频| 中文av一区二区三区| 中文字幕亚洲视频| 国产又大又黑又粗| 久久久久国产精品www| 国语一区二区三区| 哪个网站能看毛片| 国产女主播视频一区二区| 日韩久久久久久久久久| 色偷偷亚洲男人天堂| 国产麻豆一区二区三区| 91午夜在线观看| 91丨porny丨在线| 少妇一级淫片日本| 久久久999国产精品| 1313精品午夜理伦电影| 免费看又黄又无码的网站| 国产午夜精品一区二区三区视频 | 蜜臀av一区二区在线观看| 9999热视频| 日韩国产欧美精品在线| 国产成人午夜性a一级毛片| 日本福利视频导航| www.爱久久.com| 波多野结衣在线观看一区| 久久伊人色综合| 日韩高清一级| 天天操天天干天天做| 亚洲午夜免费福利视频| 国产中文字幕在线看| 成人免费视频网址| 999亚洲国产精| 日韩一卡二卡在线观看| 精品国产髙清在线看国产毛片| 日本综合字幕| 国产激情片在线观看| 久久久国产一区二区三区四区小说| 国产毛片在线视频| 欧洲一区二区视频| 亚洲成人精品| 91网站免费视频| 精品剧情v国产在线观看在线| 日产精品一区| 老子影院午夜伦不卡大全| 中文字幕精品三区| 色一情一乱一乱一区91av| 91精品综合久久久久久五月天|