代码之家  ›  专栏  ›  技术社区  ›  toluju

调用内置Java原生方法

  •  1
  • toluju  · 技术社区  · 16 年前

    是否可以调用JVM的内置本机代码,即java.lang和java.io中不同类调用的代码?换句话说,你能绕过内置的Java API来访问各种系统级的调用,比如文件系统访问吗?我知道我可以通过构建自己的本机代码库并通过JNI调用它来实现这一点,但是对于已经构建到JVM中的功能,不需要额外的本机库是很好的。

    3 回复  |  直到 16 年前
        1
  •  6
  •   Jason Cohen    16 年前

    不,你不能。它是故意设计的;如果可以的话,你可以重写API合同。

    在任何情况下,标准库包装代码都是 非常 轻微的,使用JIT编译器,您不应该注意到任何速度影响。

    而且, 实施 这些方法不是API规范的一部分。对于Java的一个实现来说,“原生”什么不必是另一个。

        2
  •  0
  •   Tom Hawtin - tackline    16 年前

    当然,如果代码是可信的,您可以使用反射来调用方法。然而,非公共API很容易在更新和实现之间发生变化,所以几乎没有意义,绝对不优雅。

        3
  •  -1
  •   Gandalf    16 年前

    如果需要本机IO,请使用NIO类。

    推荐文章