Tag: 默认

IBM J9VM的默认堆大小是多少?

我安装了IBM的J9 VM(build 2.3,J2RE 1.5.0 IBM J9 2.3)。 获得OOM后,堆转储的大小为383MB。 JVM有多少堆? 我问的原因是400MB堆转储似乎对我预期的默认64MB堆有点多,但我没有指定任何-Xm选项。 J9是否使用不同的默认堆大小? 如果是这样,我怎么知道它是什么?

如何在覆盖实现中调用接口的默认方法实现?

假设我有以下代码: interface HumanoidForm { default HumanoidForm reproduce() { } } class Android extends Machine implements HumanoidForm { public HumanoidForm reproduce() { // how to use HumanoidForm’s default implementation here? } } 现在假设通过使用“用于人形forms再现的适当代码”作为子例程来最好地描述“用于android再现的适当代码”。 如何从“适用于Android复制的代码”中访问“适合人形的代码”? 我可以想到三种方式,但它们都不起作用: 只需调用reproduce()即可调用重写实现。 写((HumanoidForm)this).reproduce()仍然调用重写的实现。 通过重写方法来模仿超类中方法实现的重用,可以考虑编写super.reproduce()。 然而,这指的是机器的再现实现,甚至可能不存在。 所以似乎没有办法在默认方法中重用代码来覆盖。 真的是这样吗?

是否可以使用默认方法实现在基类中实现抽象方法

如果我有一个抽象方法的类: abstract class Base { abstract void foo(); } 和一个使用默认实现声明相同方法的接口: interface Inter { default void foo() { System.out.println(“foo!”); } } 我是否需要在实现/扩展两者的类中提供实现? class Derived extends Base implements Inter { } 看起来这应该可行,但我得到一个编译错误, Derived不是抽象的,并且不会覆盖抽象方法foo 。 我猜这个类中的抽象方法比接口的默认方法“更重要”。 有没有一个很好的方法来使这项工作? 我的根本问题是我有一个三级抽象类层次结构( A和B扩展C , D和E扩展F , C和F扩展G ),它将具有叶类的多个实现。 在每组实现中,有一些常用的方法在基类中定义,所以我希望写一下 abstract class C extends G { abstract void foo(); abstract void bar(); abstract […]

如何使用注释在SpringMVC中创建默认方法?

我无法找到解决方案,这让我发疯了。 我有@Controller映射,使用@RequestMapping响应多个方法。 当没有指定更具体的内容时,我想将其中一个方法标记为默认方法。 例如: @Controller @RequestMapping(“/user/*”) public class UserController { @RequestMapping(“login”) public String login( MapModel model ) {} @RequestMapping(“logout”) public String logout( MapModel model ) {} @RequestMapping(“authenticate”) public String authenticate( MapModel model ) {} } 所以/ user / login – > login方法,/ user / logout – > logout等。我想这样做,如果有人去/ user,那么它会路由到这些方法之一。 但是,我没有在@RequestMapping上看到任何允许我将这些方法之一指定为默认处理程序的内容。 我也没有看到任何其他注释可能在类上使用这样做。 我开始怀疑它不存在。 我正在使用Spring 2.5.6。 这是在3.0.0中解决的吗? […]

为什么不允许接口作为注释成员?

考虑以下代码: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Bar { Foo foo() default FooImpl.FooConstant; } 编译错误: 注释值不是允许类型 如果我用FooImpl替换Foo ,则接受代码。 这种行为的原因是什么?

在Android 4.4.2上更改SMS应用程序默认值

我会更改Android 4.4.2上的默认短信应用程序 我用这个代码: Intent sendIntent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); sendIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName()); startActivity(sendIntent); 我怎么解决这个问题? 我怎么能要求用我的应用程序更改默认的短信应用程序? 我的接收者: 谢谢。

如何重新执行Log4j“默认初始化过程”?

在运行时,我经常创建/修改log4j Loggers,Appenders,Levels,Layouts以及需要将所有内容重置为默认值的时间。 Log4j系统具有明确定义的默认初始化过程 ,该过程在将log4j类加载到内存时执行。 有没有办法在以后的运行时以编程方式重新执行整个过程? 我在log4j文档中找到了几个resetConfiguration()方法,但不确定它们中的任何一个是否会执行默认初始化过程 : BasicConfigurator.resetConfiguration(); Hierarchy.resetConfiguration(); LogManager.resetConfiguration(); 关于重置log4j配置的任何其他建议都欢迎! 谢谢。

如何更改Netbeans 6.9中的默认项目目录(文件夹)?

如何在Java SE \ ME \ EE中更改Netbeans 6.9中的默认项目目录?

导致java:240的switch语句(可能尚未初始化)

我一直在寻找一个答案,但是没有发现任何真正有助于我的情况如此暴露的事情: 我试图根据输入在变量中存储一个值: switch(pepperoni) { case ‘Y’: case ‘y’: topping1 = 1; break; case ‘N’: case ‘n’: topping1 = 0; break; default: { System.out.print(“This is not a valid response, please try again \n”); System.out.print(“Do you want Pepperoni? (Y/N): “); pepperoni = scan.next().charAt(0); break; } 我希望变量topping1在输入为’Y’或’y’时存储值1,如果输入为’N’或’n’则存储值0 如果输入既不是’Y’,’y’,’N’也不是’n’,那么我希望它重复该问题,直到输入有效输入为止。 当我稍后在程序中尝试打印值’因为它可能尚未初始化’时出现问题,这有点有意义。 (以下示例) if(topping1 > 0) System.out.println(“Pepperoni”); // 243: error: variable […]

Java包级别访问

我知道具有默认访问控制的类成员可以在包级别访问,但我对包级访问实际意味着什么感到困惑。 如果可以在包级别访问默认成员,那么在下面的示例中,我不应该在类Test2中看到它吗? 1级 package pkg1; public class Test { int i=0; } 2级 import pkg1.Test; public class Test2 { void get(){ Test t = new Test(); ti=0; } } 请帮助我理解这个概念。 提前致谢。