常见软件开发面试问答?

接口的含义

标准化、可扩展、回调

抽象类的含义

为其子类提供一个公共* * *类型,将重复的内容封装在子类中,定义抽象方法。虽然子类有不同的实现,但是它们的定义是一致的。

内部类的角色

内部类可以使用多个实例,每个实例都有自己的状态信息,独立于其他外围对象。

在一个外围类中,多个内部类可以用不同的方式实现同一个接口,或者继承同一个类。

创建内部类对象的时间不取决于外部类对象的创建。

内部类没有令人困惑的“是-是”关系,它是一个独立的实体。

内部类提供了更好的封装,除了外围类,没有其他类可以访问它。

父类的静态方法可以被子类覆盖吗?

静态静态方法属于类,而继承和重写是相对于对象的。

如果子类中的父类有静态方法,只能说它隐藏了父类的静态方法。

java虚拟机的特点

一个通用的高级语言要想在不同的平台上运行,至少需要编译成不同的目标代码。引入java虚拟机后,java代码在不同

在平台上运行不需要重新编译。

什么情况下对象会被垃圾收集机制处理掉?

Java垃圾收集机制最基本的方法是分代收集。当一个对象存在足够长的时间时,内存中的区域被分成不同的世代,年轻的、年老的和永久的。

它会被复制到老一代,不同的代可以使用不同的垃圾收集算法。世代划分的起点是研究对象在应用中的生存时间后得到的统计规律。一般来说,一个应用程序中大多数对象的存活时间都很短。例如,局部变量的存活时间仅在方法执行期间。基于此,针对年轻一代的垃圾收集算法可以很有针对性。

= =和等于之间的差

= =是运算符,equals是方法,这个方法是Object中的方法。我们可以重写equals方法来实现我们自己的比较逻辑。

为什么一个对象的equals方法为真,那么他们的hashcode方法返回的int值应该是一样的?

根据equals()方法,如果两个对象相等,调用任一对象的hashCode方法都必须产生相同的整数结果。

如果两个对象根据equals()方法不相等,调用昌平计算机训练的hashCode方法寻找这两个对象中的任意一个,不一定产生相同的整数结果。