如果我打开用Javac生成debugging信息,那么类文件大20-25%。 这对运行Java程序有什么性能影响? 如果是,在哪些条件和多less。 我期望对加载类有一些影响,因为文件较大,但这应该是最小的。
我需要使用ant(1.7.0)编译一个jar文件,以在特定版本的Java(1.5)下运行。 我目前在我的机器上有Java 1.6。 我试过设置: <target name="compile"> <javac compiler="javac1.5" target="1.5" srcdir=…/> </target> 我也删除了 <property name="build.compiler" value="modern"/> 并没有属性文件。 我正在Linux / SUSE上运行Java 1.6 还有一个简单的方法来确定在jar文件中预期哪个版本的Java。
这是有效的Java? import java.util.Arrays; import java.util.List; class TestWillThatCompile { public static String f(List<String> list) { System.out.println("strings"); return null; } public static Integer f(List<Integer> list) { System.out.println("numbers"); return null; } public static void main(String[] args) { f(Arrays.asList("asdf")); f(Arrays.asList(123)); } } Eclipse 3.5说是的 Eclipse 3.6说不 Intellij 9说是的 Sun的javac 1.6.0_20说是的 GCJ 4.4.3说是的 GWT编译器说是的 人群在我以前的Stackoverflow问题说不 我的Java理论理解说不! 了解JLS对此的看法是很有意思的。
用例很简单。 我得到了使用Eclipse创build的源文件。 所以,有一个深层的目录结构,其中任何Java类可以引用同一个,子,兄弟或父文件夹中的另一个Java类。 我如何从terminal使用javac编译这整个事情?
当我尝试生成一个战争文件,它显示了一些错误 [ERROR] Unable to locate the Javac Compiler in: [ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar 当我做echo %path%显示 C:\Windows\System32;D:\name\name1\Softwares\Maven\apache-maven-3.0.4\b in;C:\Program Files\Notepad++\;%JDK_HOME% 当我做echo %JDK_HOME% D:\name\name\core java\software\Java\Java_1.6.0_04_win\jdk1.6.0_04\bin 我不知道为什么maven是指jre,当我的环境variables是jdk。 我也改变安装JRE到jdk1.6。
我试图将以下内容添加到根build.gradle文件中: subprojects { gradle.projectsEvaluated { tasks.withType(Compile) { options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation" } } } 但是我得到这个: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'. > invalid flag: -Xlint:unchecked -Xlint:deprecation 我究竟做错了什么?
当使用相同的JDK (即相同的javac可执行文件)时,生成的类文件是否始终相同? 根据操作系统或硬件的不同,有没有区别? 除JDK版本外,是否还有其他因素会导致差异? 是否有任何编译器选项可以避免差异? 在理论上只是可能有区别,或者Oracle的javac实际上为相同的input和编译器选项生成不同的类文件? 更新1我感兴趣的一代 ,即编译器输出,而不是一个类文件是否可以在各种平台上运行 。 更新2 “相同的JDK”,我也是指相同的javac可执行文件。 更新3 Oracle编译器理论差异与实际差异的区别。 [编辑,添加解释的问题] “在不同的平台上运行相同的javac可执行文件会产生不同的字节码的情况是怎样的?
我使用yum install java命令在CentOS 5.5版机器上yum install java 。 但我无法使用javac编译一个类。 我是否需要安装其他软件包? 我试图findjavac可执行文件,但我无法find它。 /usr/bin/java链接如下: /usr/bin/java – > /etc/alternatives/java /etc/alternatives/java – > /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java 我已经看到yum list installed |grep java了yum list installed |grep java的以下输出yum list installed |grep java : java-1.6.0-openjdk.x86_64 1:1.6.0.0-1.16.b17.el5 installed tzdata-java.x86_64 2011b-1.el5 installed
我试图用Windows命令提示符使用javac,但它不工作。 在将“C:\ Program Files \ Java \ jdk1.6.0_16 \ bin \”目录添加到环境pathvariables的末尾之后,java命令正常工作,但是使用javac给了我下面的错误: 'javac' is not recognized as an internal or external command, operable program or batch file. 有任何想法吗? 谢谢。
我试图编译一些代码我使用Intellij Ultimate 13.1.4,但我得到以下错误,我不知道这是什么意思: Information:Using javac 1.7.0_55 to compile java sources Information:java: Errors occurred while compiling module 'Example' Information:Compilation completed with 1 error and 0 warnings in 3 sec Information:1 error Information:0 warnings Error:java: invalid source release: 8 我的猜测是它与Java 8和Java 7相关的东西,但我不知道具体是什么。 我已经试过Google的这个消息,但是他们要么谈论javac或者target release ,所以看起来并不适用。