, ^' B) p+ B! u/ X- [ Java线程通常被映射为实际的操作系统线程,只要底层操作系统支持这种映射。因此,用Java写的应用程序可说是“MP热”。这就是说,如果它们在多处理器机器上运行,它们更将表现不凡。, A+ \) H3 _% p0 N, Z 8、Java是可收集无用的存储单元的 8 S, P' T3 w# k. \$ I7 C % ^. u- R! k7 { 用C及C++写软件的编程人员必须仔细跟踪所用的内存块。当一个块不再使用时,他们务必让程序释放它,从而方可再用。在大的项目中,这可能很困难,并往往成为出错和内存不足的根源。0 S. C8 U9 v& Z
- X/ S' J" p) ]; s# \3 n: v 在Java的情况下,编程人员不必为内存管理操心。Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。" h" \; D& a. ?% b 9、Java是快速的 5 Q) h' X1 g% a. j2 p& p; G# @# Y5 w$ [2 l# g/ T- E
Java比典型的脚本语言大为有效,但它比C慢20倍。这对大多数应用是可接受的。, ~: h$ ]5 g* d1 o
y$ @+ P# \& X
不久的将来,代码生成器就可供利用了,这将使Java程序几近于用C或C++编写的程序那么快。, C% p0 k5 \8 l5 t 10、Java是安全的/ K! s( ^/ r! a. f
' S) P' V1 X' x U; \ Java程序没有指针,而且象这样的字节代码程序强在类型上,所以在执行之前它可能验证Java程序。被验证的Java程序得以保证不突破Java语言的任何**,而且可以安全地执行。Java字节代码验证被Web浏览器用来确保小程序不含病毒。 5 w7 i1 c. L/ e7 [3 }/ Q 11、Java是可扩展的 - D9 I4 ?! V8 v2 [$ j ! w& J0 b) n" e Java程序可与用其它语言编写的现存程序库连接。由于Java数据结构与C的数据结构的类型极为相似,这是相当方便的。最大的问题在于,现有多线程程序库为数不多。 0 S* z; v6 l5 X J) @8 ` 2 a3 m# V9 f0 j0 \- w+ Y Java程序可以声明某些方法是内部的,然后,把这些内部方法映射成软件库所定义的功能,从而动态地链接到虚拟机。