java面试大全面试题01

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

不对,两个对象的 hashCode() 相同,equals() 不一定 true。

String str1 = "通话"; String str2 = "重地"; System. out. println(String. format("str1:%d | str2:%d", str1. hashCode(),str2. hashCode())); System. out. println(str1. equals(str2)); 

执行结果:
str1:1179395 | str2:1179395 false
hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等

2.String属性基础的数据类型吗?

基础有8种:byte,short,int,long float,double, char,boolen,String属于对象

3. java操作字符串类型的类有几种?它们之间的区别?

3种:String,StingBuilder,StringBuffer.
String底层被final char[]修改的一个字符数组,所以String不可以被继承,不可以被修改。StringBuffer可以改变字符串的长度,可以进行相关的增删改查操作。
StringBuilder和StringBuffer区别:StringBuilder线程不安全适用于单线程操作,StringBuffer线程安全因为方法内部加了同步锁(synchronized),经常用于多线程操作
同步锁:一种是lock锁,一种是synchronize锁,还有一种呢是vilatile锁
三种锁都能保证我们的数据同步,不会出现重复数据的问题。

4.如何将字符串上反转?

可以使用StringBuffer或者StringBuilder的reverse()方法。

5.String类的常用 的方法?

equals()

toLowerCase()

toUpCase()

equalsIngonoreCase()

charAt()

subString()

endWith()

startWith()

split()

toCharArray()

compareTo()

concant()

抽象类不一定要有抽象方法。

6.普通类和抽象类的区别?

普通类不可以有抽象方法,抽象类可以有。
普通类可以实例化,抽象类不可以实例化。

7.抽象类能使用 final 修饰吗?

不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类.

接口和抽象类有什么区别?

  • 实现:抽象类的子类 使用extends来继承,接口用implements实现。
  • 抽象类可以有构造函数,接口不可以
  • java只有单继承(继承一个抽象类),可以实现多个接口(implements)
  • 接口的方法默认public修饰,抽象类的方法可以使用任何的访问修饰符。

8垃圾回收哪些需要回收?

有三个是不需要回收的,JVM栈,本地方法栈,程序计数器。只有方法区和堆需要进行GC(Garbage Cycle)

9.Mybatis添加数据同时获取添加数据之后的id?

在<insert 这个标签上面加上useGeneratedKeys=“true” keyProperty=“id”,可以测试的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有时间指导毕业设计

觉得写的好的话可以给我打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值