1. 程式人生 > >JVM的啟動和載入class檔案流程

JVM的啟動和載入class檔案流程

載入主類的class檔案

Java執行方式有兩種:jar方式和class方式。
+ 裝載:查詢和匯入class檔案;

  • 連線:

    (1)檢查:檢查載入的class檔案資料的正確性;

    (2)準備:為類的靜態變數分配儲存空間;

    (3)解析:將符號引用轉換成直接引用(這一步是可選的)

這樣的過程在程式呼叫類的靜態成員的時候開始執行,所以靜態方法main()才會成為一般程式的入口方法。類的構造器也會引發該動作。

執行main方法

對於其他類
JVM的實現要製造在某個型別“第一次”被“主動使用”時被載入的效果。
“主動使用”包括new、對該型別靜態變數的讀寫、對該型別靜態方法的呼叫,還有反射(如Class.forName()或ClassLoader.loadClass())。

JVM啟動後,第一個載入的類一定是Object(Object是Main class的父類)。所以,第一個開啟的jar也一定是rt.jar

相關推薦

JVM啟動載入class檔案流程

載入主類的class檔案 Java執行方式有兩種:jar方式和class方式。 + 裝載:查詢和匯入class檔案; 連線: (1)檢查:檢查載入的class檔案資料的正確性; (2)準備:為類的靜態變數分配儲存空間; (3)解析:將符號引用轉換成

jvm載入class檔案機制j

1、載入類檔案      a、讀取class檔案,從jar包、war包、class檔案、jsp檔案等處都可以。           a.1、採用雙親委派機制載入類,由classLoader和其子類完成,支援自定義

JVM載入class檔案的一些理解

Java是一種動態解釋型語言,類(class)只有被載入到JVM中後才能執行。每當一個Java程式執行時,都會有一個對應的JVM例項,只有當程式執行結束後,這個JVM才會退出。JVM例項通過呼叫類的main()方法來啟動一個Java程式。當執行指定程式時,JVM將編譯生成的.class檔案按照需求和一定的規則

JVM載入class檔案的原理機制

Java語言是一種具有動態性的解釋型語言,類(class)只有被載入到JVM中後才能執行。當執行指定程式時,JVM會將編譯生成的.class檔案按照需求和一定的規則載入到記憶體中,並組織成為一個完整的Java應用程式。這個載入過程是由類載入器來完成的,具體來說,就是由Clas

JVM載入class檔案的原理

原始檔:編寫Java原始檔(我們也稱之為原始碼檔案),它的副檔名為.java; 編譯:然後通過編譯器把原始檔編譯成位元組碼檔案,位元組碼副檔名為.class; 執行:最後使用直譯器來執行位元組碼檔案。 類載入的主要步驟: 當程式要使用某個類時,如果該類還未被載入到記

Java中的基礎----JVM載入class檔案的原理

Java是一種解釋型語言,class檔案只有被載入到JVM中才能執行。當執行指定程式時,JVM會將編譯生成的.class檔案按一定的規則(從硬碟)載入到記憶體中(由類載入器classLoader和它的子類來完成)。 有以下兩種載入方式: 1)隱式載入: 程式使用new等方式

JAVA面試常備題、JVM載入class檔案的原理機制

Java中的所有類,都需要由類載入器裝載到JVM中才能執行。類載入器本身也是一個類,而它的工作就是把class檔案從硬碟讀取到記憶體中。在寫程式的時候,我們幾乎不需要關心類的載入,因為這些都是隱式裝載的,除非我們有特殊的用法,像是反射,就需要顯式的載入所需要的類。 Ja

jvm載入class檔案的原理機制分析

案例分析 A、B類中均包含靜態程式碼塊,非靜態程式碼塊以及構造器,A類是B類的父類。 public class A { static { System.out.print("A中靜態程式碼塊>>>"); }

JVM載入class檔案的原理機制簡單總結

Java中的所有類,必須被裝載到jvm中才能執行,這個裝載工作是由jvm中的類裝載器完成的,類裝載器所做的工作實質是把類檔案從硬碟讀取到記憶體中 java中的類大致分為三種:     1).系統類      2).擴充套件類      3).由程式設計師自定義的類類裝載方式

