Java面试知识点总结

15 篇文章 0 订阅

1.Git和SVN的区别

  git是分布式的,SVN不是;git把数据按元数据方式存储,而SVN是按文件;git分支和SVN分支不同;git没有一个全局的版本号,而SVN有;git的内容完整性要优于SVN。

2.http与HTTPS的区别

  HTTPS采用的是SSL加密,信息传输更加安全;

  端口号不一样,HTTP的端口是80,后者是443。

  HTTP的连接是无状态的,而HTTPS是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

3.ArrayList和LinkedList的区别

  1>ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
  2>对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 

  3>对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

4.ArrayList在循环中删除元素

  不建议在for循环中循环判断条件,当条件满足时删除某一元素。

  要么将ArrayList转换为Iterator然后判断条件Remove元素,要么使用第三个集合存储更改后的值。

  不建议的原因是当删除后,ArrayList内部的索引发生变化,删除元素后的值整体往前挪一位,最后导致出现错误。

5.无状态的对象永远是线程安全的

6.HashMap与hashtable的区别

  HashMap是支持null键和null值的,而HashTable在遇到null时,会抛出NullPointerException异常。

  HashTable是同步的,HashMap不是,也就是说HashTable在多线程使用的情况下,不需要做额外的同步,而HashMap则不行。

  HashTable已经被淘汰了,不要在代码中再使用它。简单来说就是,如果你不需要线程安全,那么使用HashMap,如果需要线程安全,那么使用ConcurrentHashMap。HashTable已经被淘汰了,不要在新的代码中再使用它。

7.遍历map的方式

  1>for循环对keySet对象进行遍历

  2>iterator迭代entrySet对象

  3>for循环遍历map.values(),只能得到value值

  4>map.entrySet遍历key和value

8.map和set的联系

  map.keySet获取的是map的所有key值,最后显示的是一个set。map集合的所有key具有set集合的特征,不能重复且没有顺序。

9.对set的遍历

  使用加强for循环或者iterator迭代器的方式进行迭代。


  

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值