java对硬件的支持
Java技术的一个优点在于其拥有一个独立的开发环境Java虚拟机(JVM)。也因为这个原因能够跨平台运行同一Java程序成为Java的最大特色,Java也一直以这种平台无关性自豪,但是这也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。例如当Java打算访问底层硬件信息(如:硬盘序列号,mac地址,cpu序列号,bios序列号,硬盘名等)时Java就束手无策了,而利用纯Java技术直接访问USB设备等更是诸多Java工作者的难题。
由于Java 编程语言在设计上对硬件访问提供的支持很少,所以如今在Java的开发过程中需要与底层硬件、外设等交换信息的时候,一般会通过JNI调用C、C++甚至汇编语言来实现。这样不仅可以省却很多利用纯Java语言进行编写时的繁琐,也在一定程度上提高了程序的执行速度。http://blog.sina.com.cn/s/blog_5d3fb3cc0100duyg.html