草庐IT

static-compilation

全部标签

java - 为什么static和default接口(interface)方法不能synchronize却可以strictfp?

这个问题在这里已经有了答案:Whatisthereasonwhy“synchronized”isnotallowedinJava8interfacemethods?(2个答案)关闭4年前。为什么静态和默认接口(interface)方法不能同步?人们说同步是一个实现细节。好吧,strictfp也是一个实现细节,但这并不妨碍在静态和默认接口(interface)方法上允许strictfp。默认方法是继承的,如果实现接口(interface)的类没有覆盖默认方法,那么让它已经同步可能会非常方便。我猜测synchronized(以及strictfp)不是继承的(我在这里吗?),但这并不能解释为

java - 我收到此异常 : Unresolved compilation problems

在我从我的项目中删除jars(pdfbox、bouncycaSTLe等)并将它们移动到另一个文件夹但我将它们包含在构建路径中后,我得到了这个异常......在第一行,eclipse显示了这个错误(构造函数PDFParser(InputStream)指的是缺少的类型InputStream)-altoughtFileInputStream是从InputStream扩展而来的-但我不知道不知道为什么?FileInputStreamin=newFileInputStream(path);PDFParserparser=newPDFParser(in);PDFTextStrippertextSt

Java基础: a static function without a name,或返回类型

publicclassMain{publicstaticfinalLoggerLOGGER=Logger.getLogger(Main.class.getName());static{try{LOGGER.addHandler(newFileHandler("errors.log",true));}catch(IOExceptionex){LOGGER.log(Level.WARNING,ex.toString(),ex);}}...我想知道这个无名静态函数是关于什么的。我从未在java中看到过这样的东西(我目前正在学习)。它有什么用?它通常在什么时候使用?什么时候在程序中执行?

java - 使用带有 java 1.8 和 netbeans 的 maven-compiler-plugin 2.5.1 的 Java 注释编译错误

我刚开始用Java编写注释。我试图按照本教程编写自己的代码:PlayingwithJavaannotationprocessing我写的一切都是原样,但在编译过程中出现错误:Badserviceconfigurationfilejavax.annotation.processing.ProcessorProvidernotfound.我将netbeans和maven与插件maven-compiler-pluginv.2.5.1一起使用。和Java源v.1.8。在我的pom.xml文件中,我有(如页面中建议的)以下代码:maven-compiler-plugin2.5.11.81.8-p

java - 无法在内部类中声明 Public static final String s = new String ("123")

我尝试声明一个类,如下所示classOuter{privatefinalclassInner{publicstaticfinalStrings1=newString("123");publicstaticfinalbyte[]bytes=newbyte[]{0x00,0x01};publicstaticfinalStrings2="123";publicstaticfinalbytebyte1=0x02;}}在上面的代码中,s1和bytes无法编译,但s2和byte1可以编译。如果我将整个常量声明放在外部类中,它就可以正常工作。我错过了什么。有帮助吗? 最佳

java - 从哪里调用 public static void main ?

我只是想知道我们的主要方法实际上是从哪里调用的。就像在eclipse中一样,当我们将它作为应用程序运行时,它会自动被调用。但是,如果我编写另一个具有相同签名但名称不同的方法,则它不会被调用 最佳答案 来自Java虚拟机的文档:DESCRIPTIONThejavatoollaunchesaJavaapplication.ItdoesthisbystartingaJavaruntimeenvironment,loadingaspecifiedclass,andinvokingthatclass'smainmethod.Themethod

java - 抽象类或接口(interface)中的 public static final 字段

我有很多抽象类的子类,每个子类都声明了一个同名的publicstaticfinal字段。我在考虑在抽象父类(superclass)中有这个字段而不初始化它,并希望每个子类都被强制初始化它。我之所以想到这一点,是因为我的抽象类的所有子类都声明了一个名为UNIQUE_ID的公共(public)静态最终字符串字段,并且每个子类都必须声明一个具有完全相同名称的字段。我希望我的问题足够清楚,如果不是请告诉我。可以做一些或多或少等同于此的事情吗?编辑:添加代码:我的抽象类如下所示:publicabstractclassExperimentPanelModelextendsPanelizable{p

java - 编译 vs 翻译, "compiling"Java 到字节码?

我的理解是这样的,定义:翻译-拥有某种语言的代码,生成另一种语言的代码。Compilaton-翻译成机器代码。机器码-CPU的直接指令。现在,来自docs.oracle.com:javac-Javaprogramminglanguagecompiler编译器...?我认为它是Java翻译器,因为它生成的是代码,而不是机器代码。字节码需要解释器(JVM)才能运行,因此它绝对不是机器码。来自Wikipedia:Javaapplicationsaretypicallycompiledtobytecode同样。根据定义,我会说Java翻译为字节码。Internet上还有更多示例,我认为对此存在

java - IntelliJ IDEA : the first compilation takes a lot of time

我正在使用IntelliJIDEA开发我的Java应用程序。我对项目的第一次编译(或完全重建)需要很长时间,大约15分钟(并且非常占用CPU)这一事实感到沮丧。该项目由数百个Java类组成,但使用Eclipse编译只需1-2分钟。是否可以设置任何编译选项来加快此步骤?更新我的配置:SSD、64GB内存、XeonE5-1660、Win7Ultimate编译时间(重建):eclipse:30s带有Eclipse编译器45s的IntelliJIDEA带有javac编译器的IntelliJIDEA:超过10分钟(!)java类的数量~5000 最佳答案

java - 有什么方法可以强制类在 Java 中具有 public static final 字段?

有没有办法强制Java中的类具有publicstaticfinal字段(通过接口(interface)或抽象类)?或者至少只是一个公共(public)领域?我需要以某种方式确保一组类有publicstaticfinalStringTYPE="...";在其中。 最佳答案 不,你不能。你只能强制他们有一个非静态的getter方法,它会为每个子类返回适当的值:publicabstractStringgetType();如果你需要将某物的每个子类映射到一个值,而不需要实例化它,你可以创建一个publicstaticMap,String>t