Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

java memory model

upan edited this page Jun 20, 2016 · 16 revisions

Java 内存模型

栈(Stack)

相关启动参数:

-Xss 每个线程的栈大小

根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。一般小的应用,如果栈不是很深,应该是128k够用,大的应用建议使用256k。这个选项对性能影响比较大。

本地方法栈

方法区(Method Area)

相关启动参数

-XX:PermSize 设置Perm区的初始大小,默认物理内存的1/64 -XX:MaxPermSize 设置Perm区的最大值,物理内存的1/4 -XX:MaxTenuringThreshold 设置对象在新生代中存活的次数,如果设置为0的话,则年清代对象不经过Survivor区,直接进入老年代。对于老年代比较多的应用可以提高效率。如果将此值设置为一个较大值,则年清代对象会在Survivor区进行多次复制,这样可以增加对像在年清代的存活时间,增加在年清代即呗回收的概率

堆(Heap)

相关启动参数

-Xms 设置堆内存初始化大小,默认是物理内存的1/64但是小于1G -Xmx 设置堆内存最大值,默认是物理内存的1/4但小于1G,服务器一般设置 -Xms、-Xmx相等以避免每次GC后调整堆的大小

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /