麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

優(yōu)雅編程之Trove集合工具類的7點(diǎn)整理學(xué)習(xí)分享(四十)

2019-11-11 05:27:04
字體:
供稿:網(wǎng)友

開心一笑

【數(shù)學(xué)期末考試有點(diǎn)難,一考生寫的一首詩:一夜復(fù)習(xí)兩茫茫,看一句,忘三行。路遇友人,臉色皆蒼涼。視死如歸進(jìn)考場,心里慌,手中忙。考完以后心涼涼,左右曰,今比亡。查成績,眾人皆過,我獨(dú)亡。】

提出問題

Trove集合庫如何使用在真實(shí)的項(xiàng)目中???

唯美圖片.png

解決問題

1.Trove集合簡單介紹

trove 英[tr??v] 美[tro?v] n. (物主不明的) 發(fā)掘出來的金銀財(cái)寶;

Trove:一個(gè)快速、輕量級、針對java原子類型(byte,int,float,long等)的Collection 類的集合。廢話不多說,網(wǎng)上資料很多~~~

2.Trove集合的maven依賴

<!-- https://mvnrepository.com/artifact/net.sf.trove4j/trove4j --><!-- trove集合框架 --><dependency> <groupId>net.sf.trove4j</groupId> <artifactId>trove4j</artifactId> <version>3.0.3</version></dependency>

3.Trove集合的具體使用

3.1支持int類型的List:TIntArrayList

跟JDK的list一樣,只是TIntArrayList這個(gè)籃子可以裝int類型的數(shù)字,具體使用可以看下面的例子。

