Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javac是否删除代码中未引用的方法?_Java_Javac - Fatal编程技术网

javac是否删除代码中未引用的方法?

javac是否删除代码中未引用的方法?,java,javac,Java,Javac,我有一个代码库,有些方法从未使用过。 javac是否从类文件中删除了未使用的方法?否,它没有。要验证这一点,可以运行 javap -c foo.bar.MyClass 看看所有的代码。您还可以通过反射来访问它(假设您以适当的权限运行)。Q:我想知道我是否有代码库,并且一些方法从未使用过。javac是否从类文件中删除了未使用的方法 答:没有。进入课堂的内容会保留在课堂文件中 。。。然而 JVM只将需要的内容加载到内存中。RAM不会“浪费”在未使用的类上。不,不会,也不能。 想想如果编译器在编译库

我有一个代码库,有些方法从未使用过。
javac
是否从类文件中删除了未使用的方法?

否,它没有。要验证这一点,可以运行

javap -c foo.bar.MyClass

看看所有的代码。您还可以通过反射来访问它(假设您以适当的权限运行)。

Q:我想知道我是否有代码库,并且一些方法从未使用过。javac是否从类文件中删除了未使用的方法

答:没有。进入课堂的内容会保留在课堂文件中

。。。然而


JVM只将需要的内容加载到内存中。RAM不会“浪费”在未使用的类上。

不,不会,也不能。 想想如果编译器在编译库时这样做会发生什么。库希望为用户导出但不使用自身的所有方法都将被删除。
Java中没有办法区分库和代码。

如果方法是
public
,我希望不是。@larsmans:为什么它对
public
特别?是因为其他代码可能正在使用它们吗?你能详细说明一下吗?