Java面试题
文章平均质量分 87
分析Java面试的每道问题,将代码和实践相结合。
码上言
欢迎微信搜索【码上言】关注我的公众号,每天推送精选好文,共同交流。
展开
-
JUC与多线程基础详解
JUC)是Java 5以后新增的一组并发编程工具包,提供了一系列高效、线程安全的并发集合,方便在多线程环境下处理共享数据。JUC其实就是JDK中的三个包:并发相关的原子性lock锁线程在执行过程中会有自己的运行条件和状态(也称上下文),当出现如下情况的时候,线程会从占用 CPU 状态中退出。主动让出 CPU,比如调用了sleep()wait()等。时间片用完,因为操作系统要防止一个线程或者进程长时间占用CPU导致其他线程或者进程饿死。调用了阻塞类型的系统中断,比如请求 IO,线程被阻塞。原创 2024-04-24 09:00:14 · 558 阅读 · 0 评论 -
说一下Java的继承
继承是面向对象的三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。继承是指在原有类的基础上,进行功能扩展,创建新的类型。JAVA中类只有单继承,没有多继承。继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。extends的意思是“扩展”,子类是父类的扩展。子类可以有父类的内容,子类还可以有自己特有的内容。原创 2024-04-24 08:58:46 · 269 阅读 · 0 评论 -
说说接口和抽象类
概念没有方法体的方法叫抽象方法,有抽象方法的类一定是抽象类。而抽象类就是对类进行抽象。在编写时,需要子类必须实现的属性和行为,可以在对父类进行一个抽象,抽象类的运用场景。特点抽象类和抽象方法用abstract修饰;抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类抽象类多态。抽象类不能直接实例化,要通过子类对象的实例化来实现(只能继承)。抽象类的存在就是为了被继承,所以抽象类中的抽象方法不能被private、static、final修饰,否则无法被继承。原创 2024-04-24 08:57:03 · 919 阅读 · 0 评论 -
什么是方法重载和重写,区别是什么?
在 Java 中,方法重载是指在同一个类中定义多个方法,它们具有相同的名称但参数列表不同。具体来说,方法重载要求方法的方法名相同,但是参数列表必须不同。参数列表可以是参数的数据类型、个数和顺序。在Java中,方法重载是静态绑定的,即在编译时就确定了调用哪个方法。return a;方法重写是指在子类中定义与父类中同名、参数列表相同返回值类型相同或者是其子类的方法,方法重写是动态绑定的,即在运行时才确定调用哪个方法。定义一个父类再定义一个Dog子类,然后使用extends继承Animal。原创 2024-04-24 08:55:49 · 843 阅读 · 0 评论 -
equals和==有什么区别?
对于 Object 来说,equals 是用 == 实现的,所以二者是相同的,都是用来比较两个对象的引用是否相同的,但 Java 中的其他类,都会重写 equals 让其变为值比较,而非引用比较,如 Integer 和 String 都是这样。原创 2024-04-24 08:54:43 · 920 阅读 · 0 评论