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

高手支招 Java經驗分享(三)

開發 后端
本篇文章是作者Ant_Yan在CSDN論壇上發布的自己對Java學習的一些經驗分享。這是他經驗分享的第三部分。

  前兩次分別講述了Java關于jvm、jdk、jre、collection、classLoader和一些Design Pattern的自我理解。這次仍然不準備開始過渡到j2ee中,因為覺得還有一些瑣碎的j2se的問題沒有總結完畢。

  1. 關于Object類理解

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

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

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

  1. public native int hashCode(); 

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

  其余的方法呢?nofigy()、notifyAll()、clone()、wait()都是native方法的,說明依賴于操作系統的實現。最后一個有趣的方法是finalize(),類似C++的析構函數,簽名是protected,證明只有繼承擴展了才能使用,方法體是空的,默示什么也不做。它的作用據筆者的了解僅僅是通知JVM此對象不再使用,隨時可以被銷毀,而實際的銷毀權還是在于虛擬機手上。那么它真的什么也不做麼?未必,實際上如果是線程對象它會導致在一定范圍內該線程的優先級別提高,導致更快的被銷毀來節約內存提高性能。其實從常理來說,我們也可以大概這樣猜測出jvm做法的目的。

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

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

  學過數據結構的課程大家都會知道有一種結構叫hash table,目的是通過給每個對象分配一個唯一的索引來提高查詢的效率。那么Java也不會肆意扭曲改變這個概念,所以hashCode唯一的作用就是為支持數據結構中的哈希表結構而存在的。換句話說,也就是只有用到集合框架的 Hashtable、HashMap、HashSet的時候,才需要重載hashCode()方法,這樣才能使得我們能人為的去控制在哈希結構中索引是否相等。筆者舉一個例子:

  曾經為了寫一個求解類程序,需要隨機列出1,2,3,4組成的不同排列組合,所以筆者寫了一個數組類用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(),畢竟那是操作系統的實現, 找到相通對象唯一的標識,實現方式很多,筆者的實現方式是:

  首先重寫了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類的成員函數與Java反射機制

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

  熟悉C++的人一定知道下面這樣在C++中是做不到的: 運行時以字符串參數傳遞一個類名,就可以得到這個類的所有信息,包括它所有的方法,和方法的詳細信息。還可以實例化一個對象,并通過查到的方法名來調用該對象的任何方法。這是因為Java的類在內存中除了C++中也有的靜態動態數據區之外,還包括一份對類自身的描述,也正是通過這描述中的信息,才能幫助我們才運行時讀取里面的內容,得到需要加載目標類的所有信息,從而實現反射機制。大家有沒有想過當我們需要得到一個JavaBean的實例的時候,怎么知道它有哪些屬性呢?再明顯簡單不過的例子就是自己寫一個JavaBean的解析器:

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

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

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

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

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

  4. 坦言Synchronize的本質

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

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

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

  這樣大家能理解了麼?明白它的原理能更好的幫助大家設計同步機制,不要濫用加鎖。

【編輯推薦】

  1. 新手入門:學習Java的一點經驗心得
  2. 61條Java面向對象設計的經驗原則
  3. 經驗分享:我的JavaEE學習道路
  4. Java對象類型轉換的四個經驗
責任編輯:韓亞珊 來源: CSDN
相關推薦

2011-03-31 13:52:22

Java

2011-03-31 16:26:28

Java

2011-03-31 15:36:02

Java

2011-03-31 16:44:43

Java

2011-03-31 14:07:27

Java

2011-03-31 16:49:40

Java

2011-03-31 13:32:13

Java

2011-03-31 14:49:35

2011-04-07 13:18:00

管理軟件項目項目

2009-10-29 16:57:05

Oracle傳輸表空間

2010-07-21 14:05:31

2014-05-28 10:55:11

Windows XP安全補丁

2018-06-19 08:12:55

2011-07-13 17:42:32

CC++

2010-08-18 14:19:01

無線路由器

2009-09-28 10:52:00

CCNA考試經驗CCNA

2011-06-22 14:51:46

JAVA

2009-02-06 10:39:22

NAS設備升級NAS

2009-12-22 19:26:51

WCF綁定

2009-09-16 08:54:02

思科認證CCIECCNA
點贊
收藏

