在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java虛擬機棧動態(tài)擴展是個什么概念?

Java虛擬機棧動態(tài)擴展是個什么概念?

http://blog.csdn.net/xlgen157...

看到有說:如果虛擬機??梢詣討B(tài)擴展(大部分虛擬機允許動態(tài)擴展,也可以設置固定大小的虛擬機棧)

這個動態(tài)擴展是個什么概念?jvm中如何設置?

回答
編輯回答
柒槿年

函數調用需要使用棧,如果函數調用鏈很深(遞歸的時候很常見),棧的空間不夠就會出StackOverflow。

動態(tài)擴展就是在??臻g不夠的時候,自動加大棧的空間,避免StackOverflow,JVM是沒有實現這個功能的。

動態(tài)棧通常有兩種方法:Segmented stack和Stack copying。

Segmented stack可以簡單理解成一個雙向鏈表把多個棧連接起來,一開始只分配一個棧,這個棧的空間不夠時,就再分配一個,用鏈表一個一個連起來。

Stack copying就是在棧不夠的時候,分配一個更大的棧,然后把原來的棧復制過去。

2017年9月23日 08:11