摘要:
1. 继承 Thread 类 优点: 简单直观,适合初学者。 直接继承 Thread 类,可以方便地访问和使用 Thread 类的方法。 缺点: Java 不支持多继承,因此如果你的类已经继承了其他类,则不能继承 Thread 类。 仅适用于简单的线程任务。 示例: 阅读全文
摘要:
线程池有五种典型状态: 1.RUNNING(运行状态):在这个状态下,线程池可以接收新的任务提交,并且能够处理已添加到任务队列中的任务。这是线程池的初始状态,也是最活跃的状态。这是最正常的状态 2.SHUTDOWN(关闭状态)当调用了线程池的`shutdown()`方法后,线程池进入此状态。此时,线 阅读全文
摘要:
在Java中,`hashCode()`和`equals()`方法之间存在紧密的关系,主要体现在它们共同作用于对象的比较和存储上,尤其是在集合(如HashSet、HashMap)和哈希表的实现中。 1.hashCode()和equals()是Object类中定义的两个重要方法,用于对象的比较和哈希处理 阅读全文
摘要:
泛型中的 extends 和 super 关键字用于设置类型参数的上下界,控制可以传递给泛型类型的参数类型。它们的区别在于限制的方向和用途: 1.extends: 上界限制: 使用 extends 关键字定义了一个类型参数的上界,意味着传入的类型必须是指定类型或其子类型。 阅读全文
摘要:
在Java中,String、StringBuffer、和StringBuilder都是用于处理字符串的类,但它们之间存在一些关键差异,主要涉及可变性、线程安全性和性能: 1.String: -不可变性:String对象一旦被创建,其内容就不能改变。任何对Str 阅读全文