系统对不同语言的程序有不同内存管理机制?

RH的操作系统,启动了20多个JAVA程序,1G的内存只剩40几兆了,把所有JAVA程序KILL掉了,但内存不释放。用C语言写一个死循环的程序,在同一个OS上运行,等到占用了好多内存后把C语言的程序关闭,奇怪的问题发生:系统释放的内存比运行C语言程序前多出好几十倍!
运行C语言前系统只剩40几兆,C程序关闭后系统可用内存成了500多兆,问题何在?

运行Java给Java更多空间,Java是靠垃圾回收机制释放内存的。