【面试题解析】--20200123Java软件开发工程师面试题解析

1. 如何解决数据库死锁?

  • 首先可以尝试先断开当前与数据库的链接。
  • 如果还是死锁状态可以查询出占有数据库锁的链接,查询到之后断开该客户端链接。

2. 如果处理并发数据?

  • 可以在数据库服务端尝试使用加锁的方式实现数据的一致性。
  • 在程序中可以使用异步执行的方式,提高系统的并发量。
  • 还可以引入消息中间件保证数据的最终一致性。

3. Class.forName()方法的作用是什么?

Class.forName()可以通过字符串参数加载制定的类,如果指定的类已经被加载了那么它能够直接返回,如果没有加载那么会通过委托机制去搜索并加载该类,但是如果所有的类加载器都不能够加载到该类那么就会抛出ClassNotFoundException不能找到该类,如果该类可以被加载那么就可以调用newIncetece()方法去实例化该类。

4. 存储过程的优缺点有哪些?

优点:

  • 是已经编译好的SQL语句、逻辑语句集。
  • 执行数据比较快。
  • 调用起来比较简单,可以在数据库服务端加入一些简单的逻辑,在一定程度上可以减少应用程序主体的代码修改。

缺点:

  • 调试比较困难。
  • 不是所有的场景都适用。

5. cookie与session之间的区别是什么?

cookie是保存在客户端浏览器上的,session是保存在服务器端的,session表示的是一次会话,而cookie能够缓存数据,在cookie中不宜保存一些比较敏感的数据,如果非要存储可以通过md5加盐的方式封装数据。

发布了59 篇原创文章 · 获赞 18 · 访问量 8504

猜你喜欢

转载自blog.csdn.net/qq_43199016/article/details/104078760