Java 中的 Stack 线程是什么?
What are Stack threads in Java?
我在 java buildpack 中看到用于配置“-stackThreads=250”的 App ENV 选项用于 Cloud Foundry 应用程序。这些 stackThreads 是什么以及它到底做了什么。它如何通过更改此值来影响应用程序。有些人可以互换使用“堆栈线程”和“线程堆栈”这两个词。是这样还是不同(虽然我理解线程堆栈的定义)
cf set-env my-application JBP_CONFIG_OPEN_JDK_JRE '{ jre: { version: 11.+ }, memory_calculator: { stack_threads: 25 } }'
-stackThreads
是 Buildpack 内存计算器的参数,而不是 JVM 的参数。它是在估计由于线程堆栈引起的内存使用时将使用的并发线程数。线程堆栈(广义上)是分配给每个线程堆栈的内存量,由 -Xss
选项设置。一般来说,如果线程堆栈更大,或者更多线程 运行.
,整体内存使用量会增加
据我所知,JVM本身没有-stackThreads
选项,所以在运行应用程序时在JVM上设置它是没有效果的。事实上,它可能会被视为命令行中的错误。我认为“堆栈线程”在 Java 中甚至不是一个有意义的术语。
我在 java buildpack 中看到用于配置“-stackThreads=250”的 App ENV 选项用于 Cloud Foundry 应用程序。这些 stackThreads 是什么以及它到底做了什么。它如何通过更改此值来影响应用程序。有些人可以互换使用“堆栈线程”和“线程堆栈”这两个词。是这样还是不同(虽然我理解线程堆栈的定义)
cf set-env my-application JBP_CONFIG_OPEN_JDK_JRE '{ jre: { version: 11.+ }, memory_calculator: { stack_threads: 25 } }'
-stackThreads
是 Buildpack 内存计算器的参数,而不是 JVM 的参数。它是在估计由于线程堆栈引起的内存使用时将使用的并发线程数。线程堆栈(广义上)是分配给每个线程堆栈的内存量,由 -Xss
选项设置。一般来说,如果线程堆栈更大,或者更多线程 运行.
据我所知,JVM本身没有-stackThreads
选项,所以在运行应用程序时在JVM上设置它是没有效果的。事实上,它可能会被视为命令行中的错误。我认为“堆栈线程”在 Java 中甚至不是一个有意义的术语。