1.Java 中线程的实现有几种方式
继承Thread类;实现Runnable接口;线程池;
2.Java线程之间的通信
a. wait、notify机制
b pipeInputStream和pipeOutputStream
3.事物的传播特性和隔离级别
事物的传播行为:
REQUIRED:
NOT_SUPPORTED:
REQUIRESNEW:
MANDATORY:
SUPPORTS:
NEVER:
NESTED:
事务的隔离级别
s
ISOLATION_DEFAULT
ISOLATION_READ_UNCOMMITTED这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读
ISOLATION_READ_COMMITTED
ISOLATION_REPEATABLE_READ
ISOLATION_SERIALIZABLE
脏读:
不可重复读:
幻读:
4.List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
5.hashMap的实现原理:
具体可以参考:http://blog.csdn.net/vking_wang/article/details/14166593
6.从100万数据中找出最大10条的最优算法
构建一个只有10个元素的min-heap,那么根结点就是这10个数中最小的数,然后开始遍历数组,如果遇到的数比min-heap的根结点还小,直接跳过,遇到比min-heap根结点大的数,就替代根结点,然后对这个min-heap进行维护(也就是排序,保证heap的特征)。那么遍历完数组后,这个min-heap的10个元素就是最大的10个数。
7.String类的 intern() 方法
-
返回字符串对象的规范化表示形式。
一个初始为空的字符串池,它由类
String
私有地维护。当调用 intern 方法时,如果池已经包含一个等于此
String
对象的字符串(用equals(Object)
方法确定),则返回池中的字符串。否则,将此String
对象添加到池中,并返回此String
对象的引用。它遵循以下规则:对于任意两个字符串
s
和t
,当且仅当s.equals(t)
为true
时,s.intern() == t.intern()
才为true
。所有字面值字符串和字符串赋值常量表达式都使用 intern 方法进行操作。
-
返回一个字符串,内容与此字符串相同,但一定取自具有唯一字符串的池。