Java面试题乱笔

此篇整理的面试题型有点乱,请见谅。

Object 类中的方法
12种:
Object()     
wait()      wait(long)     wait(long,int)     
hashCode()     equals(Object)
finalize()     clone()
toString()     getClass()
notify()     notifyAll()

hashmap put 方法存放的时候怎么判断是否是重复的
利用hashcode()方法,若相同,在用equal方法来判断(equals需要重写)

Object toString 方法常用的地方,为什么要重写该方法

toString方法中,return getClass().getName()+"@"+Integer.toHexString(hashCode());

Set 和 List 区别?

Set接口是无序(但它下面的SortedSet接口有序),不能重复的
List接口是有序并且能重复

ArrayList 和 LinkedList 区别

ArrayList是通过变长数组的算法实现
LinkedList是双向循环链表构成

如果存取相同的数据,ArrayList 和 LinkedList 谁占用空间更大?

LinkedList大,因为LinkedList是链表结构构成的,除了每个存储空间除了放自身值,还要放“指针”

Set 存的顺序是有序的吗?
Set是无序不重复的,但它的SortedSet子接口是有序的

常见 Set 的实现有哪些?

HashSet及其子类LinkedHashSet     Set的子接口SortedSet的实现类TreeSet

TreeSet 对存入对数据有什么要求呢?

数据不能重复,数据类型一致(/*可以通过重写Comparable接口中的compare方法实现数据重复*/)

HashSet 的底层实现呢
底层实现了HashMap
  • 对于HashSet中保存的对象,主要要正确重写equals方法和hashCode方法,以保证放入Set对象的唯一性
  • 虽说是Set是对于重复的元素不放入,倒不如直接说是底层的Map直接把原值替代了(这个Set的put方法的返回值真有意思)
  • HashSet没有提供get()方法,愿意是同HashMap一样,Set内部是无序的,只能通过迭代的方式获得

Java 中有哪些线程安全的 Map?
TableMap     SynchronizedMap     ConcurrentHashMap(红黑树和CAS算法)

hashcode 和 equals 方法常用地方

Java中的HashMap使用hashCode()equals()方法来确定键值对的索引,当根据键获取值的时候也会用到这两个方法。如果没有正确的实现这两个方法,两个不同的键可能会有相同的hash值,因此,可能会被集合认为是相等的。而且,这两个方法也用来发现重复元素。所以这两个方法的实现对HashMap的精确性和正确性是至关重要的。



get与post请求的区别
get请求的大小有限,并且不安全,显示在url栏里,请求成功后返回的数据能缓存
post没大小限制,无缓存
最本质的区别是get请求发送一次数据包,服务器响应200(返回数据)
post请求是发送两次数据包,第一次先发送header,服务器响应100 继续,在发送第二次data,服务器响应200(返回数据)。

 

转载于:https://www.cnblogs.com/bqylister/p/9638511.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值