Java面试题乱笔

2021-07-01 05:05

阅读:472

标签:rda   相等   线程安全   time   font   ted   循环链表   显示   mes   

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

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(返回数据)。

 

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的实现类TreeSetTreeSet 对存入对数据有什么要求呢?数据不能重复,数据类型一致(/*可以通过重写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(返回数据)。

 

Java面试题乱笔

标签:rda   相等   线程安全   time   font   ted   循环链表   显示   mes   

原文地址:https://www.cnblogs.com/bqylister/p/9638511.html


评论


亲,登录后才可以留言!