這也就意味著用戶不再需要充分了解他們應用程序系統的內存需求。相反地,他們可以相信JVM內存系統可以根據應用程序的需求調整堆大小??s減和擴展通常由堆的使用情況決定。這一特性的發展同時也需要考慮到其他應用程序的內存需求或者JVMs的運行以及應用程序的權限。假如內存的需求忽然增加,堆尺寸將動態增長。相反,假如內存需求減少,那么JVM可能會考慮減少Java 堆的尺寸。
在一些系統中,應用程序可能會在某些特定的點上處于閑置狀態,對于這樣的系統考慮應用程序的權限是十分有用的。當權限較低的應用程序進入睡眠狀態時,Java 堆可能會暫時收縮,在可能的情況下為權限更高的應用程序提供更多的可用內存。
動態垃圾回收
在運行時,更改垃圾回收機制是另一個已經實現的特性,利用這個特性可以增加BEA WebLogic JRockit內存治理系統的靈活性。某個垃圾回收策略對應用程序運行的某個階段來說是最優的,那么對于另外一個階段可能會有另一個機制是最優的。通過讓JVM決定在每個垃圾回收點上使用哪個垃圾回收機制,可以獲得更好的性能。通過使用這個自動配置垃圾回收器的特性可以實現在運行時動態改變垃圾回收策略,因此理論上不再需要用戶設置啟動選項的標志:
-Xgc: [gencon singlecon parallel]
另一個可以增加垃圾回收動態特性的方法是自動化nursery治理。在某些情況下,某個nursery可能在一個應用程序的整個運行過程中都沒有用到。因此可以在需要時再將一個nuersery置為使能狀態以此進一步提高性能。用戶不再需要理解垃圾回收機制的內部工作原理就可以獲取最優的應用程序性能。
由于這一特性仍處在實驗階段,用戶目前只能通過使用啟動選項標志實現適應性的垃圾回收系統。
-XgcPRio: [throughput pausetime]
新聞熱點
疑難解答