关于 Java 虚拟机多线程与操作系统多线程的问题
最近开始写 Java 程序,有一些基本概念还不太清楚,比如线程。
以下操作全都在 Linux(2.6 内核)下。
问题一:Java 虚拟机的多线程完全是在虚拟机内部自己实现的,与操作系统的多线程无关?
分析步骤:
在 jdb 里面启动一个简单的 Java 程序,用 threads 命令可以看到 Group System 有 3 个线程,Group main 有 1 个线程。
但是在控制台命令 ps 输出里,只能看到一个线程。
问题二:在一个网络应用程序中,Java 虚拟机中最多开多少个线程(用于网络通讯)是可以接受的(1G 内存),100个?400个?
多谢!
------解决方案--------------------问题一,跟JVM实现有关
问题二,看每个线程的内存占用两而定,这个需要做测试