面试题汇总

本文对比分析了数组、链表、栈、队列等基本数据结构的特点与应用场景,并深入探讨了HashMap与TreeMap的工作原理及适用场景。同时,还介绍了MySQL事务的四大特性。
  1. 数组和链表的区别
  2. 栈和队列的区别
  3. ArrayList 和 LinkedList的区别
    ArrayList 类似于数组,有数组的特性
    LinkedList 类似于链表,有链表的特性
    相同点:ArrayList ,LinkedList 都是线程不安全的。
    实现栈
    1 )数组(ArrayList ,增删效率比较低,不适合)
    2 )LinkedList (实现堆栈的好方法)
    3 )java.util.Stack 类,Stack 是Vector 的子类,Vector 类是一个线程安全的(是一个重量级的类),并继承了Vector 的方法,Verctor 类和ArrayList 的功能近乎相同。(不推荐使用Stack 类来实现堆栈)。
  4. hashMap和TreeMap的区别

Map:在数组中是通过数组下标来对 其内容进行索引的,而Map是通过对象来对 对象进行索引的,用来 索引的对象叫键key,其对应的对象叫值value;
1、HashMap是通过hashcode()对其内容进行快速查找的;HashMap中的元素是没有顺序的;
TreeMap中所有的元素都是有某一固定顺序的,如果需要得到一个有序的结果,就应该使用TreeMap;
2、HashMap和TreeMap都不是线程安全的;
3、HashMap继承AbstractMap类;覆盖了hashcode() 和equals() 方法,以确保两个相等的映射返回相同的哈希值;
TreeMap继承SortedMap类;他保持键的有序顺序;
4、HashMap:基于hash表实现的;使用HashMap要求添加的键类明确定义了hashcode() 和equals() (可以重写该方法);为了优化HashMap的空间使用,可以调优初始容量和负载因子;
TreeMap:基于红黑树实现的;TreeMap就没有调优选项,因为红黑树总是处于平衡的状态;
5、HashMap:适用于Map插入,删除,定位元素;
TreeMap:适用于按自然顺序或自定义顺序遍历键(key);

  1. mysql 事物的特性
    原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)
  2. 事物的原理
    redo log 重做日志,和 undo log 回滚日志
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值