這篇文章將為大家詳細講解有關如何用OpenJDK源碼執行HelloWorld,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
為南華等地區用戶提供了全套網頁設計制作服務,及南華網站建設行業解決方案。主營業務為網站制作、網站設計、南華網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
java中用命令行執行HelloWorld
平時我們在運行java程序時, 一般有兩種選擇, 1是在服務器上直接用java -jar 命令來運行程序, 2是在idea中直接點擊運行/debug,如下圖所示:
那如果某一天,我們脫離了idea, 要用命令行來運行這個呢?
其實idea已經幫我們生成了,如下圖第一行所示
我們從上截取出如下內容,然后復制到命令行中,就可以運行了
/Users/lixiang/soft/jdk-11.0.2.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 -classpath /Users/lixiang/code/tools/tools-java/out/production/classes com.platform.tools.jvm.Main
運行如下圖所示:
在Clion中運行java代碼,主要是前面的java命令,用我們自己編譯的, 然后后面的參數等直接復制就可以了,如下圖所示:
然后點擊運行,就可以在ClionDebug面板中, 看到如下所示我們的java代碼輸出
這里我們要接著昨天的版本號輸出繼續往后講,在java.c
文件508行,可以看到加載main函數所在的類
點進去之后,可以看到. 實際上還是請求的java里面的類,如下圖所示:
1,去找到這個類點進去之后可以看到是這個類sun/launcher/LauncherHelper
2,去找到上面那個類中的checkAndLoadMain
這個方法
3,這個方法有Z(布爾值),I(整數類型),String 類型的入參
4,這個方法的返回值是Class類型
根據這個條件,我們可以在Idea中找到如下方法
然后我們一路跟蹤下去, 可以看到,最終到了ClassLoader.java
中的defineClass1這個native方法,native方法和jdk源碼的對應我們后面再一起學習.
在LoadMainClass()
方法之后, 我們可以看到CreateApplicationArgs
創建應用的參數方法,去尋找Main方法,執行Main方法,如下所示:
關于如何用OpenJDK源碼執行HelloWorld就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
名稱欄目:如何用OpenJDK源碼執行HelloWorld
分享鏈接:http://m.kartarina.com/article34/jecdse.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、電子商務、軟件開發、App設計、網站排名、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