写给自己的几点建议持续更新

1、通常在遍历一个Iterator的时候不建议修改集合本身。

2、Hashtable上下文中同步是什么意思? 同步意味着在一个时间点只能有一个线程可以修改哈希表,任何线程在执行hashtable的更新操作前需要获取对象锁,其他线程等待锁的释放。

3、
select * from v$locked_object a,user_objects b where a.OBJECT_ID = b.object_id(+);
--查看哪些记录被锁住
alter   system   kill   session   '4 ';
--释放当前锁住的记录

4、匿名的内部类是没有名字的内部类。能extends(继承) 其它类,可以实现接口。

5、sleep() 和 wait() 有什么区别:
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。 自动释放锁

wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。  不释放锁  所以容易造成死锁,不建议使用

6、String sql = "select *  from student where id = " + sId;
这个sId是字符型,如果拼的SQL没有用单引号引起来,Oracle会隐含做一个to_char(sId)函数转换成实际的数据类型,这样的话索引就不起作用了。

猜你喜欢

转载自zhangweioak.iteye.com/blog/1631302
今日推荐