page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6249 次

3096 个回答

0 赞同

16、final、finally、finalize 的区别?

final:用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖、被其修饰的类不可继承; finally:异常处理语句结构的一部分,表示总是执行; finallize:Object类的一个方法,在垃圾回收时会调用被回收对象的finalize

回答于 2022-01-14 14:13

0 赞同

两个对象的 hashCode() 相同,则 equals() 也一定为 true 吗?

两个对象的 hashCode() 相同,equals() 不一定为 true。因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等【散列冲突】。

回答于 2022-01-14 14:12

0 赞同

为什么重写 equals() 就一定要重写 hashCode() 方法?

这个问题应该是有个前提,就是你需要用到 HashMap、HashSet 等 Java 集合,用不到哈希表的话,其实仅仅重写 equals() 方法也可以。而工作中的场景是常常用到 Java 集合,所以 Java 官方建议重写 equals() 就一定要重写 hashCode() 方法。 对于对象集合的判重,如果一个集合含有 10000 个对象实例,仅仅使用 equals() 方法...

回答于 2022-01-14 14:12

0 赞同

& 和 && 的区别?

Java 中 && 和 & 都是表示与的逻辑运算符,都表示逻辑运输符 and,当两边的表达式都为 true 的时候,整个运算结果才为 true,否则为 false。 &&:有短路功能,当第一个表达式的值为 false 的时候,则不再计算第二个表达式; &:不管第一个表达式结果是否为 true,第二个都会执行。除此之外,&amp...

回答于 2022-01-14 14:11

0 赞同

Java 中的参数传递时传值呢?还是传引用?

Java 的参数是以值传递的形式传入方法中,而不是引用传递。 当传递方法参数类型为基本数据类型(数字以及布尔值)时,一个方法是不可能修改一个基本数据类型的参数。 当传递方法参数类型为引用数据类型时,一个方法将修改一个引用数据类型的参数所指向对象的值。即使 Java 函数在传递引用数据类型时,也只是拷贝了引用的...

回答于 2022-01-14 14:11

0 赞同

epoll的实现知道么?在内核当中是什么样的数据结构进行存储,每...

在内核当中是以红黑树的方式组织监听的事件,查询开销是O(logn)。采用回调的方式检测就绪事件,时间复杂的位O(1);

回答于 2022-01-13 15:01

0 赞同

解释下什么是面向对象?面向对象和面向过程的区别?

面向对象是一种基于面向过程的编程思想,是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。由执行者变为指挥者,在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动。 区别: (1)编程思路不同:面向过程以实现功能的函数开发为主,而...

回答于 2022-01-13 15:01

0 赞同

面向对象的三大特性?分别解释下?

(1)封装:通常认为封装是把数据和操作数据的方法封装起来,对数据的访问只能通过已定义的接口。(2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类/基类),得到继承信息的被称为子类(派生类)。(3)多态:分为编译时多态(方法重载)和运行时多态(方法重写)。要实现多态需要做...

回答于 2022-01-13 15:00

0 赞同

JDK、JRE、JVM 三者之间的关系?

JDK(Java Development Kit):是 Java 开发工具包,是整个 Java 的核心,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。 JRE( Java Runtime Environment):是 Java 的运行环境,包含 JVM 标准实现及 Java 核心类库。 JVM(Java Virtual Machine):是 Java 虚拟机,是整个 Java 实现跨平台的最核心的部分,能...

回答于 2022-01-13 14:58

0 赞同

重载和重写的区别?

1、使用 new 关键字; 2、使用 Class 类的 newInstance 方法,该方法调用无参的构造器创建对象(反射):Class.forName.newInstance(); 3、使用 clone() 方法; 4、反序列化,比如调用 ObjectInputStream 类的 readObject() 方法。

回答于 2022-01-13 14:57