51CTO技術棧公眾號

99精品国产福利在线观看免费| 日本免费一区二区三区视频| 久久久激情视频| 2021国产精品视频| 又嫩又硬又黄又爽的视频| 国产精品久久久久久久久久辛辛| 亚洲高清在线视频| 日本视频一区在线观看| 国产精品一区二区免费视频| 欧美99在线视频观看| 精品国产伦一区二区三区免费 | 日本黄色一区二区| 中文字幕中文字幕一区三区| 天天综合在线视频| 精品一区二区成人精品| 97在线观看视频国产| 波多野结衣一二三四区| 国产 日韩 欧美 综合 一区| 欧美视频在线一区| 91好吊色国产欧美日韩在线| 免费av在线| 99re热这里只有精品免费视频| 国产精品亚洲网站| 日韩aaaaaa| 91精品国产乱码久久久久久| 亚洲人成在线观看网站高清| 亚洲欧洲国产视频| 亚洲日日夜夜| 在线精品观看国产| 成年人网站免费视频| 久久五月精品| 久久久噜噜噜久久中文字幕色伊伊| 成人激情视频在线播放| 国产女主播喷水视频在线观看 | 亚洲v精品v日韩v欧美v专区| 中文字幕在线中文字幕日亚韩一区| 欧美视频免费一区二区三区| 高清在线观看日韩| 91在线观看免费高清| 国产精品成人无码| 亚洲综合精品| 91av在线看| 国产香蕉在线视频| 国模 一区 二区 三区| 久久精品国产欧美激情| 激情无码人妻又粗又大| 极品美女一区二区三区| 精品一区二区电影| 欧美一级片黄色| youjizz亚洲| 日韩精品一区二区三区在线播放| 五月天开心婷婷| 涩涩涩久久久成人精品| 欧美日韩黄视频| 日本激情综合网| 国外成人福利视频| 欧美日本在线播放| 欧美激情第3页| 亚洲视频自拍| 91精品国产综合久久久久| 免费成年人高清视频| 日日狠狠久久| 日韩欧美一区二区在线视频| 深夜视频在线观看| 国偷自产视频一区二区久| 亚洲精品720p| 97人妻精品一区二区三区免 | 国产精品影音先锋| 91久久精品一区二区别| 国产极品久久久| 高清在线观看日韩| 久久久久久高清| 国产在线观看高清视频| 国产精品久久福利| 国产日韩第一页| 国产探花视频在线观看| 欧美视频二区36p| 亚洲欧美国产日韩综合| 国产高清精品二区| 色狠狠av一区二区三区| 欧美日韩精品在线一区二区| 综合毛片免费视频| 欧美午夜精品免费| 制服下的诱惑暮生| 日韩中出av| 在线观看日韩www视频免费| 日韩在线视频免费看| 国产精品草草| 日韩免费观看在线观看| 97人妻精品一区二区三区视频 | 久久日韩精品| 97最新国自产拍视频在线完整在线看| 自拍偷拍国产亚洲| 午夜精品久久久久久久无码| 丁香婷婷久久| 精品成人私密视频| 91资源在线播放| 国产一区二区中文| 国产精品黄视频| 精品人妻一区二区三区浪潮在线 | 992在线观看| 狠狠综合久久| 国产精品一区二区3区| 亚洲爱情岛论坛永久| 久久久99精品免费观看不卡| 9色视频在线观看| 韩国美女久久| 精品日本一线二线三线不卡| 91成人精品一区二区| 亚洲国产黄色| 91久久久久久久久久久| 亚洲欧美综合一区二区| 亚洲美女视频在线观看| 黄色片在线免费| 欧美交a欧美精品喷水| 俺去啦;欧美日韩| 亚洲av无码精品一区二区| 成人手机电影网| 在线亚洲美日韩| 日韩免费电影| 欧美精品一区二区三区蜜臀| 日本 欧美 国产| 狂野欧美性猛交xxxx巴西| 国产手机精品在线| 1024在线播放| 欧美美女网站色| 天天操天天舔天天射| 国产日韩一区| 国产女主播一区二区三区| 18网站在线观看| 欧美一区二区日韩| 国精产品久拍自产在线网站| 久久蜜桃精品| 麻豆成人av| 交100部在线观看| 精品日本一线二线三线不卡| 欧美成人精品激情在线视频| 韩日av一区二区| 一区二区欧美日韩| 日本肉肉一区| 中文欧美在线视频| www.五月婷婷.com| 国产亚洲欧美日韩日本| 50路60路老熟妇啪啪| 丝袜美腿综合| 国产第一区电影| 黄色的视频在线免费观看| 欧美日韩一区二区免费在线观看 | 中文一区一区三区高中清不卡| 青青草原av在线播放| 亚洲精品中文字幕99999| 欧美最猛性xxxxx(亚洲精品)| 性xxxx视频| 婷婷六月综合网| aa一级黄色片| 日韩精品电影一区亚洲| 色姑娘综合网| 亚洲日本中文| 欧美精品www在线观看| 性色av蜜臀av| 香蕉av福利精品导航| 黄色国产在线观看| 日欧美一区二区| 亚洲欧洲中文| 日韩在线观看中文字幕| 欧美精品aaa| 欧美日本网站| 欧美视频在线播放| 青青青在线免费观看| 国产成人精品1024| 丰满少妇被猛烈进入高清播放| 亚洲肉体裸体xxxx137| 国产精品手机播放| 国产淫片在线观看| 亚洲国产精久久久久久| 凹凸精品一区二区三区| 亚洲视频在线一区观看| 黄色国产在线视频| 久久国产精品久久w女人spa| 亚洲永久激情精品| 国产乱码久久久久| 成人性生交大片免费看中文视频| 欧美高跟鞋交xxxxhd| 亚洲av成人精品日韩在线播放| 在线观看网站黄不卡| 日韩成人短视频| 北条麻妃一区二区三区| 国产精品涩涩涩视频网站| 99久久夜色精品国产亚洲1000部| 亚洲综合在线小说| 向日葵视频成人app网址| 久久精品成人欧美大片| 天天干天天舔天天射| 欧美日韩国产美| 日韩欧美亚洲一区二区三区| 日本一二三不卡| 国产在线不卡av| 热久久国产精品| 成人黄色大片网站| 成人影院天天5g天天爽无毒影院 | a级片免费视频| 日韩欧美a级成人黄色| 国产精品国产三级国产传播| 99久久久国产精品| 亚洲一区二区偷拍| 免费亚洲一区| 欧妇女乱妇女乱视频| 精品99在线| 国产一级特黄a大片99| 日韩欧乱色一区二区三区在线 | 国产婷婷色一区二区在线观看| 成人免费视频在线观看| 五级黄高潮片90分钟视频| 国产乱码精品一区二区三区忘忧草 | 久久久噜噜噜久久中文字幕色伊伊| 精品日韩99亚洲| 男人的天堂官网| 99久久精品免费| 亚洲熟女乱综合一区二区| 日韩成人免费电影| 欧美精品一区免费| 午夜视频一区| 特级毛片在线免费观看| 你微笑时很美电视剧整集高清不卡| 91精品国产99久久久久久红楼| 91国内外精品自在线播放| 38少妇精品导航| 国内在线免费视频| 久久久久99精品久久久久| 国产大片在线免费观看 | 成a人片在线观看www视频| 亚洲第一页自拍| www.亚洲欧美| 91精品国产色综合久久不卡蜜臀| 草莓视频18免费观看| 午夜精品123| 国产午夜视频在线| 一区二区三区免费网站| caoporn91| 亚洲乱码一区二区三区在线观看| 成人三级视频在线观看| 国产精品久久精品日日| 91香蕉视频污在线观看| 成人欧美一区二区三区| av在线免费播放网址| 国产精品欧美久久久久一区二区| 国产精品国产三级国产专业不| 久久女同性恋中文字幕| 国产精品无码久久久久一区二区| 91香蕉视频黄| 精品夜夜澡人妻无码av| 2020国产精品| 最新中文字幕av| 国产精品入口麻豆九色| 激情高潮到大叫狂喷水| 亚洲日本在线观看| 欧美日韩在线观看免费| 亚洲国产精品自拍| 一级免费在线观看| 色综合久久综合网| 中文字幕+乱码+中文乱码91| 欧美日韩国产小视频| 91高潮大合集爽到抽搐| 日韩三级中文字幕| 熟妇人妻系列aⅴ无码专区友真希| 日韩精品免费在线视频| 国产在线高清| 蜜臀久久99精品久久久久久宅男| 成人免费一区二区三区牛牛| 7m精品福利视频导航| 国精产品一区一区三区四川| 成人福利网站在线观看11| 成人免费在线电影网| 久久综合中文色婷婷| 久久综合99| 久久综合久久网| 三级成人在线视频| 污污视频在线免费| 99久久夜色精品国产网站| 成人小视频免费看| 一区二区在线观看不卡| 国产无套丰满白嫩对白| 欧美精品一二三区| 天天操天天舔天天干| 亚洲午夜色婷婷在线| 2020国产在线视频| 热久久这里只有| 成人黄色91| 欧美精品v日韩精品v国产精品| 欧美激情理论| 大陆极品少妇内射aaaaa| 免费观看一级特黄欧美大片| 无码人妻一区二区三区免费n鬼沢| 久久亚洲精品国产精品紫薇| 91久久久久久久久久久久久久| 亚洲高清在线视频| 亚洲一级黄色大片| 亚洲成av人影院在线观看| 一级日本在线| 国产91精品久久久久久久| 高清不卡一区| 日韩av一区二区三区美女毛片| 欧美日韩1区| 九热视频在线观看| 99久久综合99久久综合网站| 午夜爽爽爽男女免费观看| 一本大道av伊人久久综合| 朝桐光av在线一区二区三区| 亚洲人在线视频| 51漫画成人app入口| 国产欧美日韩中文字幕| 台湾亚洲精品一区二区tv| 欧美精品一区二区性色a+v| 久久亚洲风情| 欧美日韩一区二区三区四区五区六区| 中文字幕的久久| 影音先锋在线国产| 精品久久久影院| aaa大片在线观看| 国产精品美乳在线观看| 亚洲色图丝袜| 青青青免费在线| 丁香一区二区三区| 国产高潮流白浆| 久久裸体网站| 成人免费91在线看| 久久精品青草| 一区二区三区国产免费| av一二三不卡影片| 黄色小视频在线免费看| 日韩一级视频免费观看在线| 日本在线免费看| 国产精品jvid在线观看蜜臀| 天堂网av成人| 99视频在线免费播放| 成人三级在线视频| 伊人365影院| 精品国内片67194| 色呦呦视频在线观看| 91免费在线观看网站| 欧美国产精品| 手机看片国产精品| 亚洲精品自拍动漫在线| 国产精品伦理一区| www国产精品com| 亚洲精品aa| 日韩 欧美 自拍| 国产精品18久久久久久久久| 久久高清内射无套| 欧美一级黄色大片| 四季久久免费一区二区三区四区| 7777精品伊久久久大香线蕉语言| 亚洲91中文字幕无线码三区| 91麻豆国产语对白在线观看| 日本污视频网站| 999久久久91| 男人日女人下面视频| 99久久久无码国产精品| 国产欧美日韩另类| 亚洲精品一区二区三区婷婷月| 无码小电影在线观看网站免费| 麻豆成人小视频| 亚洲精品小视频在线观看| 91www在线| 久久亚洲综合网| 蜜桃伊人久久| 99国产精品免费| 337p亚洲精品色噜噜| 中文av资源在线| 国产日本一区二区三区| 一区二区日本视频| 精品国产成人亚洲午夜福利| 欧美日韩久久一区二区| av毛片在线| 久久av免费一区| 视频在线在亚洲| 韩国一级黄色录像| 日韩欧美中文一区二区| 日本不卡网站| 亚洲欧洲国产精品久久| 国产91丝袜在线播放| 特级西西444www大精品视频免费看 | 亚洲综合日韩在线| 伊人久久婷婷| 亚洲a v网站| 欧美日韩一区国产| 欧美videosex性极品hd| 欧美日韩亚洲免费| 国产呦精品一区二区三区网站| 日韩无码精品一区二区三区| 综合欧美国产视频二区| 伊人久久亚洲| 久久久精品在线视频| 亚洲精品免费电影| 黄色在线免费观看大全| 成人综合av网| 麻豆精品视频在线观看免费| 91午夜视频在线观看| 日韩中文字幕精品| 日韩系列在线|