JVM为java开发人员屏蔽了底层的实现细节,使得不用考虑底层操作的差异性,但是如果想和底层交换,还是有办法的,通过JNI.与底层原生代码交互的动机主要有:

1.

从性能的角度出发,因为java语言从运行速度上看,大多数情况是慢于底层操作系统上原生的c和c++语言的

2.

满足特殊的需求,因为有些java平台标准类库并没有暴露出来


3.

需要与c和c++语言开发的程序进行交互