草庐IT

编译ffmpeg

全部标签

Java编译器字符串优化

在我看来,编译器将采取这样的做法似乎是合理的:log.info("Areallylongloggermessagethatiskindofapaininthetucous"+"andviolatesformattingstandardsbymakingthelinetolong");并将两个字符串编译成一个。我很确定这是真的,但我想如果有人提出来,让我的鸭子排成一排。 最佳答案 是的,这将由constantexpression处理Java语言规范的一部分。特别参见部分15.18.1.StringConcatenationOperat

java - Eclipse 将编译器合规性更新到 1.7

我在更新我的eclipse工作区的编译器合规性时遇到了一些问题(我实际上使用的是RTC,但它本质上是eclipse)。目前,它使用1.6的jdk,因此我可以将JDK合规性更改为1.6的限制。但是,我正在为我的项目使用jdk1.7-我已将其添加为JRE-preferences-->Java-->InstalledJRE-->addedjrewiththejdk1.7directory.但是,即使我将其用作默认JRE,它也不允许我将编译器合规级别更改为1.7。我猜我遗漏了什么。任何帮助将不胜感激 最佳答案 在Eclipse中,编译器合规

java - 我应该查看 java 编译器生成的字节码吗?

没有JIT编译器可能会将字节码“转换”成完全不同的东西。它将导致您进行过早的优化。是你不知道哪些方法会被JIT编译,所以最好把它们都优化一下。它会让你成为更好的Java程序员。我是在不知道(显然)的情况下问的,所以请随意重定向到JIT超链接。 最佳答案 是的,但在某种程度上——作为一个了解幕后情况的教育机会是很好的,但可能应该适度进行。这可能是一件好事,因为查看字节码可能有助于理解Java源代码将如何编译成Java字节码。此外,它可能会给出一些关于编译器将执行哪种优化的想法,以及可能对编译器可以执行的优化量的一些限制。例如,如果执行

Java Iterator实现编译错误: does not override abstract method remove()

为什么会出现以下编译错误:LRIterator不是抽象的,不会覆盖java.util.Iterator中的抽象方法remove()注意,实现是针对链表的publicIteratoriterator(){returnnewLRIterator();}privateclassLRIteratorimplementsIterator{privateDLLNodeplace;privateLRIterator(){place=first;}publicbooleanhasNext(){return(place!=null);}publicObjectnext(){if(place==null)

java - 我无法编译 hamcrest hasKey() 方法

这是代码:Mapmap;org.hamcrest.MatcherAssert.assertThat(map,org.hamcrest.Matchers.hasKey(newFoo()));这是编译器的意思:cannotfindsymbolmethodassertThat(java.util.Map,org.hamcrest.Matcher>)为什么以及我能做什么? 最佳答案 我怀疑你需要这样的东西:MatcherAssert.assertThat(map,Matchers.hasKey());这样您就可以为hasKey方法调用指定值

java - Java 中是否有零时间、启动(无需重新编译)可切换条件标志?

我正在寻找一种方法来为if条件。当然,每次应用程序运行时,此条件只会更改一次-在启动时。我知道可以有条件地编译“条件下的编译时常量”,并且可以从代码中删除整个条件。但是,无需重新编译源代码的最快(并且可能最简单)的替代方案是什么?我可以移动条件以将.jar与带有条件的单个类和方法分开,在那里我生成该.jar的两个版本并将这些版本切换到类路径中应用程序启动?JIT是否会在单独的.jar中删除对方法的调用如果它发现该方法是空的?我能否通过在实现“ClassWithMyCondition”的类路径中提供两个类来做到这一点,其中一个类将有一个真正的实现,第二个将只有空方法并通过Class.fo

java - 从 Win7 64 位编译 32 位

我想知道是否可以在32位应用程序中编译Java桌面应用程序使用Netbeans从Windows764位。感谢您的帮助。 最佳答案 您不必为32位或64位平台构建Java代码。代码被编译为由JVM运行的字节码。您可以使用32位或64位JVM来运行您的java代码。唯一的异常(exception)是您可能在代码中使用的native库。如果有的话,你将不得不为各自的平台手动编译它们。除此之外,Java代码完全可以跨32位和64位平台移植。一次编写到处运行:-) 关于java-从Win764位编

java - 编译 Java 文件... 用 Ja​​va 程序

用Java编写的程序是否可以使用JDK编译器编译文件(除了使用Java打开命令提示符并向其抛出“javac”命令来编译文件之外)? 最佳答案 在Java6及更高版本中,有一个API可以使用编译器。这可能就是您正在寻找的。http://www.javabeat.net/2007/04/the-java-6-0-compiler-api/http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html请注意,您需要JDK才能使用编译器。JRE是不够的。如果这是一

java - 如何在不安装整个 JDK 的情况下在 Windows 中编译 Java 代码?

假设运行时环境(版本1.6.0_01-b06)已经到位,但由于我在这台特定PC上缺少管理权限,因此无法安装JDK。那么,是否有不需要安装的适用于Windows的可移植JDK或独立Java编译器? 最佳答案 您可以尝试从JDK中获取tools.jar文件(您必须从另一台机器上复制它)并查看是否有效。javac本质上是一个小的exe,它使用编译器的特定类启动VM。此外,关于JDK安装,没有什么(据我所知)是您无法使用来自另一台机器的副本完成的。因此,在一台可以安装JDK的机器上安装它,然后将文件复制到机器上您没有权限但应该可以正常工作的

java - 这段 Java 代码如何编译?

一位同事遇到了一些看起来像这样的代码,但无法理解它是如何编译的:classFooClass{publicstaticvoidbar(Stringarg){System.out.println("arg="+arg);http://www.google.comSystem.out.println("Done!");}}基本上,在方法中间粘贴了一个随机URL,但javac不在乎。我们已经解决了,所以如果没有其他人发现我会发布答案,但我认为发布它足够有趣。 最佳答案 “http:”被解释为标签。接下来是行尾注释。