大连Java培训
达内大连中心

0411-39585500

热门课程

java开发面试简答题练习

  • 时间:2017-09-19 14:51
  • 发布:大连java培训
  • 来源:笔试题

作为java开发者,最好时常练习java开发中的一些基本知识,这样才能保持技能熟练,避免在面试时答不上问题的尴尬。本文为大家介绍java开发面试简答题练习

1、使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

答:要提升读取数据的性能,可以指定通过结果集(ResultSet)对象的setFetchSize()方法指定每次抓取的记录数(典型的空间换时间策略);

要提升更新数据的性能可以使用PreparedStatement语句构建批处理,将若干SQL语句置于一个批处理中执行。

2、在进行数据库编程时,连接池有什么作用?

答:由于创建连接和释放连接都有很大的开销(尤其是数据库服务器不在本地时,每次建立连接都需要进行TCP的三次握手,释放连接需要进行TCP四次握手,造成的开销是不可忽视的),为了提升系统访问数据库的性能,可以事先创建若干连接置于连接池中,需要时直接从连接池获取,使用结束时归还连接池而不必关闭连接,从而避免频繁创建和释放连接所造成的开销,这是典型的用空间换取时间的策略(浪费了空间存储连接,但节省了创建和释放连接的时间)。

池化技术在Java开发中是很常见的,在使用线程时创建线程池的道理与此相同。基于Java的开源数据库连接池主要有:C3P0、Proxool、DBCP、BoneCP、Druid等。

补充:在计算机系统中时间和空间是不可调和的矛盾,理解这一点对设计满足性能要求的算法是至关重要的。大型网站性能优化的一个关键就是使用缓存,而缓存跟上面讲的连接池道理非常类似,也是使用空间换时间的策略。

可以将热点数据置于缓存中,当用户查询这些数据时可以直接从缓存中得到,这无论如何也快过去数据库中查询。当然,缓存的置换策略等也会对系统性能产生重要影响,对于这个问题的讨论已经超出了这里要阐述的范围。

上一篇:2017年java开发就业方向有哪些
下一篇:java开发面试题:请简述Struts的优缺点有哪些

java开发面试:C/S 与B/S的区别有哪些

java开发面试题:请简述Struts的优缺点有哪些

java开发面试简答题练习

2017年java开发就业方向有哪些

选择城市和中心
贵州省

广西省

海南省