繁体   English   中英

Java和多核

[英]Java and multiple cores

我读过某个地方的文章,每个内核应该有一个JVM。 我还读到Java在多核或CPU方面不好,因此首选scala。

最近在一个链接上,我读到多个线程确实在不同的内核中执行(如果有)。

问题:

  1. JVM是否考虑多个内核/ CPU,并在可用的情况下在单独的内核中执行每个线程?
  2. 为了更好地使用内核而使用scala的方式与仅在单独的内核中执行有所不同吗?
  3. 如果JVM在单独的内核(如果有)中执行每个线程,那么每个内核一个JVM的含义是什么,使用一个JVM我就可以利用所有内核。
  4. 如果对1的回答为“是”,那么在同一台计算机上运行的多个服务器实例中部署war / ear的用途是什么。
  1. 是。 实际上,如今,所有JVM都使用本机线程。 因此,跨内核的线程调度和分配是由操作系统而不是由JVM完成的。

  2. Scala和Java一样在JVM上执行。 因此,线程在Java和Scala之间如何使用内核没有区别

  3. 每个内核没有理由只有一个JVM。 您可能希望避免每个JVM使用太多内存,或者能够在不中断服务的情况下将版本1转换为版本2,但这是另一回事。

  4. 没有理由与多线程问题相关。 正如我所说,您可能希望拥有两个JVM,以便能够在不中断任何服务的情况下关闭一个JVM,或者为不同的客户隔离同一应用程序的两个版本。 但这与多线程无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM