Java 什么是<;初始化>;和(本地方法)是什么意思?
符号表示什么?对于Java 什么是<;初始化>;和(本地方法)是什么意思?,java,methods,native,init,filenotfoundexception,Java,Methods,Native,Init,Filenotfoundexception,符号表示什么?对于java.io.FileStream.open方法,(本机方法)表示什么 Exception in thread "main" java.io.FileNotFoundException: line23 (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:135
java.io.FileStream.open
方法,(本机方法)表示什么
Exception in thread "main" java.io.FileNotFoundException: line23 (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:135)
at java.io.FileInputStream.<init>(FileInputStream.java:95)
at java.io.FileReader.<init>(FileReader.java:64) at Helper.readFile(Foo5.java:74)
at Bar2.main(Bar2.java:32)
线程“main”java.io.FileNotFoundException中的异常:line23(无此类文件或目录)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:135)
位于java.io.FileInputStream。(FileInputStream.java:95)
在java.io.FileReader.(FileReader.java:64)在Helper.readFile(Foo5.java:74)上
位于Bar2.main(Bar2.java:32)
当您在stacktrace中看到
<强>本方法意味着该方法不是在java中实现的,而是在C++或C++中的另一种低级语言中实现的。在这种情况下,
open()
是一种需要低级函数的方法,不同操作系统的函数不同。本机方法是在JVM
(Java虚拟机)中实现的。Java开发人员不必担心它们的实现,因为它们与虚拟机的内部工作相关
在这里
java.io.FileStream.open()
发出一个操作 如果打开类的源代码
java.io.FileStream
你可以看到这个方法
私有本机void open(字符串名)抛出FileNotFoundException
它没有身体
该方法在“本机”代码中实现。也就是说,不在JVM中运行的代码。它通常用C或C++编写。
本机方法通常用于与用其他编程语言编写的系统调用或库进行接口
要获得本机方法的源代码,您可能必须使用一些开源JDk,如OpenJDK