草庐IT

编译时

全部标签

java - Java JIT 是否确定性地编译字节码——在同一台机器上每次运行都进行相同的优化?

JavaJIT是否在同一台机器上每次运行时都使用相同的优化来编译字节码?它是否考虑了给定时刻的CPU使用率等动态因素,还是每次都会进行相同的优化而不考虑临时因素? 最佳答案 不,优化是不确定的。即使您运行完全相同的单线程、完全确定性程序,JIT用来确定要优化哪些方法的采样器也可以选择不同的集合。另一件可以改变生成的机器代码的事情是代码引用的某些常量的实际内存位置。JIT可以发出直接访问这些内存位置的机器指令,从而导致不同遍的机器代码之间存在额外差异。研究人员使用JikesRVM通过使用名为CompilerReplay的功能解决了他们

java - JSP编译时 'tmpFile.renameTo(classFile)'的原因

我正在使用Jetty6服务器,有时会出现此异常:java.io.IOException:tmpFile.renameTo(classFile)failedatorg.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:235)atorg.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:158)atorg.apache.jasper.compiler.Compiler.generateClass(Compiler.java:390)ator

java - 使用 BNF 的 Compiler 编译器

没有使用直接BNF的解析器生成器有什么原因吗?我熟悉JavaCC和Antlr,最近遇到了Parse2.似乎每个人都有自己的符号。BNF真的很容易阅读,而其他符号则不然。BNF是明确的。有什么内在原因导致我无法将BNF提供给编译器编译器并得到解析树吗? 最佳答案 Marpa::R2,Perl接口(interface)Marpa,一个通用的BNF解析器,接受直接的BNF作为语法描述,并在Perl中为它生成一个解析器。这是一个几乎从字面上取自BNFgrammartutorial的示例.::='('')'::=|','::=|::='ant

编译简单程序时 Java 编译器失败

我的Java编译器有问题。我将我的代码简化为:packagea;publicclassBase{//compilesifthisismadepublicoranintprotectedIntegervalue=0;}---packageb;//mustbeinaseparatepackageimporta.Base;publicclassSubextendsBase{publicvoidincrement(){System.out.println(super.value);value++;super.value=1;super.value=super.value+1;//thislin

java - maven 在这里使用哪个编译器版本?

我正在使用下面的maven编译器插件来编译我的java代码:org.apache.maven.pluginsmaven-compiler-plugintrue2.5.11.61.6我的java_home指向Java7。我的第一个问题,我的类是用java6还是java7编译的?如果使用java6(因为1.6),maven将如何知道路径java1.6作为javahome指向1.7?如果我需要用java1.8编译源码,是否需要设置source和target为1.8?但是,maven如何知道路径中有jdk1.8?我需要更改java_home以指向java8吗? 最佳

java - 如何在 java 的编译时检索 Long.MAX_VALUE 的字符串值?

是否有任何可能的方法使用运行时调用方法来设置常量编译时间值?在《SpringinAction》一书中,我得到了这段代码:privatestaticfinalStringMAX_LONG_AS_STRING=Long.toString(Long.MAX_VALUE);@RequestMapping(method=RequestMethod.GET)publicListspittles(@RequestParam(value="max",defaultValue=MAX_LONG_AS_STRING)longmax,@RequestParam(value="count",defaultVa

java - 方法参数的编译时验证

我在这里发现了一些类似的问题,但不完整的答案并没有帮助,而且比澄清任何事情都产生了更多的困惑,所以这是我尝试提出一个更有条理的问题,并希望得到能帮助更多用户的答案。我的简化示例:我有一个具有两个不同构造函数的Java类publicclassObjectOfInterest{publicObjectOfInterest(Stringstring,Integerint){...}publicObjectOfInterest(Stringstring1,Stringstring2){...}...}我需要对这些构造函数的调用进行一些编译时验证。参数string2必须是一些文字,我想根据内容将

Java ASN.1 编译器

现在我正在使用BinaryNotes解析ASN.1文件以便在Java项目中使用。它采用ASN.1定义并生成允许我操作ASN.1文件的Java类。我用扩展标记(...)碰壁了,因为它不支持它们。sourceforge项目页面说他们将在下一个版本中发布,但上一个版本是将近2年前的,所以我担心这个项目已经死了。任何人都可以推荐一个简单(且免费)的替代品,它可以做类似的事情并且支持扩展标记吗? 最佳答案 你试过了吗BouncyCastle.来自网站:BouncyCastleCryptoAPIsforJavaconsistofthefollo

java - 使用 JavaCompiler 和 ClassLoader 编译和运行用户代码

我正在编写用于学习Java的网络应用程序。使用哪些用户可以在我的服务器上编译他们的代码并运行该代码。使用JavaCompiler编译很容易:JavaCompilercompiler=ToolProvider.getSystemJavaCompiler();DiagnosticCollectordiagnostics=newDiagnosticCollector();CompilationTasktask=compiler.getTask(null,null,diagnostics,null,null,prepareFile(nazwa,content));task.call();Lis

java - 我在编译 Maven 项目时遇到了麻烦

我已经将我的项目导入到Eclipse(Helios+m2eclipse)中,也导入到Netbeans(7.0)中,在这两个IDE中,问题之一是:这是我尝试构建时在Netbeans中得到的结果。项目com.miCompany:myProject:1.0(.....)有1个错误Unresolveablebuildextension:Pluginorg.apache.axis2:axis2-wsdl2code-maven-plugin:1.3oroneofitsdependenciescouldnotberesolved:Failedtocollectdependenciesfororg.a