真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java8精簡(jiǎn)的JRE舉例分析

這篇文章主要介紹“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

Java8精簡(jiǎn)的JRE舉例分析

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

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

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

Java8精簡(jiǎn)的JRE舉例分析

JPEDS工具使用

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 set = new HashSet<>();

  }

}

?

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

    (Deps.class)

      -> 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

    (Deps.class)

      -> 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)

在linux上構(gòu)建profile

?

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

編譯后compact大致的占用空間 

Java8精簡(jiǎn)的JRE舉例分析

到此,關(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í)用的文章!


新聞名稱:Java8精簡(jiǎn)的JRE舉例分析
標(biāo)題網(wǎng)址:http://weahome.cn/article/goidds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部