1. 作用域public、protected、private以及不写时的区别?
public 表示公有,声明的为公共成员变量和函数成员,在整个类内类外都可使用,对所有用户开放,可以直接进行调用
private 表示私有, 声明的为私有成员变量和函数成员,只在声明的类内可以使用,处了本类(自己)以外都不能使用
protected 表示受保护 ,声明的为受保护成员变量和函数成员,类外不可以使用,类内可以使用
不写 表示当前类和同级(同包)类可以使用
2. int和Integer有什么区别?
int是Java提供的8种基本数据类型(byte、boolean、char、int、short、long、float、double)之一,默认值为0,
Java语言为八大基础数据类型提供了包装类,Integer是int类型的包装类,是引用类型,就是把int类型包装成Object对象,默认值为null,比较多的用途是用在于各种数据类型的转化中。
3. 说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别
ArrayList 和 Vector:以数组的方式存储,增、删慢,查、改快
ArrayList:线程不安全,速度快
Vector:线程安全,速度慢( synchoronized add() ),性能较ArrayList差
LikedList: 以双链表的方式存储,按序号索引数据需要进行前向或后向遍历,增、删快,查、改慢
HashMap与Hashtable都实现的Map接口,将唯一键映射到特定的值上,
主要区别:
(1)HaspMap 没有排序,允许一个null值键和多个null值,而Hashtable不允许
(2)HaspMap把Hashtable的contains方法去掉了,改成containsvalue和containskey,因为contains方法容易让人引起误解;
(3)Hashtable继承自Dictionary类,HashMap是Java1.2引进的Map接口的实现;
(4)Hashtable的方法是Synchronize的,是线程安全的,而HashMap线程不安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap需要为之提供外同步
4. 事务是什么?事务的四大特性? jdbc如何做事务处理?
事务是指访问并可能更新数据库中各种数据项的一个程序执行单元
(1)原子性(Atomicity):对数据操作的一个单个逻辑单元,这个单元有可能有多个操作,要不同时成功,要不同时失败
(2)隔离性(Isolation):指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。
(3)一致性(Consistency):是在一个事务执行之前和执行之后数据库都必须处于一致性状态
(4)持久性(Durability):一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的
JDBC事务处理:
connection.setAutoCommit( false);
connection.commit();
connection.rollback();
connection.setAutoCommit( true);