Java编程优化

白色玫瑰 程序猿

时间: 2023-07-11 阅读: 6 字数:1934

{}
代码优化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.尽量在合适的场景下使用对象池技术以提高系统性能。

优化JDBC连接

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。

原文地址:https://blog.csdn.net/CHS007chs/article/details/52083732?ops_request_misc=&request_id=2ed39bf585544a58bf5df53eee7d3eca&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~all~koosearch~default-14-52083732-null-null.142^v88^insert_down28v1,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96

本文章网址:https://www.sjxi.cn/detil/5cd5add5d3f644c6adcacafd9b8d7c70

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复