1. 如何解决数据库死锁?
- 首先可以尝试先断开当前与数据库的链接。
- 如果还是死锁状态可以查询出占有数据库锁的链接,查询到之后断开该客户端链接。
2. 如果处理并发数据?
- 可以在数据库服务端尝试使用加锁的方式实现数据的一致性。
- 在程序中可以使用异步执行的方式,提高系统的并发量。
- 还可以引入消息中间件保证数据的最终一致性。
3. Class.forName()方法的作用是什么?
Class.forName()可以通过字符串参数加载制定的类,如果指定的类已经被加载了那么它能够直接返回,如果没有加载那么会通过委托机制去搜索并加载该类,但是如果所有的类加载器都不能够加载到该类那么就会抛出ClassNotFoundException不能找到该类,如果该类可以被加载那么就可以调用newIncetece()方法去实例化该类。
4. 存储过程的优缺点有哪些?
优点:
- 是已经编译好的SQL语句、逻辑语句集。
- 执行数据比较快。
- 调用起来比较简单,可以在数据库服务端加入一些简单的逻辑,在一定程度上可以减少应用程序主体的代码修改。
缺点:
- 调试比较困难。
- 不是所有的场景都适用。
5. cookie与session之间的区别是什么?
cookie是保存在客户端浏览器上的,session是保存在服务器端的,session表示的是一次会话,而cookie能够缓存数据,在cookie中不宜保存一些比较敏感的数据,如果非要存储可以通过md5加盐的方式封装数据。