Why do so many Java processes run when a Java program runs?

Nathan Meyers

In Linux, every thread gets its own process ID. So when you run tools like ps or top while using Java, you see a separate entry for each thread - even though you are only running one program.

One clue that these are all threads of the same program is the memory size - it is identical for all the threads because they are all using the same memory.