国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Java 8新特性探究(8):精簡的JRE詳解

開發(fā) 后端
詳細(xì)解釋compact profile相關(guān)知識,字面上翻譯是緊湊的配置文件,但我認(rèn)為緊湊的JRE更容易理解,或者精簡的JRE

Oracle公司如期發(fā)布了Java 8正式版!沒有讓廣大javaer失望。對于一個人來說,18歲是人生的轉(zhuǎn)折點(diǎn),從稚嫩走向成熟,法律意味著你是完全民事行為能力人,不再收益于未成年人保護(hù)法,到今年為止,java也走過了18年,java8是一個新的里程碑,帶來了***的諸多特性,lambda表達(dá)式,Stream API,新的Date time api,多核并發(fā)支持,重大安全問題改進(jìn)等,相信java會越來越好,豐富的類庫以及龐大的開源生態(tài)環(huán)境是其他語言所不具備的,說起豐富的類庫,很多同學(xué)就吐槽了,java該減肥了,確實(shí)是該減肥,java8有個很好的特性,即JEP161(http://openjdk.java.net/jeps/161 ),該特性定義了Java SE平臺規(guī)范的一些子集,使java應(yīng)用程序不需要整個JRE平臺即可部署和運(yùn)行在小型設(shè)備上。開發(fā)人員可以基于目標(biāo)硬件的可用資源選擇一個合適的JRE運(yùn)行環(huán)境。

好處

1.更小的Java環(huán)境需要更少的計算資源。

2.一個較小的運(yùn)行時環(huán)境可以更好的優(yōu)化性能和啟動時間。

3.消除未使用的代碼從安全的角度總是好的。

4.這些打包的應(yīng)用程序可以下載速度更快。

概念

緊湊的JRE分3種,分別是compact1、compact2、compact3,他們的關(guān)系是compact1<compact2<compact3,他們包含的API如下圖所示

使用javac根據(jù)profile編譯應(yīng)用程序

javac –bootclasspath, or javac –profile <profile> 

如果不符合compact的api,則報錯。

  1. $ javac -profile compact2 Test.java  
  2. Test.java:7: error: ThreadMXBean is not available in profile 'compact2' 
  3.  ThreadMXBean bean = ManagementFactory.getThreadMXBean();  
  4.  ^  
  5. Test.java:7: error: ManagementFactory is not available in profile 'compact2' 
  6.  ThreadMXBean bean = ManagementFactory.getThreadMXBean();  
  7.                      ^  
  8. 2 errors 

使用工具開發(fā)的效果

JPEDS工具使用

java8新增一個工具,用來分析應(yīng)用程序所依賴的profile,有三個參數(shù)比較常用 -p,-v,-r

  1. import java.util.Set;  
  2. import java.util.HashSet;  
  3.  
  4. public class Deps {  
  5.   public static void main(String[] args) {  
  6.     System.out.println(Math.random());  
  7.     Set<String> set = new HashSet<>();  
  8.   }  
  9. }  
  1. ************** PROFILE ********************  
  2. jdeps -P Deps.class   
  3. Deps.class -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar  
  4.    <unnamed> (Deps.class)  
  5.       -> java.io                                            compact1  
  6.       -> java.lang                                          compact1  
  7.       -> java.util                                          compact1  
  8.  
  9. ************** VERBOSE ********************  
  10. jdeps -v Deps.class   
  11. Deps.class -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar  
  12.    Deps (Deps.class)  
  13.       -> java.io.PrintStream                                  
  14.       -> java.lang.Math                                       
  15.       -> java.lang.Object                                     
  16.       -> java.lang.String                                     
  17.       -> java.lang.System                                     
  18.       -> java.util.HashSet    
  19.  
  20. ************** RECURSIVE ********************  
  21. jdeps -R Deps.class   
  22. Deps.class -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar  
  23.    <unnamed> (Deps.class)  
  24.       -> java.io                                              
  25.       -> java.lang                                            
  26.       -> java.util                                            
  27. /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/jce.jar -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar  
  28.    javax.crypto (jce.jar)  
  29.       -> java.io                                              
  30.       -> java.lang                                            
  31.       -> java.lang.reflect                                    
  32.       -> java.net                                             
  33.       -> java.nio                                             
  34.       -> java.security                                        
  35.       -> java.security.cert                                   
  36.       -> java.security.spec                                   
  37.       -> java.util                                            
  38.       -> java.util.concurrent                                 
  39.       -> java.util.jar                                        
  40.       -> java.util.regex                                      
  41.       -> java.util.zip                                        
  42.       -> javax.security.auth                                  
  43.       -> sun.security.jca                                   JDK internal API (rt.jar)  
  44.       -> sun.security.util                                  JDK internal API (rt.jar)  
  45.       -> sun.security.validator                             JDK internal API (rt.jar)  
  46.    javax.crypto.interfaces (jce.jar)  
  47.       -> java.lang                                            
  48.       -> java.math                                            
  49.       -> java.security                                        
  50.    javax.crypto.spec (jce.jar)  
  51.       -> java.lang                                            
  52.       -> java.math                                            
  53.       -> java.security.spec                                   
  54.       -> java.util                                            
  55. /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/jce.jar  
  56.    java.security (rt.jar)  
  57.       -> javax.crypto                                       JDK internal API (jce.jar)  
  58.    sun.security.util (rt.jar)  
  59.       -> javax.crypto                                       JDK internal API (jce.jar)  
  60.       -> javax.crypto.interfaces                            JDK internal API (jce.jar)  
  61.       -> javax.crypto.spec                                  JDK internal API (jce.jar)  

在linux上構(gòu)建profile

  1. $ hg clone http://hg.openjdk.java.net/jdk8/jdk8/  
  2. $ cd jdk8  
  3. $ make images profiles :   
  4. ## Finished profiles (build time 00:00:27)  
  5. ----- Build times -------  
  6. Start 2013-03-17 14:47:35 
  7. End 2013-03-17 14:58:26 
  8. 00:00:25 corba  
  9. 00:00:15 demos  
  10. 00:01:50 hotspot  
  11. 00:00:24 images  
  12. 00:00:21 jaxp  
  13. 00:00:31 jaxws  
  14. 00:05:37 jdk  
  15. 00:00:43 langtools  
  16. 00:00:18 nashorn  
  17. 00:00:27 profiles  
  18. 00:10:51 TOTAL  
  19. -------------------------  
  20. Finished building Java(TM) for target 'images profiles' 
  21. $ cd images  
  22. $ ls -d *image  
  23. j2re-compact1-image j2re-compact2-image j2re-compact3-image j2re-image j2sdk-image  

編譯后compact大致的占用空間 

總結(jié)

如今,物聯(lián)網(wǎng)正風(fēng)行一時。我們看到大量不同的設(shè)備在市場上出現(xiàn),每一種的更新速度都越來越快。java需要一個占用資源少的JRE運(yùn)行環(huán)境,緊湊的JRE特性的出現(xiàn),希望能帶來以后的物聯(lián)網(wǎng)的發(fā)展,甚至還是會有大量的java應(yīng)用程序出現(xiàn)在物聯(lián)網(wǎng)上面。目前oracle也發(fā)布了針對raspberry pi的JRE了。

另外該特性也是為java9的模塊化項目做準(zhǔn)備,模塊化特性是javaer所期待的特性。他是解決業(yè)務(wù)系統(tǒng)復(fù)雜度的一個利器,當(dāng)然OSGI也是相當(dāng)?shù)某錾5玱sgi對于新學(xué)者來說未免太復(fù)雜了。

