2021-10-20

java基础和数据库基础

1.堆内存,栈内存,以及区别?

   声明的对象先是在栈内存中分配地址空间;在对其进行实例化后在堆内存中为其分配地址。

2.HashMap和HashSet哪个快,区别?

   HashMap比较快,因为是使用唯一的键来获取对象;HashSet中存储的是对象。

3.死锁的形成与解决

   死锁是多个线程因为竞争资源而造成的相互等待现象,若无外力作用,这些进程不会再向下执行。

   三种避免死锁的技术:

  1. 加锁顺序(线程按一定顺序加锁)
  2. 加锁时限(线程尝试获取锁的时候加上一定时限,超过时限则放弃对锁的请求,释放自己占有的锁)
  3. 死锁检测

 4.搜索二叉树原理

   特殊的有序二叉树,若根节点的左子树不为空则左子树的所有节点都小于根节点的值,右子树不为空时右子树所有节点的值大于根节点的值。

5.ArrayList(数组集合)与LinkedList(链表集合)的区别

  1. 数据结构不同:ArrayList是动态数组的数据结构,LinkedList是链表的数据结构
  2. 效率不同:查找数据时ArrayList效率高,增加和删除操作LinkedList效率高
  3. 容量大小可变性不同:LinkedList大小动态可扩展,ArrayList不可动态扩展(通过改变数组下标)。
  4. ArrayList主要控件开销在于需要在lList列表预留一定空间;而LinkList主要控件开销在于需要存储结点信息以及结点指针信息

数据库基础

  1. 事务的四大特性

原子性:事务包含的所有操作要么全部成功,要么失败回滚都不执行(不对数据库有影响)。

一致性:数据库在事务执行前后都必须处于一致性状态(两个人转账前后金额总和不变)

隔离性:多用户访问数据库的同一张表时,数据库为用户开启的事务之间不能相互影响。

持久性:事务一旦被提交了对数据库的数据的改变是永久的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值