摘要:為了搞清楚和的區(qū)別做了小實驗實驗猜想第一種方法字符串存儲在常量池中,且常量池中只會有一個第二種方法字符串存放在堆中且每個都是不一樣的對象實驗結(jié)果第二種方法速度明顯慢于第一種,當運行次數(shù)達到一定次數(shù)后,堆內(nèi)存溢出,符合實驗期望。
為了搞清楚String a = "wenqiao"; 和 String a = new String("wenqiao");的區(qū)別
做了小實驗
實驗猜想:第一種方法 字符串存儲在常量池中,且常量池中只會有一個"wenqiao";第二種方法 字符串存放在堆中 且每個"wenqiao"都是不一樣的對象
實驗結(jié)果:
第二種方法速度明顯慢于第一種,當運行次數(shù)達到一定次數(shù)后,堆內(nèi)存溢出,符合實驗期望。
但是..溫喬一開始實驗時結(jié)果并不是這樣…而是
情況一:
時間明顯較短,甚至還有這樣的情況
情況二:
情況三:
出現(xiàn)這些情況的表面原因:
情況一:
for(int i=0;i<1000000000;i++){ String a1 = "wenqiao"; } for(int i=0;i<1000000000;i++){ String a2 = new String("wenqiao"); }
最上面截圖的代碼中,在for循環(huán)外定義了很長的字符串數(shù)組用于存放每個字符串,而這三個都是for循環(huán)內(nèi)部定義了局部變量。原因猜想: ①不明白為什么時間明顯縮短??希望有大神指導 ②堆內(nèi)存沒有溢出:局部變量a1被存放在棧中,每次循環(huán)結(jié)束后,該引用生命到期,對應在堆內(nèi)的字符串成為垃圾被回收
情況二:
for(long i=0;i<1000000000;i++){ String a1 = "wenqiao"; } for(int i=0;i<1000000000;i++){ String a2 = new String("wenqiao"); }
情況三:
for(long i=0;i<1000000000;i++){ String a1 = "wenqiao"; } for(long i=0;i<1000000000;i++){ String a2 = new String("wenqiao"); }
這兩種情況顯示:當i為long型基本變量時,代碼執(zhí)行時間比int要久很多
原因猜想:
對long型變量進行操作時耗時比int久
實驗:
代碼:
long i; for(i = 0 ;i < 1000000000;i++){ } int j; for(j = 0 ;j < 1000000000;j++){ }
結(jié)果
猜想:是因為long型數(shù)據(jù)大小為8bytes,而int為4bytes,其操作時對long型數(shù)據(jù)的計算更為復雜,所以用時更久,目前沒有更深的學習和了解!
歡迎各位大神評價和指導!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66871.html
摘要:在給老師做項目的這個期間,我也發(fā)現(xiàn)慕課網(wǎng),然后便貪婪的在上面學習,其實現(xiàn)在看看上面的教學也是一些基礎,想要真的學到很多,必須做實際項目,遇到問題,然后去百度或者谷歌這個問題,看別人的博客中怎么教你解決。 前言:想當初我也是個無知騷年,學完學校的C語言基礎課程之后也就再也沒有什么想法了(期間還看了看JAVA,但是發(fā)現(xiàn)并不能夠?qū)W好,索性就放棄了),由于當時期末C語言程序答辯的時候,我自己仿...
摘要:在給老師做項目的這個期間,我也發(fā)現(xiàn)慕課網(wǎng),然后便貪婪的在上面學習,其實現(xiàn)在看看上面的教學也是一些基礎,想要真的學到很多,必須做實際項目,遇到問題,然后去百度或者谷歌這個問題,看別人的博客中怎么教你解決。 前言:想當初我也是個無知騷年,學完學校的C語言基礎課程之后也就再也沒有什么想法了(期間還看了看JAVA,但是發(fā)現(xiàn)并不能夠?qū)W好,索性就放棄了),由于當時期末C語言程序答辯的時候,我自己仿...
摘要:在給老師做項目的這個期間,我也發(fā)現(xiàn)慕課網(wǎng),然后便貪婪的在上面學習,其實現(xiàn)在看看上面的教學也是一些基礎,想要真的學到很多,必須做實際項目,遇到問題,然后去百度或者谷歌這個問題,看別人的博客中怎么教你解決。 前言:想當初我也是個無知騷年,學完學校的C語言基礎課程之后也就再也沒有什么想法了(期間還看了看JAVA,但是發(fā)現(xiàn)并不能夠?qū)W好,索性就放棄了),由于當時期末C語言程序答辯的時候,我自己仿...
摘要:當時自己在本地測試搭建集群后,給分配了另外一個任務就是去了解中的自帶分詞英文分詞中文分詞的相同與差異以及自己建立分詞需要注意的點。還有就是官網(wǎng)的文檔了,非常非常詳細,還有,版本的是有中文的官方文檔,可以湊合著看。 前提 人工智能、大數(shù)據(jù)快速發(fā)展的今天,對于 TB 甚至 PB 級大數(shù)據(jù)的快速檢索已然成為剛需,大型企業(yè)早已淹沒在系統(tǒng)生成的浩瀚數(shù)據(jù)流當中。大數(shù)據(jù)技術業(yè)已集中在如何存儲和處理這...
閱讀 2140·2023-04-26 00:50
閱讀 2514·2021-10-13 09:39
閱讀 2257·2021-09-22 15:34
閱讀 1648·2021-09-04 16:41
閱讀 1367·2019-08-30 15:55
閱讀 2464·2019-08-30 15:53
閱讀 1734·2019-08-30 15:52
閱讀 778·2019-08-29 16:19