Problems with Native Methods
Native methods seem to offer great promise, because they enable you to gain access. to your existing base of library routine's, and they offer the possibility of faster run-time execution. But native methods also introduce two significant problems: II Potential security risk Because a native method executes actual machine code, it can gain access to many part of the host system. That is, native code is not confined to the java execution environment. This could allow a virus infection, for example. For this reason, applets cannot use native methods. Also, the loading of DLLs can be restricted,' and their loading is subject to the approval of . the security manager. . m Loss of portability Because the native code is contained in a DLL, it must be present on the machine that is executing .the Java program. Further, because each native method is CPU- and operating-system-dependent, each I?LL is inherently non portable. Thus, a Java application that uses native methods will be able to run only on n machine for which a compatible DLL has been installed. The use of native methods should be restricted, because they render 'your Java programs non portable and pose significant security risks.