草庐IT

static-classes

全部标签

static - Java:如何将 "restart"设为静态类?

我有一个静态类(Foo)和一个主类(Main)参见Main.java:publicclassMain{publicstaticvoidmain(String[]args){System.out.println(Foo.i);//0Foo.i++;System.out.println(Foo.i);//1//restartFoohereSystem.out.println(Foo.i);//1again...Ineed0}}参见Foo.java:publicclassFoo{publicstaticinti=0;}有什么方法可以重新启动或重置静态类吗?注意:我需要这个,因为我正在使用jU

Java Statics 原语、对象、方法和堆(内存管理和最佳实践)

好的,我已经使用Java进行了一年多的开发,并且正在努力更深入地研究该语言及其最佳实践。所以这是我所知道的:Java“按类型传递”-即基元按副本传递,对象引用按副本传递(引用指向它们在堆上的对象)。基元实例变量和引用存在于堆中的类对象中,本地基元和引用存在于栈中(在它们各自的栈帧中)。PermGen.内存空间是存储类元数据的地方(用于反射)。Heap有一个Eden空间,用于放置新对象,一个Young空间,用于保存在GC中幸存下来的对象,还有一个Tenured空间,用于放置长期存在的对象。所以这是我想了解的:JVM能够使用单个实例的静态和静态最终原语和引用位于何处?静态和静态最终对象是否

java - 两个不同的 Class 实例给出相同的 hashCode

我在JBoss服务器上遇到一个奇怪的问题,其中两个类生成相同的hashCode()。Classcl1=Class.forName("fqn.Class1");Classcl2=Class.forName("fqn.Class2");out.println(cl1.getCanonicalName());out.println(cl2.getCanonicalName());out.println(cl1.hashCode());out.println(cl2.hashCode());out.println(System.identityHashCode(cl1));out.printl

Java 9 - 我可以将 MainClass 属性添加到存档中的 module-info.class 吗?

这个问题在这里已经有了答案:IsMavenreadyforJDK9?(6个答案)关闭5年前。在Java9中,您可以使用以下命令创建JAR文件jar--create--file=mlib/com.greetings.jar--main-class=com.greetings.Main-Cmods/com.greetings.这具有将MainClass属性添加到.jar文件中的module-info.class文件的副作用。是否有任何插件支持此功能,或者我是否需要直接调用Java9“jar”命令?这是提出这些问题的正确论坛,还是有更好的地方?干杯,埃里克

Java打包机: Cannot find or load main class

我已经创建了一个JavaFX项目并且能够使用命令运行它java-classpath[非常长的类路径列表]danIDE.Main但是,当我尝试使用javapackager从中创建一个jar并使用java-jarout.jar运行时,提示显示错误:无法找到或加载主类danIDE.Main我用来创建jar的命令是javapackager-createjar-v-classpath[非常长的类路径列表]-srcdirsrc-outfileout-appclassdanIDE.Main我在谷歌上搜索了很长时间,仍然找不到解决方案。有人能指出我正确的方向吗?非常感谢!编辑:这是项目结构。这是爆炸的

Java 接口(interface) : Calling an implementation class based on object types

我有一个接口(interface)及其2个实现说:publicinterfaceObjectProcessor{publicvoidprocess(ListobjectNames);}publicCarImplimplementsObjectProcessor{@overridepublicvoidprocess(ListcarNames){//carlogic}}publicVanImplimplementsObjectProcessor{@overridepublicvoidprocess(ListvanNames){//vanlogic}}现在使用这个接口(interface)的

java - 为什么我会收到 "classes must have either one (and only one) constructor"错误?

我一直在努力让Guice正常工作,但结果是这样的:Classesmusthaveeitherone(andonlyone)constructor我的界面:publicinterfaceAddrBookStore{publicContactgetContactByKey(Stringkey);publicvoidaddContact(Contactc);}实现:publicclassRdbmsBasedAddrBookStoreimplementsAddrBookStore{privateConnectionconnection;publicRdbmsBasedAddrBookStore

java - 使用 JAXB 将子类实例作为父类(super class)传递

我拥有的是一组表示消息类型的Java类(接近25个)。它们都继承自Message类,我希望它是抽象的。每种消息类型都会向Message父类(superclass)提供的集合中添加一些额外的字段。我正在使用RESTeasy实现一些RESTfulWeb服务,并希望有这样的方法:publicResponsepersist(Messagemsg){EntityTransactiontx=em.getTransaction();tx.begin();try{em.persist(msg);}catch(Exceptione){e.printStackTrace();}tx.commit();em

java - 如何将父类(super class)对象值复制到子类对象值?

我想将父类(superclass)对象getter复制到子类对象setter。但是我怎么能轻易做到这一点。我正在寻找类似克隆的东西。你能帮我找到它吗?一个简单的代码:父类(superclass):publicclassSuperClass1{privateStringname;privateStringsurname;publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnthis.name;}publicvoidsetSurname(Stringsurname){this.surname=su

java - 混合使用 Log4j 和 commons-logging 会导致 "class loading deadlock"?

我想我发现了一种情况,其中log4ja)直接混合使用和b)通过commons-logging混合使用会导致某种类加载死锁。我不确定这种情况是否可能发生(JVM不应该检测到这种情况吗?)以及如何应对。问题在我们的构建系统中,我们目前正在按顺序运行我们的单元测试-为了加快构建速度,我们显然可以更改它以并行运行我们的单元测试。但是,如果我们这样做,某些构建会遇到执行超时。在分析此类“挂起构建”的线程转储时,我们发现自己处于不同的模块中,大部分时间涉及不同的测试。但它总是归结为两个尝试初始化Logger的线程:一个使用Logger.getLogger(直接使用log4j),另一个使用LogFa