java基础和数据库基础
1.堆内存,栈内存,以及区别?
声明的对象先是在栈内存中分配地址空间;在对其进行实例化后在堆内存中为其分配地址。
2.HashMap和HashSet哪个快,区别?
HashMap比较快,因为是使用唯一的键来获取对象;HashSet中存储的是对象。
3.死锁的形成与解决
死锁是多个线程因为竞争资源而造成的相互等待现象,若无外力作用,这些进程不会再向下执行。
三种避免死锁的技术:
- 加锁顺序(线程按一定顺序加锁)
- 加锁时限(线程尝试获取锁的时候加上一定时限,超过时限则放弃对锁的请求,释放自己占有的锁)
- 死锁检测
4.搜索二叉树原理
特殊的有序二叉树,若根节点的左子树不为空则左子树的所有节点都小于根节点的值,右子树不为空时右子树所有节点的值大于根节点的值。
5.ArrayList(数组集合)与linkedList(链表集合)的区别
- 数据结构不同:ArrayList是动态数组的数据结构,linkedList是链表的数据结构
- 效率不同:查找数据时ArrayList效率高,增加和删除 *** 作linkedList效率高
- 容量大小可变性不同:linkedList大小动态可扩展,ArrayList不可动态扩展(通过改变数组下标)。
- ArrayList主要控件开销在于需要在lList列表预留一定空间;而linkList主要控件开销在于需要存储结点信息以及结点指针信息
数据库基础
- 事务的四大特性
原子性:事务包含的所有 *** 作要么全部成功,要么失败回滚都不执行(不对数据库有影响)。
一致性:数据库在事务执行前后都必须处于一致性状态(两个人转账前后金额总和不变)
隔离性:多用户访问数据库的同一张表时,数据库为用户开启的事务之间不能相互影响。
持久性:事务一旦被提交了对数据库的数据的改变是永久的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)