1. 程式人生 > 其它 >JVM----本地方法棧

JVM----本地方法棧

 

/**
     *  【執行時資料區-本地方法棧】
     *      <本地方法介面>
     *          why
     *              有些層次用Java實現起來不容易(或對程式的效率很在意);
     *              與Java外環境互動:
     *                  有時候Java應用需要與Java外的環境互動;
     *                      eg:與OS、硬體...
     *              JVM依賴於底層系統的支援:
     *                  eg:OS...
     *          what
     *              native方法;
     *              Java呼叫非Java的介面;
     *              由非Java語言實現,比如C;
     *              很多其他的程式語言也有這個機制,比如C++中,使用extern C 告知C++編譯器 去呼叫一個C的函式;
     *          目的
     *              融合不同的程式語言為Java所用,初衷是融合C/C++程式;
     *          宣告
     *              除abstract外,其他識別符號都可一起使用;
     *
     *      <本地方法棧>
     *          what
     *              管理native方法的呼叫;
     *              執行緒私有;
     *
     *          本地方法棧記憶體大小
     *              固定大小
     *                  若申請的容量大於固定容量,丟擲StackOverflowError;
     *              動態擴充套件
     *                  若無法申請足夠的記憶體,丟擲OutOfMemoryError;
     *
     *          當某個執行緒呼叫一個native方法時,將進入一個全新的且不受JVM限制的世界;
     *
     *          並不是所有的JVM都支援本地方法;
     *
     */