b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

weblogic连接池多个ip_weblogic换ip_linux下启动weblogic(2)

电脑杂谈  发布时间:2017-02-25 12:21:48  来源:网络整理

1.1.4 尽量使用pool,buffer和cache

使用pool、buffer和cache能大大提高系统的性能,这在J2EE的大部分技术中都是适用的。

在WebLogic中就大量使用了池:JDBC Connection Pool、Socket Pool、Object Pool和Thread Pool。I/O操作中,buffer是必须的,特别是对大文件的操作,不然容易造成内存溢出。字节操作最快,所以尽可能采用write(byte[]),Buffered FileOutputStream比Buffered FileWriter要快,因为FileWriter需要Unicode到Byte的转换。

而后面讲到的JDBC、JSP、EJB和JMS我们都非常建议使用buffer和cache。为HttpServletResponse设置buffersize,使用wl-cache,缓存在JNDI树上获取的对象等等。

此外,使用JDK 1.4的非阻塞I/O对性能也有很大提高。

1.2 JDBC代码调优

1.2.1 严格资源使用

JDBC代码调优最大的原则就是使用WebLogic的连接池,而不是自己直连。在我接触的很多自己实现连接池的项目中,大部分遇到死锁和连接泄漏的问题,最后得不得修改代码。而WebLogic提供了功能强大,性能良好的连接池,我们要做的只是封装一个连接管理类,从JNDI树上获取数据源并缓存,得到连接,并提供一系列关闭资源的方法。

对任何资源使用的原则是用完即关,不管是资源、上下文环境,还是文件。资源的泄漏极易造成内存泄漏,乃至系统崩溃。在使用完资源后依次关闭ResultSet,Statement和Connection,而在一个连接多次进行操作时要特别注意ResultSet和Statement依次关闭。

try{

//open connection

pstmt =conn.prepareStatement(strSql1);

pstmt.executeUpdate();

pstmt.close();

pstmt =conn.prepareStatement(strSql2);

rs=pstmt.executeQuery();

while (rs.next()){

//process

}

rs.close();

pstmt.close();

}catch(Exception e){

//close rs,psmt,con

}finally{

//close rs,psmt,con

}

1.2.2 实用技巧

在JDBC操作中还有一些小的技巧跟大家分享:由于获取连接时默认自动提交方式,使用connection.setAutoCommit(false)关闭自动提交,使用PreparedStatement,批量更新,业务复杂或者大数据量操作时使用存储过程,尽量使用RowSet,此外设置记录集读取缓存FetchSize和设置记录集读取方向FetchDirection对性能也有一定的提高。

1.2.3 优化SQL语句

SQL语句的优化牵涉到很多的知识,需要与索引配合,因此需要DBA对代码中的SQL进行检查测试。常见的,select *不提倡使用,效率极差,建议显式获取列,即使是所有字段也应罗列,而取总数时使用count(*),为提高cache的命中率,尽量做到SQL重用。对于大数据量的查询,可以充分利用Oracle的特性,每次取出m-n行的数据,实现分页查询。另外,提高性能的好选择可能就是把所有的字符数据都保存为Unicode,Java以Unicode形式处理所有数据,因此,驱动程序不必再执行转换过程。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-34413-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...