原文鏈接:http://my.oschina.net/benhaile/blog/211804

責(zé)任編輯:林師授 來源: oschina
相關(guān)推薦

2014-07-15 14:12:17

Java8

2014-07-15 14:48:26

Java8

2014-07-14 11:34:53

Java 8Nashorn

2014-10-20 13:57:59

JavaFX 8Java 8

2014-04-15 15:45:22

Java8Java8教程

2014-04-15 16:01:00

Java8泛型

2021-02-22 11:51:15

Java開發(fā)代碼

2014-07-15 13:57:53

Java8

2014-04-15 09:53:54

Java8類型注解

2014-05-14 10:02:17

Java 8StampedLock

2014-04-16 07:48:56

Java 8Permgen

2014-07-15 15:01:01

Java8

2023-07-03 08:20:35

MySQL窗口函數(shù)

2014-07-15 13:54:09

Java8

2014-03-25 10:20:37

Java 8新特性

2013-04-09 12:59:21

WindowsPhon

2013-05-02 09:14:19

Java 8Java 8的新特性

2014-05-05 09:58:01

2014-04-16 07:29:02

Java8Java日期

2014-03-19 11:04:14

Java 8Java8特性
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国内精品久久久久久久97牛牛 | 97在线视频免费观看| 中文字幕久久亚洲| 中文字幕无线精品亚洲乱码一区 | av网站手机在线观看| 激情se五月| 青青国产在线| 免费影视亚洲| 自拍偷拍精品| 精品制服美女丁香| 日韩美女精品在线| 精品sm捆绑视频| 欧美日韩爱爱视频| 欧美日韩免费精品| 涩涩在线视频| 国产精品一区免费在线观看| 亚洲一区二区三区激情| 亚洲图色在线| 国产三级伦理在线| 欧美久久久久久久久中文字幕| 97国产在线| 午夜精品久久一牛影视| 国产三级av在线| 欧美日韩免费观看中文| 丝袜视频国产在线播放| 91国偷自产一区二区三区观看| 国产在线电影| 精品国内二区三区| 欧美另类交人妖| 成人高潮a毛片免费观看网站| 色综合导航网站| 国产精品午夜一区二区三区| 亚洲www在线观看| 99在线|亚洲一区二区| 日韩欧美精品一区二区| 国产99久久久国产精品潘金| wwwxxx黄色片| 亚洲综合免费观看高清在线观看| 一本大道香蕉久在线播放29 | 自拍偷拍99| 97se亚洲国产综合自在线观| 成人在线电影网| 精品国产乱码久久久久酒店| 男人在线资源站| 日韩高清a**址| 色妞ww精品视频7777| 国产精品视频资源| 亚洲人metart人体| 一区二区三区欧美成人| 久久久国产一区二区三区四区小说| 亚洲国产精品成人天堂| 最新久久zyz资源站| 国产高清av在线| 亚洲精品资源在线| 欧美成人精品一级| 成人国产亚洲精品a区天堂华泰| 亚洲专区在线| 男女无套免费视频网站动漫| 在线一区二区观看| 精品国模一区二区三区| 国产噜噜噜噜噜久久久久久久久 | 国产精品理论在线观看| 欧美性孕妇孕交| 国产丝袜一区视频在线观看 | 一区二区三区黄色| 亚洲午夜免费| 国产精品播放| 91丨porny丨最新| 91在线品视觉盛宴免费| 日韩在线观看免费高清| 欧美特黄一级| 免费看国产曰批40分钟| 91高清视频免费看| 国语自产精品视频在线看抢先版结局| 国产欧美日韩高清| 懂色av一区二区三区免费观看 | 国产一区二区不卡视频| 91在线精品一区二区三区| 欧美大片aaa| 久久精品久久久久久国产 免费| 国产精品久久占久久| 人妻无码久久一区二区三区免费| 精品久久久久久国产91| 日本黄色播放器| 亚洲免费观看视频| 97久久中文字幕| 一本久道综合色婷婷五月| 亚洲另类xxxx| 婷婷精品在线观看| 久久婷婷综合色| 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | 亚洲丝袜另类动漫二区| 亚洲系列另类av| 亚洲综合网狠久久| 自拍网站在线观看| 超碰中文在线| 一级视频在线免费观看| 美女av电影| 日韩欧美视频一区二区| 在线视频你懂得一区| 麻豆精品视频在线观看视频| 精品日本12videosex| 日本一区二区三区播放| 国产三级日本三级在线播放| 伊人青青综合网站| 一区二区欧美国产| 国产精品原创巨作av| 一本色道久久综合亚洲精品高清| 电影一区电影二区| 丁香色欲久久久久久综合网| 成人在线免费观看一区| 日韩视频在线永久播放| 最新欧美精品一区二区三区| 国产wwwxx| 成人网18免费网站| 日产精品一区| 成人性生活视频免费看| 日产日韩在线亚洲欧美| 欧美色视频日本版| 国产福利91精品一区| 国产一区二区三区四区| 久久99久久久精品欧美| 九七影院理伦片| 成人精品在线视频| 亚洲国产欧美一区二区丝袜黑人 | 超碰在线影院| 青草久久伊人| 三级在线视频观看| 国产精品亚洲不卡a| 欧美精品一卡两卡| 亚洲午夜久久久| 亚洲人成在线播放网站岛国| 久久69精品久久久久久久电影好 | 最近2019好看的中文字幕免费| 韩国三级电影一区二区| caoprom在线| 五月天综合网| 亚洲欧美色婷婷| 成人av综合一区| 日韩成人在线电影| 国产成人精品视频ⅴa片软件竹菊| 久久国产精品亚洲| 中文字幕精品三区| 久久人体视频| 毛片在线不卡| 在线视频欧美一区| 中文字幕亚洲无线码a| 国产亚洲成aⅴ人片在线观看| 日韩人体视频| 蜜桃免费在线| 深田咏美在线x99av| 亚洲天堂网在线观看| 91老师片黄在线观看| 亚洲aaa级| 国产对白叫床清晰在线播放| 亚洲视频在线二区| 久久精品电影一区二区| 亚洲一区二区黄色| 亚洲作爱视频| xxxxx.日韩| 中文字幕在线播放第一页| 日本欧美色综合网站免费| 日韩在线视频播放| 18成人在线视频| 亚洲尤物影院| www.久久久.com| 色视频免费在线观看| 一区二区三区四区免费观看| 午夜免费久久久久| 欧美视频三区在线播放| 国产91对白在线观看九色| 精品久久久久中文字幕小说| 久久www人成免费看片中文| 日韩av手机版| 国产区日韩欧美| 美乳少妇欧美精品| 91国偷自产一区二区使用方法| 久久精品国产77777蜜臀| 97久久综合精品久久久综合| 超碰在线国产| 国产精品久久久久9999爆乳| 国产精品一区二区三区在线播放 | 欧美成人app| 一本到av在线| 精品人妻人人做人人爽| 成人黄色午夜影院| 最近更新的2019中文字幕| 欧美日韩激情小视频| 国产成人av一区| 午夜国产精品视频免费体验区| 欧美韩国亚洲| 国产成人天天5g影院在线观看| 91精品91久久久中77777老牛| 成人黄色片在线| 久久久精品视频在线观看| 一本大道av伊人久久综合| caoporm超碰国产精品| 日韩视频一区| 综合国产视频| 懂色aⅴ精品一区二区三区|