最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java類加載連接和初始化原理解析

 更新時間:2020年03月11日 10:24:12   作者:lkc9  
這篇文章主要介紹了Java類加載連接和初始化原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1、當(dāng)程序使用某個類時,JVM將會完成以下這三個步驟

2、連接

  1)驗證

    驗證是否是合法的字節(jié)碼文件。驗證JDK版本是否正確等。

  2)準備

    給成員變量(類變量/靜態(tài)變量)賦默認值

    把常量(final)等值在方法區(qū)的常量池中給準備好。

  3)解析

    虛擬機常量池內(nèi)的符號引用(常量名)替換為引用(地址)的過程

3、初始化  <clinit> 類初始化

  <clinit> 類初始化由兩部分組成:

 ?。?)靜態(tài)變量的顯示初始化代碼,賦值代碼

 ?。?)靜態(tài)代碼塊

   ?。?) 和 (2) 的順序從上往下

  

  當(dāng)一個類初始化時,發(fā)現(xiàn)他的父類沒有初始化,會先初始化父類。

  每一個類只會初始化一次,并且初始化的過程時線程安全的。

哪些操作會導(dǎo)致類的初始化?這句話的意思是:類的加載不一定就會發(fā)生類初始化。

- 以下操作會發(fā)生類初始化:

  1)main方法所在的類加載時

  2)new一個類的對象時

  3)調(diào)用該類的靜態(tài)變量(final的常量除外) 和 靜態(tài)方法時

  4)使用 java.lang.reflect 包的方法對類進行反射調(diào)用時

  5)當(dāng)初始化一個類,如果其父類沒有被初始化,則先會初始化他的父類

- 以下操起不會發(fā)生類的初始化:

  1)引用靜態(tài)常量不會觸發(fā)此類的初始化(常量在連接階段就存入了方法區(qū)的常量池中)

  2)當(dāng)訪問一個靜態(tài)域時,只有真正聲明這個域的類才會被初始化

    當(dāng)通過子類引用父類的靜態(tài)變量,不會導(dǎo)致子類初始化

  

  3)通過數(shù)組定義類引用,不會觸發(fā)此類的初始化

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot 2.0 整合sharding-jdbc中間件實現(xiàn)數(shù)據(jù)分庫分表

    SpringBoot 2.0 整合sharding-jdbc中間件實現(xiàn)數(shù)據(jù)分庫分表

    這篇文章主要介紹了SpringBoot 2.0 整合sharding-jdbc中間件,實現(xiàn)數(shù)據(jù)分庫分表,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-06-06
  • SpringBoot時區(qū)問題解決以及徹底解決時差問題

    SpringBoot時區(qū)問題解決以及徹底解決時差問題

    這篇文章主要給大家介紹了關(guān)于SpringBoot時區(qū)問題解決以及徹底解決時差問題的相關(guān)資料,spring?boot作為微服務(wù)簡易架構(gòu),擁有其自身的特點,快速搭建架構(gòu),簡單快捷,需要的朋友可以參考下
    2023-08-08
  • Java集合的定義與Collection類使用詳解

    Java集合的定義與Collection類使用詳解

    這篇文章主要介紹了Java集合的定義及Collection工具類使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-11-11
  • 揭秘SpringBoot!一分鐘教你實現(xiàn)配置的動態(tài)神刷新

    揭秘SpringBoot!一分鐘教你實現(xiàn)配置的動態(tài)神刷新

    在今天的指南中,我們將深入探索SpringBoot?動態(tài)刷新的強大功能,讓你的應(yīng)用保持最新鮮的狀態(tài),想象一下,無需重啟,你的應(yīng)用就能實時更新配置,是不是很酷?跟我一起,讓我們揭開這項技術(shù)如何讓開發(fā)變得更加靈活和高效的秘密吧!
    2024-03-03
  • mybatis中使用大于小于等于的正確方法

    mybatis中使用大于小于等于的正確方法

    在mybatis中sql是寫在xml映射文件中的,如果sql中有一些特殊字符的話,在解析xml文件的時候就會被轉(zhuǎn)義,下面我們就一起來看一下大于小于等于是怎么轉(zhuǎn)義的
    2021-04-04
  • 配置hadoop環(huán)境mapreduce連接不上hdfs解決

    配置hadoop環(huán)境mapreduce連接不上hdfs解決

    這篇文章主要為大家介紹了配置hadoop環(huán)境mapreduce連接不上hdfs解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Java Durid進行JDBC連接詳解

    Java Durid進行JDBC連接詳解

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章簡單使用Durid進行JDBC連接,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-09-09
  • 詳解Java的Hibernate框架中的List映射表與Bag映射

    詳解Java的Hibernate框架中的List映射表與Bag映射

    這篇文章主要介紹了Java的Hibernate框架中的List映射表與Bag映射,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • Java基礎(chǔ) Servlet監(jiān)聽器詳解

    Java基礎(chǔ) Servlet監(jiān)聽器詳解

    這篇文章主要介紹了Java基礎(chǔ) Servlet監(jiān)聽器詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Java使用遞歸復(fù)制文件夾及文件夾

    Java使用遞歸復(fù)制文件夾及文件夾

    這篇文章主要介紹了Java使用遞歸復(fù)制文件夾及文件夾,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05

最新評論

海门市| 开封县| 泾川县| 饶阳县| 德惠市| 通化县| 辽阳市| 万载县| 临夏县| 蒲城县| 梁平县| 武夷山市| 金门县| 南昌市| 根河市| 开阳县| 威远县| 长垣县| 枝江市| 罗江县| 特克斯县| 襄城县| 岑巩县| 崇礼县| 望谟县| 黑龙江省| 苍南县| 阳东县| 双辽市| 东丰县| 株洲市| 五指山市| 栖霞市| 瓦房店市| 万山特区| 化德县| 金坛市| 北安市| 玉林市| 沂南县| 五华县|