Re: [問題] API的調用如何和虛擬機溝通

看板java作者 (big bomb)時間18年前 (2007/06/30 04:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/6 (看更多)
※ 引述《hougzou (學無止境,啥時才摔到底?)》之銘言: : ※ 引述《superstition (big bomb)》之銘言: : : 感謝您的回覆 , 更確切的說 , 依照 bytecode 所用的 : : java 指令集中 , 有無類似 x86 的 int 指令來達成 : : 真正所提供的服務 , 我看了 java 的指令集似乎沒有 : : 類似指令 , 所以我想知道 API 到底是透過啥麼動作 : : (如何利用指令集)來告訴 JVM 此 API 所想要的真正服務. : 股溝大神告訴我... : http://www.j2medev.com/Article/Class1/Class11/200703/4317.html : 雖然是KVM,不過應該可以稍為回答你的疑惑。 感謝大大的幫助. 後來可能有點眉目 , 以下是小弟見解: 後來往 JNI 方向查找 , 發現自己寫的 native 方法就是成為和 jvm 作出請求的關鍵 動作 , 於是找了 System.loadlibrary , 不知有無看眼花 , 跟到最後發現在 ClassLoader.java 裡有個 load 方法也有 native 關鍵字 , 我猜想此 load 就是 和 jvm 作出真正請求的動作 , 它也是載入 dll , 至於 native 所宣告的方法在呼叫 有無特別地方 , 反組譯看一下是使用 invokeXXXX 系列的指令和一般呼叫成員方法沒 啥差異 , 我猜想可能有特定訊息在解譯執行 invokeXXXX 時可以呼叫到 native library. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.108.19
文章代碼(AID): #16XMl8gJ (java)
討論串 (同標題文章)
文章代碼(AID): #16XMl8gJ (java)