草庐IT

semi-public

全部标签

java - 为什么必须将main方法声明为public...为什么JVM不能执行private main方法

通常我在各种书籍中发现main方法应该是公共(public)的,因为它应该对类加载器可见。但是JVM执行(或提供特殊处理)各种私有(private)方法,例如ObjectOutputStream中的readObject/writeObject方法。 最佳答案 很明显,您的程序的入口点应该是可见的。 关于java-为什么必须将main方法声明为public...为什么JVM不能执行privatemain方法,我们在StackOverflow上找到一个类似的问题:

java - 多个 JVM 进程是否可以共享公共(public)类的内存?

我想在我的网络服务器上运行多个Java进程,一个用于每个网络应用程序。我正在使用具有大量支持类和jar文件的Web框架(Play),并且Java进程使用大量内存。一个Play进程显示大约225MB的“常驻私有(private)”内存。(我正在使用Java1.7.0_05在MacOSX上对此进行测试。)特定于应用程序的代码可能只有几MB。我知道典型的JavaWeb应用程序是添加到一个服务器进程(Tomcat等)的jars,但运行Play的标准方式似乎是作为一个独立的应用程序/进程。如果这些是C程序,那么这200MB中的大部分将是共享库,而不是在每个应用程序中重复。有没有办法在Java中实

java - 如何使用单个 replaceAll 查找 Java 中两个字符串的公共(public)字符?

假设我有:Strings="1479K";Stringt="459LP";我想回去StringcommonChars="49";两个字符串之间的共同字符。显然可以使用如下标准循环:StringcommonChars="";for(i=0;i但是我希望能够使用replaceAll在一行中完成此操作。这可以按如下方式完成:StringcommonChars=s.replaceAll("["+s.replaceAll("["+t+"]","")+"]","");我的问题是:是否可以使用一次replaceAll调用来做到这一点?什么是正则表达式?我想我必须使用某种前瞻性,但当我想到它时,我的大

java - 包私有(private)类中的公共(public)成员

我想知道在包私有(private)类中有公共(public)成员是否可以(不被认为是不好的做法)。我倾向于将public关键字添加到我的默认可见性类的成员,以指示此类成员是类API的一部分。我这样做只是为了可读性,因为在这种情况下,公共(public)成员与没有任何访问修饰符的成员具有基本相同的可见性(即包可见性)。对吗?例子:classModuleImplementationClass{privateintfieldA;privateStringfieldB;privatevoidsomeClassInternalMethod(){//impl}publicintdoSth(){//

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)内部类的实例

所以我有如下内容:publicclassEnclosing>{//non-relevantcodesnippedpublicclassInner{privateTvalue;publicInner(Tt){value=t;}}}万物皆可编译,天下皆大欢喜。但是,每当我尝试创建Enclosing.Inner的实例时如下,我不行:newEnclosing.Inner(5);出现以下错误:CannotallocatethemembertypeEnclosing.Innerusingaparameterizedcompoundname;useitssimplenameandanenclosin

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

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

java - 如何为多个 Java Web 项目使用公共(public)库

我有四个不同的项目,我正在使用Weblogic来部署我的项目。有几个库(jar文件)对所有项目都是通用的。目前我的每个项目都有lib目录,并且有几乎相同的一组库。现在,是否可以在WAR文件之外拥有这个lib目录并访问它们。 最佳答案 抵制将jar文件放在容器的“共享”文件夹中的诱惑。最好将jar文件保留在它们现在所在的位置。现在使用共享文件夹听起来是个好主意,但将来您可能需要部署需要共享库但版本不同的应用程序。也就是说,我没有使用WebLogic的经验。在Tomcat中有一个共享文件夹,其中包含所有已部署应用程序通用的库。使用它不是

java - 为什么 JPA 实体中的属性不允许使用 "public"?

JPA2.0specification第22页说:Theinstancevariablesofaclassmustbeprivate,protected,orpackagevisibilityindependentofwhetherfieldaccessorpropertyaccessisused.Whenpropertyaccessisused,thepropertyaccessormethodsmustbepublicorprotected.为什么不允许公开访问? 最佳答案 对于公共(public)字段,代理将无法可靠地工作——

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

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