java深度历险记-第4话

Java 程式在編譯之後會產生許多的執行單位(.class
檔),當我們執行主要類別時(有 public static void main(String arga[])方法的
那個類別),才由虛擬機器一一載入所有需要的執行單位,變成一個邏輯上為一
體的 Java應用程式。因此接下來,我們將細部討論這整個流程。

當我們在命令列輸入 java xxx.class 的時候,java.exe 根據
過的邏輯找到了JRE(Java Runtime Environment),接著找到位
jvm.dll(真正的 Java虛擬機器),最後載入這個動態聯結函式庫,
擬機器。

虛擬機器一啟動,會先做一些初始化的動作,比方說抓取系統參數等。一旦
初始化動作完成之後,就會產生第一個類別載入器,即所謂的 Bootstrap
Loader,Bootstrap Loader 是由 C++所撰寫而成(所以前面我們說,以 Java
的觀點來看,邏輯上並不存在Bootstrap Loader 的類別實體,所以在 Java程
式碼裡試圖印出其內容的時候,我們會看到的輸出為 null),這個 Bootstrap
Loader所做的初始工作中,除了也做一些基本的初始化動作之外,最重要的就
是載入定義在 sun.misc 命名空間底下的 Launcher.java 之中的
ExtClassLoader( 因為是 inner class ,所以編譯之後會變成
Launcher$ExtClassLoader.class),並設定其Parent 為 null,代表其父載入器
為 Bootstrap Loader。然後 Bootstrap Loader 再要求載入定義於 sun.misc 命
名空間底下的 Launcher.java 之中的 AppClassLoader(因為是 inner class,
所以編譯之後會變成 Launcher$AppClassLoader.class),並設定其 Parent
為之前產生的 ExtClassLoader 實體。這裡要請大家注意的是,
Launcher$ExtClassLoader.class 與 Launcher$AppClassLoader.class 都是
由 Bootstrap Loader 所載入,所以 Parent 和由哪個類別載入器載入沒有關係。


[img]/upload/attachment/108087/66465d46-1a40-3ce7-9a4d-97ffbaa4265f.jpg[/img]


AppClassLoader 在 Sun 官方文件中常常又被稱做系統載入器(System
Loader),但是在本文中為了避免混淆,所以還是稱作 AppClassLoader。最後
一個步驟,是由 AppClassLoader 負責載入我們在命令列之中所輸入的
xxx.class(注意:實際上 xxx.class 很可能由 ExtClassLoader 或 Bootstrap
Loader載入,請參考底下「委派模型」一節),然後開始一個 Java 應用程式的
生命週期。上述整個流程如下圖所示:


[img]/upload/attachment/108097/1da837f2-d029-325e-9a93-3422ab09ecf2.jpg[/img]
基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip 【备注】 1、该资源内项目代码百分百可运行,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值