草庐IT

static-compilation

全部标签

java - build.gradle : compile group vs compile, buildscript,类路径

“编译组”和“编译”有什么区别?只是定义依赖项的另一种方式?例如:compilegroup:'org.slf4j',name:'slf4j-jcl',version:'1.7.21'我认为这也可行:compile("org.slf4j:slf4j-jcl:1.7.21")为什么我要再次声明mavenCentral()和buildscriptblock中的另一个依赖block?buildscript{repositories{mavenCentral()}dependencies{classpath("org.springframework.boot:spring-boot-gradle

java - "static synthetic"是什么意思?

我正在查看一些从Java字节码获得的反汇编代码。我看到一些声明如下:.methodstaticsyntheticaccess$0()Lcom/package/Sample;我无法弄清楚synthetic或access$0的含义。有人可以帮我理解这部分吗? 最佳答案 在java语言中,内部类可以访问其封闭类的私有(private)成员。但是在Java字节码中,不存在内部类的概念,私有(private)成员是不可访问的。为了解决这个问题,编译器在外部类中创建合成访问器方法。我相信这就是你在这里看到的。access$0只是方法的名称。我不

java - 行家: (use -source 5 or higher to enable static import declarations)

如何使用源5?我试过了mvn-source5test但它没有工作:-)当我通过javac编译文件时,一切正常。 最佳答案 您需要配置maven-compiler-plugin:...org.apache.maven.pluginsmaven-compiler-plugin2.3.21.51.5......编辑:更改示例以使用最新版本的插件。 关于java-行家:(use-source5orhighertoenablestaticimportdeclarations),我们在StackOv

java - "Non-static variable this cannot be referenced from a static context"创建对象时

我编写了以下代码来测试Java中类和对象的概念。publicclassShowBike{privateclassBicycle{publicintgear=0;publicBicycle(intv){gear=v;}}publicstaticvoidmain(){Bicyclebike=newBicycle(5);System.out.println(bike.gear);}}为什么在编译过程中会出现以下错误?ShowBike.java:12:non-staticvariablethiscannotbereferencedfromastaticcontextBicyclebike=ne

java - 什么时候不要在 Java 中使用 static 关键字?

什么时候在Java中的方法签名上使用static关键字被认为是不好的做法?如果一个方法基于一些参数执行一个函数,并且不需要访问非静态字段,那么您不总是希望这些类型的方法是静态的吗? 最佳答案 在大型Java应用程序中您将遇到的两个最大弊端是静态方法,纯函数除外*可变静态字段这些在一定程度上破坏了您代码的模块化、可扩展性和可测试性,我意识到在有限的时间和空间内我不可能希望让您相信。*“纯函数”是不修改任何状态并且其结果仅取决于提供给它的参数的任何方法。因此,例如,任何执行I/O(直接或间接)的函数都不是纯函数,但Math.sqrt()

java : in what order are static final fields initialized?

好的,假设我有一个看起来像这样的类(class):publicclassSignupServletextendsHttpServlet{privatestaticfinalLoggerSERVLET_LOGGER=COMPANYLog.open(SignupServlet.class);privatestaticfinalExceptionMessageHandlerhandler=newExceptionMessageHandler();privatestaticfinalSignupServletObservableAgentsignupObservableAgent=newSig

java - Google App Engine JSP 无法部署 : java. lang.RuntimeException : Cannot get the System Java Compiler. 请使用 JDK,而不是 JRE

希望这很简单,但是...除了部署到GAE之外,Eclipse在所有方面都工作得相对较好。我可以在本地运行我的GAE应用程序,但是当我尝试部署到google时,我收到以下消息:java.lang.RuntimeException:CannotgettheSystemJavaCompiler.PleaseuseaJDK,notaJRE.我已将构建路径设置为JDK。尝试从多个系统(win7和win8)部署同一个项目时也会发生这种情况,因此我怀疑问题与项目本身有关。这个特定的项目已经存在并且已经在谷歌上运行了多年。有趣的是,仅当我的应用中有.jsp文件要部署时才会出现此错误。如果我删除jsp文

java - 是否有更现代的 OO 版本的 "Let' s Build a Compiler”?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭4年前。Improvethisquestion有没有更现代的,也许是面向对象的,相当于JackCrenshaw的“Let'sBuildaCompiler”系列?不久前,我偶然发现了“Let'sBuildaCompiler”,忍不住写了一些代码。我用C#编写了一个递归下降C编译器,它输出.NETCIL。“一次编写,到处泄漏”是我的口号。很遗憾,我直到为时已晚才意识到解析C是一场噩梦。我现在有兴趣用Jav

java - Ant compile 不会复制资源

我创建了自己的build.xml,其中包含:效果很好。当我调用antrun以便它编译并运行我的应用程序时,但我的应用程序有一个带有图标的包,并且它没有移动到“build”文件夹,所以我的应用程序以无法找到我的图标的异常结束。当我自己移动它们时,它就可以工作了。我尝试使用它有效,但我想在没有复制命令的情况下这样做。javac有参数吗?还是别的什么?谢谢你的回答。 最佳答案 没有这样的参数。您可以在目录之间复制各种文件: 关于java-Antcompile不会复制资源,我们在StackOve

java - 我们应该什么时候使用 "public static final String"?

我见过很多人写的代码publicstaticfinalStringmystring=...然后只使用一个值。为什么他们必须这样做?为什么他们必须在使用之前将值初始化为final?更新好的,谢谢大家的回答,我理解这些键的含义(publicstaticfinal)。我不明白的是为什么人们会使用它,即使常量只会在一个地方并且只在同一个类中使用。为什么要宣布它?为什么我们不只使用变量? 最佳答案 final表示变量的值不会改变——也就是说,一个constant,它的值在声明之后就不能被修改。当你想创建一个String时使用publicfin