java 类 加载 初始化_java类的加载与初始化
https://blog.csdn.net/u013349237/article/details/71076617
1在命令行啟動(dòng)虛擬機(jī)jvm進(jìn)行加載,
2用class.forname()方法進(jìn)行動(dòng)態(tài)加載;
3用ClassLoader.loadClass()進(jìn)行動(dòng)態(tài)加載;
區(qū)別:用二方法加載時(shí),還會(huì)對(duì)類進(jìn)行解釋,執(zhí)行其中的static語(yǔ)句塊;
用三方法時(shí)候,static語(yǔ)句塊不會(huì)被執(zhí)行,只有在類創(chuàng)建對(duì)象的時(shí)候才會(huì)加static語(yǔ)句塊;
注意:class.forname(name,initialize,loader)也可以自己定義是否加載static,并且是調(diào)用了NewInstance()方法
采用構(gòu)造函數(shù)創(chuàng)建對(duì)象的時(shí)候才可以;
初始化:只有在使用時(shí)類才會(huì)被初始化。
1 初始化,也就是new時(shí)候會(huì)初始化類
2 訪問(wèn)類或者接口中的靜態(tài)變量或者對(duì)其賦值
3 調(diào)用類的靜態(tài)方法
4 反射(Class.forName("com.geminno");)
5 初始化它的子類,父類也會(huì)初始化
6 虛擬機(jī)啟動(dòng)時(shí)被標(biāo)明是啟動(dòng)類的類(java Test),直接用java.exe運(yùn)行某個(gè)類;
程序執(zhí)行結(jié)束的幾種方式:
1 system.exit();
2 正常執(zhí)行完畢;
3程序運(yùn)行錯(cuò)誤,報(bào)錯(cuò)
4系統(tǒng)出現(xiàn)問(wèn)題,虛擬機(jī)停止運(yùn)行;
---------------------
作者:lijian159148528
來(lái)源:CSDN
原文:https://blog.csdn.net/lijian159148528/article/details/79717143
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
總結(jié)
以上是生活随笔為你收集整理的java 类 加载 初始化_java类的加载与初始化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python小游戏之二
- 下一篇: seo全攻略_SaaS 企业推广获客全攻