eclipse中tomcat載入專案啟動時無.class檔案

遇到個問題,專案新增到tomcat之後,tomcat執行發現幾秒就啟動了,且呼叫api介面總是404,服務找不到,排查問題, 1.查詢tomcat服務載入路徑 2.進入tomcat的webapps裡面的專案檢視,發現一個.class檔案都沒有 3.檢視 Buil

JVM載入class檔案的原理機制是什麼?類載入器的工作原理

Java語言是一種具有動態性的解釋型語言,類(class)只有被載入到JVM中後才能執行。當執行指定程式時,JVM會將編譯生成的.class檔案按照需求和一定的規則載入到記憶體中,並組織成為一個完整的Java應用程式。這個載入過程是由類載入器來完成的,具體來說,就是由Cla

描述一下JVM載入class檔案的原理機制?

JVM中類的裝載是由類載入器(ClassLoader)和它的子類來實現的,Java中的類載入器是一個重要的Java執行時系統元件,它負責在執行時查詢和裝入類檔案中的類。    由於Java的跨平臺性,經過編譯的Java源程式並不是一個可執行程式,而是一個或多個類檔案。當J

Java提高篇——JVM載入class檔案的原理機制

  在面試java工程師的時候,這道題經常被問到,故需特別注意。 1、JVM 簡介   JVM 是我們Javaer 的最基本功底了,剛開始學Java 的時候,一般都是從“Hello World ”開始的,然後會寫個複雜點class ,然後再找一些開源框架,比如Spring ,Hibernate 等等,再然

描述一下JVM 載入class檔案的原理機制?

JVM中類的裝載是由ClassLoader和它的子類來實現的,Java ClassLoader 是一個重要的Java執行時系統元件。它負責在執行時查詢和裝入類檔案的類。 當Java編譯器編譯好.class檔案之後,我們需要使用JVM來執行這個class檔案。那

【轉】JVM載入class檔案的原理機制

JVM載入class檔案的原理機制 收藏 1.Java中的所有類,必須被裝載到jvm中才能執行,這個裝載工作是由jvm中的類裝載器完成的, 類裝載器所做的工作實質是把類檔案從硬碟讀取到記憶體中 2.java中的類大致分為三種: 1.系統類 2.擴充套件類

JVM載入Class檔案的原理機制

1.java中的所以類,必須被載入到JVM中才能執行,這個載入是由類載入器完成的,類載入器所做的工作實質上是把類檔案從硬碟讀取到記憶體中 2.java中的類大致分為三種: 1、系統類 2、擴充套件類 3、程式設計師自定義的類 3.類載入的方式,兩種 1、隱式裝載,程式在執行

如何載入Class檔案JVM

如下圖所示,是ClassLoader載入一個class檔案到JVM時需要經過的步驟: 第一階段是找到.class檔案並把這個檔案包含的位元組碼載入到記憶體中。 第二階段又可以分為三個步驟,分別是位元組碼驗證、Class類資料結構分析及相應的記憶體分配和最

21、描述一下JVM載入class檔案的原理機制?

答:JVM中類的裝載是由類載入器(ClassLoader)和它的子類來實現的,Java中的類載入器是一個重要的Java執行時系統元件,它負責在執行時查詢和裝入類檔案中的類。 由於Java的跨平臺性,經過編譯的Java源程式並不是一個可執行程式,而是一個或多個類檔案。當Ja

Java進階——JVM載入class檔案的原理機制

  在面試java工程師的時候,這道題經常被問到,故需特別注意。回到頂部1、JVM 簡介  JVM 是我們Javaer 的最基本功底了,剛開始學Java 的時候,一般都是從“Hello World ”開始的,然後會寫個複雜點class ,然後再找一些開源框架,比如Spring ,Hibernate 等等,再然

JVM系列文章(三):Class檔案內容解析

作為一個程式猿,只知道怎麼用是遠遠不夠的。起碼,你須要知道為什麼能夠這麼用。即我們所謂底層的東西。 那究竟什麼是底層呢?我認為這不能一概而論。以我如今的知識水平而言:對於Web開發人員,TCP/IP、HTTP等等協議可能就是底層;對於C、C++程式猿。記憶體、指標等等可能就