复习笔记

  • 频繁发生full gc:

full gc频繁说明old区很快满了。

如果是一次fullgc后,剩余对象不多。那么说明你eden区设置太小,导致短生命周期的对象进入了old区。

如果一次fullgc后,old区回收率不大,那么说明old区太小。

  • 数据库三级封锁协议

一级封锁协议:事务T在修改数据R之前必须对其加X锁,直到事务结束才释放。以及封锁协议可以防止修改丢失,并保证事务T是可恢复的。在一级封锁协议中,如果仅仅是读数据不对其进行修改,是不需要加锁的,所以它不能保证可重复读和不读“脏”数据。

二级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级封锁协议除防止丢失修改,还可进一步防止读“脏”数据。在二级封锁协议中,由于读完数据即可释放S锁,所以它不能保证可重复读。

三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议可以防止丢失修改,读“脏"数据和不可重复读。

  • Spring支持如下三种方式创建Bean

1:调用构造器创建Bean

2:调用静态工厂方法创建Bean

3:调用实例工厂方法创建Bean

posted @ 2018-07-02 20:14  芦苇不学习  阅读(177)  评论(0)    收藏  举报