代码优化1.充分利用Java提供的库函数来优化程序。 \n2.利用移位来做乘除。 \n3.String可以使用StringBuffer和char[]数组秋做性能优化。内存管理经验1.如果程序允许,尽早将不用的引用对象赋为null。 \n2.尽量在合适的场景下使用对象池技术以提高系统性能。优化JDBC连接1.设置合适的预取行值。 \n建立与数据库的连接方法如下:DriverManager.getConnect
1.充分利用Java提供的库函数来优化程序。 2.利用移位来做乘除。 3.String可以使用StringBuffer和char[]数组秋做性能优化。
1.如果程序允许,尽早将不用的引用对象赋为null。 2.尽量在合适的场景下使用对象池技术以提高系统性能。
1.设置合适的预取行值。 建立与数据库的连接方法如下:
DriverManager.getConnection(String url);
DriverManager.getConnection(String url,Properties props);
DriverManager.getConnection(String url,String user,String pwd);
Driver.connect(String url,Properties props);
或通过DataSource在数据库连接池中获取连接对象。 2.采用连接池技术。 3.合理应用事务。 (1)jdbc的事务范围仅局限于一个数据库连接。 (2)jdbc的事务不能跨越多个数据库。 (3)默认下,jdbc的事务是在执行完一个Statement操作后事务由系统自动提交。 4.选择合适的事物隔离层与及时关闭连接对象。 (1)无丢失更新。并发操作影响的纪录没有被更新。 (2)脏数据。在没有commit时,别人已经读取数据了,然后又rollback了。 (3)不可重复读。当用户读取一表数据的同时,有可能有新的数据插入造成读取的数据不真实。在可重复读中,该sql第一次读取到数据后,就将这些数据加锁,其它事务无法修改这些数据,就可以实现重复读了。但这种方法无法锁住insert的数据,所以当事务A先前读取了数据,或者修改了全部数据,事务B还是可以insert数据提交,这时事务A就会发现其莫名其妙多了一条之前没有的数据,这就是幻读。 (4)幻影。不可重复读的重点在于update和delete,而幻读的重点在insert。 5.优化Statement对象
Statement
|__PreparedStatement
|__CallabelStatement
第一种用于执行不带参数的简单SQL语句。每次都编译。 第二种用于指定带或不带in参数的预编译SQL语句。SQL只编译一次,然后放到命令缓冲区中。 第三种用于执行数据库存储过程的调用。 5.Blob是二进制数据,Clob是文本文件对象,最多可以存储2G。
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com