亚信面试题

本文详述了亚信公司的Java面试题目,涵盖Java基础、面向对象、多态、数据结构、集合框架、并发编程、Spring框架、数据库、事务特性等多个方面,深入解析了Java开发中的关键知识点,旨在帮助求职者充分准备面试。
摘要由CSDN通过智能技术生成

2.Java基本数据类型?

基本数据类型是指不可再分的原子数据类型,内存中直接存储此类型的值,通过内存地址即可直接访问到数据,并且此内存区域只能存放这种类型的值。在 Java 中,一共有 8 种基本类型(primitive type),其中有 4 种整型、2 种浮点类型、1 种用于表示 Unicode 编码的字符类型 char 和 1 种用于表示真假值的 boolean 类型。4 种整型:int、short、long、byte2 种浮点类型:float、double字符类型:char真假类型:boolean

3.对象三大特征?

对象的三大特征是:封装、继承和多态。封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承:子类可以重用父类的属性和方法,同时还可以添加自己的属性和方法。多态:同一个接口可以有不同的实现方式,即同一种行为可以有多种不同的表现形式。

4.多态和封装的含义及作用?

多态是指同一个接口可以有不同的实现方式,即同一种行为可以有多种不同的表现形式。多态的作用是为了实现另一个目的是接口重用,多态可以提高代码的灵活性和可扩展性,使得程序更加健壮、易于维护。封装是指将数据和操作数据的方法包装在一起,对外隐藏内部实现细节,只提供有限的公共接口。封装的作用是为了保护对象的内部状态,防止外部对其进行非法访问和修改,同时也可以通过封装来实现代码的复用。

5.方法重写和方法重载的区别?

方法重写和方法重载是Java中多态性的不同表现。重写是指子类中的方法与父类中继承的方法有完全相同的返回值类型、方法名、参数个数以及参数类型,这样就可以实现对父类方法的覆盖。方法重载发生在同一个类中,方法名相同,参数列表不同。方法返回类型、权限修饰符不作为方法重载的依据。

6.String/StringBuffer和StringBuilder区别?

String、StringBuffer 和 StringBuilder 都是 Java 中用来操作字符串的。String:不可变的字符串,因此在动态字符串拼接的场景下不适合使用,效率很低(每次都会生成新的字符串)。StringBuffer:提供了 append 和 insert 方法可用于字符串的拼接,解决了 String 字符串拼接场景下的性能问题,并且它是线程安全的,它使用 synchronized 来保证线程安全。StringBuilder:和 StringBuffer 类似,拥有相同的操作 API,但它可以更高效的拼接字符串,但不能保证线程安全。

7.String常用方法有哪些?

String 类的常见方法有以下这些:length():返回字符串的长度。charAt(int index):返回指定索引处的字符。indexOf(String str):返回指定字符串在当前字符串中第一次出现的位置,如果未找到则返回 -1。substring(int beginIndex):返回从指定索引开始的子字符串。substring(int beginIndex, int endIndex):返回从指定索引开始到指定索引结束的子字符串。toLowerCase():将所有字符转换为小写。toUpperCase():将所有字符转换为大写。trim():去除字符串两端的空格。

8.==和equals有什么区别?

== 对于基本数据类型来说,是用于比较 “值”是否相等的;而对于引用类型来说,是用于比较引用地址是否相同的;而 equals 本质上就是 ==,只不过很多类,比如 String 和 Integer 等类中都重写了 equals 方法,把它变成了值比较。

9.两个对象hashCode相同equals为true吗?

不一定。如果对象在重写 hashCode 方法时,重写了 equals 方法的话,那么 hashCode 相同,它们进行 equals 对比时,结果是有可能为 true 的;但如果重写 hashCode 方法时,没有重写 equals 方法,那么结果一定是 false,如下图所示:

10.ArrayList和LinkedList有什么区别?

ArrayList 和 LinkedList 都是 Java 中的 List 接口的实现类。 但它们有以下不同:底层实现不同:ArrayList 是基于动态数组的数据结构,而 LinkedList 是基于链表的数据结构。随机访问性能不同:ArrayList 优于 LinkedList,因为 ArrayList 可以根据下标以 O(1) 时间复杂度对元素进行随机访问。而 LinkedList 的访问时间复杂度为 O(n),因为它需要遍历整个链表才能找到指定的元素。插入和删除性能不同:LinkedList 优于 ArrayList,因为 LinkedList 的插入和删除操作时间复杂度为 O(1),而 ArrayList 的时间复杂度为 O(n)。更多内容,请参考:https://www.javacn.site/interview/basic/arraylist-linkedlist.html

11.ArrayList 1.6和1.7有什么区别?

ArrayList 在 JDK 1.6 和 JDK 1.7 的区别主要有两方面不同:扩容实现上:JDK 1.6 扩容是原来的 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT界的一只菜鸟

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值