這篇文章主要介紹“Java8精簡(jiǎn)的JRE舉例分析”,在日常操作中,相信很多人在Java8精簡(jiǎn)的JRE舉例分析問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Java8精簡(jiǎn)的JRE舉例分析”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
在石峰等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷(xiāo),成都外貿(mào)網(wǎng)站建設(shè)公司,石峰網(wǎng)站建設(shè)費(fèi)用合理。
1.更小的Java環(huán)境需要更少的計(jì)算資源。
2.一個(gè)較小的運(yùn)行時(shí)環(huán)境可以更好的優(yōu)化性能和啟動(dòng)時(shí)間。
3.消除未使用的代碼從安全的角度總是好的。
4.這些打包的應(yīng)用程序可以下載速度更快。
緊湊的JRE分3種,分別是compact1、compact2、compact3,他們的關(guān)系是compact1 javac –bootclasspath, or javac –profile 如果不符合compact的api,則報(bào)錯(cuò)。 ? 1 2 3 4 5 6 7 8 $ javac -profile compact2 Test.java Test.java:7: error: ThreadMXBean is not available in profile 'compact2' ThreadMXBean bean = ManagementFactory.getThreadMXBean(); ^ Test.java:7: error: ManagementFactory is not available in profile 'compact2' ThreadMXBean bean = ManagementFactory.getThreadMXBean(); ^ 2 errors java8新增一個(gè)工具,用來(lái)分析應(yīng)用程序所依賴的profile,有三個(gè)參數(shù)比較常用 -p,-v,-r ? 1 2 3 4 5 6 7 8 9 import java.util.Set; import java.util.HashSet; public class Deps { public static void main(String[] args) { System.out.println(Math.random()); Set } } ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ************** PROFILE ******************** jdeps -P Deps.class Deps.class -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar -> java.io compact1 -> java.lang compact1 -> java.util compact1 ************** VERBOSE ******************** jdeps -v Deps.class Deps.class -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar Deps (Deps.class) -> java.io.PrintStream -> java.lang.Math -> java.lang.Object -> java.lang.String -> java.lang.System -> java.util.HashSet ************** RECURSIVE ******************** jdeps -R Deps.class Deps.class -> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/rt.jar -> java.io -> java.lang -> java.util /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 javax.crypto (jce.jar) -> java.io -> java.lang -> java.lang.reflect -> java.net -> java.nio -> java.security -> java.security.cert -> java.security.spec -> java.util -> java.util.concurrent -> java.util.jar -> java.util.regex -> java.util.zip -> javax.security.auth -> sun.security.jca JDK internal API (rt.jar) -> sun.security.util JDK internal API (rt.jar) -> sun.security.validator JDK internal API (rt.jar) javax.crypto.interfaces (jce.jar) -> java.lang -> java.math -> java.security javax.crypto.spec (jce.jar) -> java.lang -> java.math -> java.security.spec -> java.util /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 java.security (rt.jar) -> javax.crypto JDK internal API (jce.jar) sun.security.util (rt.jar) -> javax.crypto JDK internal API (jce.jar) -> javax.crypto.interfaces JDK internal API (jce.jar) -> javax.crypto.spec JDK internal API (jce.jar) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $ hg clone http://hg.openjdk.java.net/jdk8/jdk8/ $ cd jdk8 $ make images profiles : ## Finished profiles (build time 00:00:27) ----- Build times ------- Start 2013-03-17 14:47:35 End 2013-03-17 14:58:26 00:00:25 corba 00:00:15 demos 00:01:50 hotspot 00:00:24 images 00:00:21 jaxp 00:00:31 jaxws 00:05:37 jdk 00:00:43 langtools 00:00:18 nashorn 00:00:27 profiles 00:10:51 TOTAL ------------------------- Finished building Java(TM) for target 'images profiles' $ cd images $ ls -d *image j2re-compact1-image j2re-compact2-image j2re-compact3-image j2re-image j2sdk-image 到此,關(guān)于“Java8精簡(jiǎn)的JRE舉例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!使用javac根據(jù)profile編譯應(yīng)用程序
使用工具開(kāi)發(fā)的效果
JPEDS工具使用
在linux上構(gòu)建profile
編譯后compact大致的占用空間
新聞名稱:Java8精簡(jiǎn)的JRE舉例分析
標(biāo)題網(wǎng)址:http://weahome.cn/article/goidds.html