java程序启动至少启动几个线程?

java程序启动至少启动几个线程?,第1张

每当使用java命铅山令执行一个类时,实际上都会启动一个jvm,每一个JVM实际上就是在 *** 作系统中启动一个进程,java本身具备了垃圾回收机制,槐让中所以每个java运滑衫行时至少会启动两个线程,一个main线程,另外一个是垃圾回收机制。

每当使用java命铅山令执行一个类时,实际上都会启动一个jvm,每一个JVM实际上就是在 *** 作系统中启动一个进程,java本身具备了垃圾回收机制,槐让中所以每个java运滑衫行时至少会启动两个线程,一个main线程,另外一个是垃圾回收机制。

1。java的线程开启,默认洞源的虚拟机会分配1M的内存,但是在4G的windows上线程最多也就开到300多 ,是因为windows本身的一些限制导致。

2。虚拟机给每个线程分配的内存(栈空间)是由虚拟机参数-Xss来指定的正颤侍,在不同平台上对应的默认大小可以 在oracle的官方文档上查询到:

http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman /optionX.html

其中,Linux64位默认Xss值为256K,并非1M或10M

3。一个Java进程可以启动的线程数可以通过如下公式计算:

(系统剩余内存 - 最大堆容量Xmx - 最大方法区容量MaxPermSize)举吵/ 最大栈空间Xss

这样,4G的服务器单个进程可以开多少线程,可以粗略计算出来,大概是5000个线程。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12332370.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存