史上最牛掰的Java面试题月入轻松过万--集合,GIT,日志篇(四)

1HashMap 的原理

底层是一个数组,数组的每一项是一个链表,每次新建一个 HashMap 时,都会初始化table 数组,存储方式是键值对。

2、 Hashcode 的作用 

主要用于查找的快捷性,如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同;

如果这个位置上没有元素,它就可以直接存储在这个位置上,不用再进行任何比较了;

如果这个位置上已经有元素了,就调用它的equals方法与新元素进行比较,相同的话就不存了;

3ArrayList linkedList 的区别

ArrayList:动态数组数据结构,线程不安全,数据查询非常快

linkedList:基于链表的数据结构,在新增和删除的效率高

4、HashMap HashTable 的区别

父类不同:HashMap继承自AbstractMap类,HashTable是继承自Dictionary类

对外提供的接口不同:

HashTable比HashMap多提供了elments()和contains()两个方法

elments:继承自HashMap的父类Disctionary

contains:判断该HashTable是否包含传入的value

对空值的支持不同

HashMap:键可以有多个对应的值为空

HashTable:键和值都不能为空

安全性不同:

HashMap是线程不安全的,对线程并发会出现线程死锁

HashTable是线程安全的,效率高于HashMap

5Collection 包结构,与 Collections 的区别

Collection是集合类的上级接口,子接口有,set、list、LinkList、ArrayList

Collections是集合类的一个工具类,此类不能实例化,实现集合的搜索,排序,线程安全化等操作

6说说 List,Set,Map 三者的区别?

List:存储一组不唯一,有序的对象。

Set:不允许重复。

Map:键值对存储。

7、GIT常用命令?

初始化本地库:git init

查看日志信息:git log

状态跟踪:git status

添加文件:git add

添加所有文件:git add .

删除:git rm

提交:git commit -a -m

将本地推送到远程:git push

8、有哪些日志框架?

log4j、slf4j

9、日志的级别?

由高到低:ERROR、WARN、INFO、DEBUG

1. DEBUG Level
  指出细粒度信息事件,主要用来调试应用程序。

2.INFO level
  表明粗粒度级别,上强调应用程序的运行过程,比如进入某个业务分支。

3. WARN level
  表明出现潜在错误。

4. ERROR leve
  指出虽然发生错误事件,但不影响系统的继续运行。

5.FATAL level
  指出每个严重的错误事件将会导致应用程序的退出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值