其他分享
首页 > 其他分享> > 第六章 - 本地方法接口

第六章 - 本地方法接口

作者:互联网

 走选择的路,别只选好走的路

1.本地方法

2.native方法举例

Object类的getClass( )方法
public final native Class<?> getClass();
Thread类的start( )方法
public synchronized void start() {
       /**
        * This method is not invoked for the main method thread or "system"
        * group threads created/set up by the VM. Any new functionality added
        * to this method in the future may have to also be added to the VM.
        *
        * A zero status value corresponds to state "NEW".
        */
       if (threadStatus != 0)
           throw new IllegalThreadStateException();

       /* Notify the group that this thread is about to be started
        * so that it can be added to the group's list of threads
        * and the group's unstarted count can be decremented. */
       group.add(this);

       boolean started = false;
       try {
           start0();
           started = true;
      } finally {
           try {
               if (!started) {
                   group.threadStartFailed(this);
              }
          } catch (Throwable ignore) {
               /* do nothing. If start0 threw a Throwable then
                 it will be passed up the call stack */
          }
      }
  }

   private native void start0();
自定义Native方法
public class IHaveNatives {
   public native void Native1(int x);

   public native static long Native2();

   private native synchronized float Native3(Object o);

   native void Native4(int[] ary) throws Exception;
   
}

注意:标识符native可以与其他java标识符连用,但是不能与abstract连用。

3.为什么要使用Native Method

Java使用起来非常方便,然而有些层次的任务用Java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。

本地方法的现状

目前该方法使用的越来越少了,除非是与硬件有关的应用,比如通过Java程序驱动打印机或者Java系统管理生产设备,在企业级应用中已经比较少见。因为现在的异构领域间的通信很发达,比如可以使用Socket通信,也可以使用Web Service等等,不多做介绍。

 

标签:Java,接口,本地,第六章,group,方法,method,native
来源: https://www.cnblogs.com/l12138h/p/16586936.html