日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - Static 標識的字段或者是代碼塊,真的是在類加載的時候初始化的嗎?

瀏覽:190日期:2024-01-13 18:47:13

問題描述

class AAA { static {System.out.println('class AAA static block println'); // 并沒有打印此句 }}public class Main { public static void main(String[] args) {System.out.println('hello world!'); }}

一直以來都以為 static 標識的代碼塊或者是字段,都是在類加載的時候就被執行或者賦值了,但是這么一看....感覺自己的世界觀都要被刷新了。

所以此處是類沒有被加載嗎?還是說我們一直以來認為的,靜態代碼塊、字段都在類加載的時候被初始化的,這個觀點是錯誤的?

在《深入理解Java虛擬機:JVM高級特性與最佳實踐 第2版》中找到一些線索,如下圖:java - Static 標識的字段或者是代碼塊,真的是在類加載的時候初始化的嗎?

所以,照這么說,是在第一次主動訪問該類的時候執行?小弟好生迷惑啊....大家快說說你們的觀點

問題解答

回答1:

類初始化和對象初始化。

static包含的代碼塊和變量只有在類初始化的時候才執行,而初始化的五種條件你也知道啦。

補充說明清楚吧。首先,你即使放在同一個.java文件中,編譯后,這還是兩個不同的class文件,不信你看看bin對應的包下面生成的.class文件。第二,類初始化的時候,就會初始化類的靜態變量和運行靜態代碼塊。所以,虛擬機規定了五種初始化的條件,比如使用了new,getstatic,putstatic指令,main函數所在的類,反射,父類等情況。而,除開這五種情況,是不能觸發類的初始化的。正如你代碼中所示Main.class中,并沒有任何關于AAA.class的調用或者父子關系或者反射。所以,AAA.class自然不會初始化。

可以看看的另一篇博客java類的加載過程

明白了嗎?

回答2:

-XX:+TraceClassLoading加上這個會發現沒加載AAA

回答3:

這里有兩個概念需要擼一下:

類加載機制

Java、編譯器、字節碼、JVM的規范和實現。

類的加載是通過類加載器(Classloader)完成的,加載的具體策略依賴JVM的具體實現,總的來說可以分兩種:

饑餓式加載,只要被其他類引用到了就加載。

懶惰式加載,當類被訪問的時候才加載。

Java、編譯器、字節碼、JVM有各自的規范,彼此通過規范協同工作:

編譯按把Java代碼編譯成規范的字節碼文件,每一個類(外部類、內部類、匿名類)都會被編譯成一個單獨的字節碼文件(class文件),JVM加載類的時候就是從這些class文件中一個個的加載。

現在回到你的代碼:

在Java層,你把AAA、Main兩個類放在一個文件中,編譯器編譯后生成兩個class文件:AAA.class、Main.class。兩個類在代碼組織形式上是一起的,但是編譯后卻是獨立的,并且Main并沒有引用AAA,所以無論是哪種類加載方式都不會觸發對類AAA的加載,也就不會執行AAA中的靜態代碼塊。

回答4:

真心感謝樓上熱心網友們的解答!

驗證

AAA 類確實沒有被加載,只有 Main 類被加載(題干截圖:初始化條件第四條,主類被 jvm 自動加載)

java -XX:+TraceClassLoading Main結論

類中 靜態字段|代碼塊 真的是在類加載的時候被初始化或者是執行的!

延伸怎么知道類有沒有被 jvm 所加載?

這也是我一直糾結的問題,一開始以為只要執行了 javac 命令,類就被 jvm 加載了,其實不然,該命令只是將 .java 文件轉化成 jvm 能讀懂的 .class 文件而已。

那么到底怎么知道類有沒有被 jvm 所加載?據 《深入理解Java虛擬機:JVM高級特性與最佳實踐 第2版》 和廣大網友的熱心解答可知,并沒有明確的時機規定了啥時候會被加載!

但是!jvm 明確規定了類被初始化的時機-就是題干上截圖部分那四種!而類的加載是優先于類初始化的,所以這里,我們暫且可以認為這幾種情況就是觸發類加載的條件。

小弟愚昧,總結不妥之處,還麻煩大家指正!感謝

回答5:

把你的Main.java和AAA.java放在同一個文件夾里,

在main函數里寫

Class.forName('AAA');

執行

回答6:

執行main方法時,只會加載Main類,Main類中并沒有使用到AAA類,并不會去加載AAA類,并不是說把AAA和Main兩個類寫到同一個文件就會同時加載

回答7:

AAA這個類既沒有在其他地方new,也沒有對應的去獲取或者設置靜態的字段,也沒有去invoke靜態方法。所以不會自動初始化的。

回答8:

放在兩個類里面了,聲明為public的類中的mian開始執行,那個類沒被用到自然不會被加載更別提初始化

標簽: java
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线精品一区二区| 国产麻豆综合| 国产精品夜夜夜| 久热精品在线| 三级亚洲高清视频| 免费在线观看一区二区三区| 国产精品成人一区二区不卡| 综合国产精品| 欧美一级专区| 日本不卡高清| 久久激情五月婷婷| 欧美日韩一区二区国产 | 国产麻豆一区二区三区| 日本在线观看不卡视频| 国产精品一区二区三区美女| 国产激情精品一区二区三区| 精品九九久久| аⅴ资源天堂资源库在线| 国产精品麻豆久久| 日韩欧美另类一区二区| 91精品亚洲| 国产高清久久| 日韩制服丝袜av| 亚洲专区视频| 国产免费av一区二区三区| 久久99高清| 日韩精品一区二区三区免费观看| 欧美精选一区二区三区| 日韩精品视频网| 久久影视一区| 国产精品久久久久9999高清| 老司机免费视频一区二区三区| 电影亚洲精品噜噜在线观看 | 日韩伦理一区| 日本综合视频| 亚洲综合在线电影| 免费人成黄页网站在线一区二区| 国产精品白丝久久av网站| 欧美日韩国产综合网| 国产精品黄色片| 免费欧美一区| 风间由美中文字幕在线看视频国产欧美| 五月精品视频| 麻豆成人91精品二区三区| 欧美.日韩.国产.一区.二区| 国产精品久久久久77777丨| 香蕉视频成人在线观看| 五月天av在线| 国产人成精品一区二区三| 亚洲先锋成人| 精品视频在线你懂得| 日韩av网站在线免费观看| 日韩欧美精品| 欧美一区二区三区免费看| 国产视频一区免费看| 91成人超碰| 久久久久91| 黑人精品一区| 久草精品视频| 久久精品九色| 精品视频网站| 欧美国产极品| 国产剧情在线观看一区| 日韩精品午夜视频| 一区二区日韩免费看| 亚洲免费成人| 蜜臀久久久久久久| 无码日韩精品一区二区免费| 亚洲自拍另类| 欧美日韩国产一区二区三区不卡 | 一区二区三区视频免费观看 | 亚洲激情欧美| 亚洲一本视频| 欧美精品一卡| 久久先锋影音| 日韩黄色av| 久久亚洲黄色| 欧洲av不卡| 丝袜美腿成人在线| 欧美午夜三级| 成人免费电影网址| 欧美日韩国产高清电影| 亚洲一区二区三区四区电影| 日韩不卡一区二区| 日本一区二区高清不卡| 日韩精品一区二区三区免费观看| 免费观看久久av| 国产亚洲精品v| 日韩激情中文字幕| 日韩和的一区二在线| 国产亚洲永久域名| 国产精品色婷婷在线观看| 国产精品二区不卡| 夜久久久久久| 国产欧美日韩一级| 亚洲成人国产| 国产精品一区免费在线| 伊人精品在线| jizzjizz中国精品麻豆| 久久午夜精品| 成人午夜精品| 日本免费新一区视频| 久久中文精品| 夜夜精品视频| bbw在线视频| 欧美一区自拍| 久久国产电影| 国产高清视频一区二区| 精品一区毛片| 欧美黄页在线免费观看| 婷婷成人av| 国产一区亚洲| 国产精品久久久久毛片大屁完整版 | 四虎成人精品一区二区免费网站| 国产精品99久久精品| 亚洲精品激情| 激情综合激情| 日韩啪啪电影网| 精品国产美女a久久9999| 日韩精品91亚洲二区在线观看| 国产视频久久| 午夜欧美理论片| 欧美成人高清| 99成人在线| 黄色av一区| 99日韩精品| 日韩午夜av| 亚洲尤物在线| 久久成人精品| 在线观看一区| 巨乳诱惑日韩免费av| 久久亚洲风情| 免费人成网站在线观看欧美高清| 国产综合精品| 国产精品视区| 亚洲日本在线观看视频| 青青草伊人久久| 国产精品18| 精品国产亚洲一区二区三区大结局 | 日韩av午夜在线观看| 91精品麻豆| 精品91福利视频| 亚洲黄色免费看| 女同性一区二区三区人了人一 | 国产中文字幕一区二区三区| 日韩在线第七页| 在线日韩视频| 日本不卡在线视频| 国内揄拍国内精品久久| 在线视频观看日韩| 亚洲精品成人一区| 美女精品视频在线| 午夜欧美精品久久久久久久| 午夜精品影视国产一区在线麻豆| 九九九精品视频| 黑丝一区二区三区| 中文字幕亚洲在线观看| 久久精品女人| 亚洲性视频在线| 国产精品久久久久久久久久10秀 | 水蜜桃久久夜色精品一区| 好看的亚洲午夜视频在线| 国产精品毛片久久久| 亚洲电影在线一区二区三区| 国产欧美激情| 丝袜美腿高跟呻吟高潮一区| 中文字幕在线视频网站| 综合国产精品| 精品国产a一区二区三区v免费| 国产一区日韩一区| 麻豆精品蜜桃视频网站| 伊人久久亚洲| 欧美亚洲国产激情| 国产精品久久久久久久久妇女| 日韩亚洲精品在线观看| 久久九九国产| 大香伊人久久精品一区二区| 亚洲国产一区二区三区在线播放 | 你懂的国产精品| 午夜电影一区| 红桃视频国产一区| 日韩精品dvd| 久久不卡日韩美女| 亚洲精品自拍| 亚洲精品四区| 亚洲一卡久久| 亚洲欧洲一区| 最新日韩av| 99国产精品99久久久久久粉嫩| 精品捆绑调教一区二区三区| 国产成人精品一区二区三区在线| 国产欧美一区二区三区国产幕精品| 亚洲精品日本| 天堂精品久久久久| 丝袜国产日韩另类美女| 99tv成人| 久久国产成人午夜av影院宅| 久久一级电影| 水蜜桃久久夜色精品一区的特点| 男人的天堂久久精品|