@Testpublic void test(){ //申明int類型List TIntList list = new TIntArrayList(); list.add(1); list.add(3); list.add(1); list.add(4); list.add(5); list.add(2); list.add(0); //打印信息 for(int i = 0;i < list.size();i++){ System.out.PRint(list.get(i));//1314520 } System.out.println("------------------------"); //對List進(jìn)行轉(zhuǎn)換 list.transformValues(new TIntFunction() { @Override public int execute(int i) { //對所有數(shù)字統(tǒng)一乘于3 return i * 2; } }); //打印信息 for(int i = 0;i < list.size();i++){ System.out.print(list.get(i));//26281040 } System.out.println("------------------------"); //默認(rèn)排序,由小到大 list.sort(); //打印信息 for(int i = 0;i < list.size();i++){ System.out.print(list.get(i) + ",");//26281040 } System.out.println("------------------------");}

3.2支持int,int的map

@Testpublic void test(){ //key 和 value 都是 int基本類型 TIntIntMap intMap = new TIntIntHashMap(); intMap.put(1, 3); intMap.put(1, 4); intMap.put(5, 2); intMap.put(0, 0); for(int key:intMap.keys()){ System.out.println(key + " : " + intMap.get(key)); }}

4.Trove的三個(gè)優(yōu)勢

相比jdk原生的集合類有三個(gè)優(yōu)勢:

1、更高的性能 2、更底的內(nèi)存消耗 3、除了實(shí)現(xiàn)原生Collections API并額外提供更強(qiáng)大的功能。

5.Trove集合與傳統(tǒng)集合性能及內(nèi)存對比實(shí)例

下面的代碼引用高手的文章: 獲取java程序運(yùn)行時(shí)內(nèi)存信息

傳統(tǒng)的集合內(nèi)存消耗情況:

@Testpublic void test(){ Runtime run = Runtime.getRuntime(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + (run.totalMemory()-run.freeMemory()) ); run.gc(); System.out.println("開始時(shí)內(nèi)存使用量 -> time: " + (new Date())); long startMem = run.totalMemory() - run.freeMemory(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + startMem ); //key 和 value 都是 Integer Map<Integer,Integer> map = new HashedMap(); for(int i=0;i<50000;i++){ map.put(i, i); } System.out.println("結(jié)束時(shí)內(nèi)存使用量 -> time: " + (new Date())); long endMem = run.totalMemory()-run.freeMemory(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + endMem ); System.out.println("真實(shí)內(nèi)存使用情況 -> memory difference:" + (endMem-startMem));}

打印結(jié)果:

memory> total:126877696 free:110287808 used:16589888開始時(shí)內(nèi)存使用量 -> time: Mon Feb 06 15:07:46 SGT 2017memory> total:126877696 free:123137696 used:3740000結(jié)束時(shí)內(nèi)存使用量 -> time: Mon Feb 06 15:07:46 SGT 2017memory> total:126877696 free:117288400 used:9589296真實(shí)內(nèi)存使用情況 -> memory difference:5849296

Trove內(nèi)存消耗情況:

@Testpublic void test(){ Runtime run = Runtime.getRuntime(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + (run.totalMemory()-run.freeMemory()) ); run.gc(); System.out.println("開始時(shí)內(nèi)存使用量 -> time: " + (new Date())); long startMem = run.totalMemory() - run.freeMemory(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + startMem ); //key 和 value 都是 int基本類型 TIntIntMap intMap = new TIntIntHashMap(); for(int i=0;i<50000;i++){ intMap.put(i, i); } System.out.println("結(jié)束時(shí)內(nèi)存使用量 -> time: " + (new Date())); long endMem = run.totalMemory()-run.freeMemory(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + endMem ); System.out.println("真實(shí)內(nèi)存使用情況 -> memory difference:" + (endMem-startMem));}

打印結(jié)果:

memory> total:126877696 free:109727408 used:17150288開始時(shí)內(nèi)存使用量 -> time: Mon Feb 06 15:04:24 SGT 2017memory> total:126877696 free:123137840 used:3739856結(jié)束時(shí)內(nèi)存使用量 -> time: Mon Feb 06 15:04:24 SGT 2017memory> total:126877696 free:118912704 used:7964992真實(shí)內(nèi)存使用情況 -> memory difference:4225136

傳統(tǒng)的集合占用內(nèi)存是:

真實(shí)內(nèi)存使用情況 -> memory difference:5849296

Trove集合占用內(nèi)存是:

真實(shí)內(nèi)存使用情況 -> memory difference:4225136

6.Trove我們項(xiàng)目的遺憾

Trove集合確實(shí)挺好用,但是我們公司框架并未集成進(jìn)來,只能看著眼饞,不知道公司的架構(gòu)師有沒有特別的用意。

7.Trove集合的性能建議

對于項(xiàng)目性能有潔癖的猿兒們,可以利用Trove集合進(jìn)行性能優(yōu)化

讀書感悟

來自大冰《乖,摸摸頭》

沒人告訴過我,很多人一輩子只能遇見一次,擦肩而過就是杳然一生。沒有什么過不去,只是再也回不去 哭什么哭 乖,摸摸頭。不要那么孤獨(dú),請相信,這個(gè)世界上真的有人在過著你想要的生活 愿你我?guī)е钗⒈〉男欣詈妥钬S盛的自己在時(shí)間流浪。情意這東西,一見如故容易,難得是來日方長的陪伴。人們懶得付出和交流,只熱衷于引領(lǐng)和表達(dá),微博和微信上每天都可以刷出成堆的心靈雞湯人生感悟,無數(shù)人在轉(zhuǎn)發(fā),卻不知有幾人能真正做到知行合一。雖然年輕,但也知道交友不能結(jié)交不三不四的人,所以我的朋友都很二。女人容顏逝去要十年,男人貶值只在一瞬間。會(huì)心疼人的姑娘都是好姑娘。一門心思地浪跡天涯和一門心思地朝九晚五,又有什么區(qū)別呢?真牛B的話,去平衡好工作和旅行的關(guān)系,多元的生活方式永遠(yuǎn)好過狗熊掰棒子。職場女人先是進(jìn)化成男人,接著是鐵人,然后是超人。這個(gè)世界上的大部分傳奇,不過是普普通通的人們將心意化作了行動(dòng)而已。

經(jīng)典故事

【師父問:如果你要燒壺開水,生火到一半時(shí)發(fā)現(xiàn)柴不夠,你該怎么辦?有的弟子說趕快去找,有的說去借,有的說去買。師父說:為什么不把壺里的水倒掉一些呢?世事總不能萬般如意,有舍才有得!】

大神文章

【1】一個(gè)快速、輕量級 Collection 庫 Trove 【2】開源的高性能Java集合:GNU Trove介紹 【3】Java 快速、輕量級 Collection 類的集合GNU Trove 【4】trove4j高性能Java集合庫 【5】性能觀察: Trove 集合類 【6】獲取java程序運(yùn)行時(shí)內(nèi)存信息

其他

如果有帶給你一絲絲小快樂,就讓快樂繼續(xù)傳遞下去,歡迎點(diǎn)贊、頂、歡迎留下寶貴的意見、多謝支持!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 草莓视频久久 | 久久久国产精品电影 | 黄色免费播放网站 | 日本视频在线免费观看 | 黄色电影免费提供 | 欧美999| 久久久久久久久成人 | 中文字幕一区二区三区久久 | 久久精品一级片 | 中文字幕线观看 | 亚洲午夜精品视频 | 麻豆传传媒久久久爱 | 欧洲成人一区 | 最新欧美精品一区二区三区 | 国产1区2区3区中文字幕 | 亚洲第一成人久久网站 | 国产亚洲精品久久久久久久软件 | 一级在线 | 亚洲福利在线免费观看 | 久久精品.com| 国产伦精品一区二区三区 | 欧产日产国产精品乱噜噜 | 圆产精品久久久久久久久久久 | 国产精品久久久久永久免费 | 久草影音 | 色淫影院 | 黄色特级片黄色特级片 | 牛牛碰在线| 久久久久女人精品毛片九一 | 亚洲一区二区中文 | bt 自拍 另类 综合 欧美 | 国产精品一区二区手机在线观看 | 色淫视频 | 在线中文字幕观看 | 亚洲av一级毛片特黄大片 | 亚洲嫩草av | 一级大黄毛片 | 亚洲99| videos真实高潮xxxx | 看片一区 | 九九热九九 |