找到 2637 篇文章 关于 Java

如何在 Java 中更改/增加 Java 虚拟机的堆大小?

raja
更新于 2020年2月11日 10:21:05

1K+ 次查看

Java 程序可以在 Java 虚拟机 (JVM) 中执行,JVM 使用堆内存来管理数据。如果我们的 Java 程序需要更多内存,则 Java 虚拟机 (JVM) 在尝试在 Java 中实例化对象时可能会开始抛出 OutOfMemoryError 实例。更改/增加 JVM 堆大小在 Java 中,可以使用命令行选项来增加 JVM 分配的堆大小-Xms - 设置初始 Java 堆大小-Xmx - 设置最大 Java 堆大小-Xss - 设置 Java 线程栈大小示例实时演示 public class HeapSizeTest { public static void main(String[]args){ // 获取 ... 阅读更多

我们可以在 Java 中定义静态构造函数吗?

raja
更新于 2019年7月30日 22:30:26

4K+ 次查看

不,我们不能在 Java 中定义静态构造函数,如果我们尝试使用 static 关键字定义构造函数,则会发生编译时错误。一般来说,static 表示类级别。构造函数将用于为实例变量分配初始值。static 和构造函数彼此不同且相反。我们需要为实例变量分配初始值,我们可以使用构造函数。我们需要分配静态变量,我们可以使用静态块。示例实时演示 public class StaticConstructorTest { int x = 10; // 静态构造函数的声明 static StaticConstructorTest() { ... 阅读更多

我们何时可以在 Java 中使用 String 类的 intern() 方法?

raja
更新于 2020年2月7日 05:45:33

352 次查看

String 类的 intern() 方法可用于处理 Java 中的字符串重复问题。使用 intern(),我们可以节省重复字符串实例消耗的大量内存。如果一个字符串的内容与另一个字符串相同,但它可能占据不同的内存位置,则该字符串是重复的。我们知道 JVM 为字符串字面量维护一个单独的堆内存以提高性能。一旦我们声明一个字符串字面量,它就会进入此池,如果另一个变量分配了相同的值,它将从池中获取,而不是创建一个新的 ... 阅读更多

我们可以在 Java 中将 public static void main() 的顺序更改为 static public void main() 吗?

raja
更新于 2020年2月7日 05:47:14

4K+ 次查看

是的,我们可以在 Java 中将 public static void main() 的顺序更改为 static public void main(),编译器不会抛出任何编译时或运行时错误。在 Java 中,我们可以按任何顺序声明访问修饰符,方法名放在最后,返回类型放在倒数第二位,然后根据我们的选择。但根据 Java 编码标准,建议将访问修饰符(public、private 和 protected)放在最前面。语法 public static void main(String args[]) { // 一些语句 }示例实时演示 class ParentTest { int age = 10; public int getAge() { age ... 阅读更多

我们可以在 Java 中扩展枚举吗?

raja
更新于 2020年2月7日 05:58:29

4K+ 次查看

不,我们不能在 Java 中扩展枚举。Java 枚举可以隐式扩展 java.lang.Enum 类,因此枚举类型不能扩展另一个类。语法 public abstract class Enum> implements Comparable, Serializable { // 一些语句 }枚举枚举类型是一种特殊的数据类型,它是在 Java 1.5 版本中添加的。枚举用于定义常量集合,当我们需要一个预定义的值列表时,这些值不表示某种数字或文本数据,我们可以使用枚举。枚举是常量,默认情况下它们是静态的和最终的。因此,枚举类型字段的名称为大写字母。只能使用 Public 或 protected 修饰符 ... 阅读更多

Java 中静态块和构造函数有什么区别?

raja
更新于 2020年2月11日 10:10:35

2K+ 次查看

静态块静态块在类加载时执行。静态块在运行 main() 方法之前执行。静态块在其原型中没有任何名称。如果我们希望在类加载时执行任何逻辑,则需要将该逻辑放在静态块中,以便在类加载时执行。语法 static { // 一些语句 }示例实时演示 public class StaticBlockTest { static { System.out.println("静态块!"); } public static void main(String args[]) { System.out.println("欢迎来到 Tutorials Point!"); } }输出静态块! ... 阅读更多

我们可以在 Java 中定义与类名相同的方法名吗?

raja
更新于 2019年7月30日 22:30:26

5K+ 次查看

是的,允许定义与类名相同的方法名。不会发生编译时或运行时错误。但这不符合 Java 中的编码标准。通常,Java 中的构造函数名称和类名始终相同。示例实时演示 public class MethodNameTest { private String str = "欢迎来到 TutorialsPoint"; public void MethodNameTest() { // 声明的方法名称与类名相同 System.out.println("方法名和类名相同"); } public static void main(String args[]) { MethodNameTest test ... 阅读更多

我们可以在 Java 中将构造函数声明为私有吗?

raja
更新于 2019年7月30日 22:30:26

10K+ 次查看

是的,我们可以将构造函数声明为私有。如果将构造函数声明为私有,则无法创建类的对象。我们可以在单例设计模式中使用此私有构造函数。私有构造函数的条件私有构造函数不允许对类进行子类化。私有构造函数不允许在类外部创建对象。如果我们的类中存在所有常量方法,则可以使用私有构造函数。如果所有方法都是静态的,则可以使用私有构造函数。如果我们尝试扩展具有私有构造函数的类,则编译 ... 阅读更多

当我们尝试在 Java 中覆盖超类的 final 方法时会发生什么?

raja
更新于 2019年7月30日 22:30:26

1K+ 次查看

在超类中声明为 final 的任何方法都不能被子类覆盖。如果我们尝试覆盖超类的 final 方法,我们将在 Java 中得到一个错误。实现方法覆盖的规则方法声明应与要覆盖的方法相同。在尝试覆盖之前,类(子类)应扩展另一个类(超类)。子类永远不能覆盖超类的 final 方法。示例实时演示 class Car { public void brake() { System.out.println("Car 的 brake() 方法"); } public final void accelerate() { ... 阅读更多

什么是 ClassCastException 以及它何时在 Java 中被抛出?

raja
更新于 2019年7月30日 22:30:26

1K+ 次查看

java.lang.ClassCastException 是 Java 中的一种未检查异常。当我们尝试将一个类的对象转换为另一个类的对象时,它可能会在我们的程序中发生。何时抛出 ClassCastException当我们尝试将父类对象转换为其子类类型时,将抛出此异常。当我们尝试将一个类的对象转换为另一个类类型,而该类没有扩展另一个类或它们之间没有任何关系时。示例实时演示类 ParentTest {    String parentName;    ParentTest(String n1){       parentName = n1;    }    public ... 阅读更多

广告