2010年11月 随笔档案 -凯发k8网页登录

——欢迎访问rogerfan的博客,常来《java——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下java技术,交流工作经验,分享java带来的快乐!本网站部分转载文章,如果有凯发k8网页登录的版权问题请与我联系。

     摘要: 首 先在代码与生产库间建立一个connection,将读取到的数据放在resultset对象,然后再与开发库建立一个connection。从 resultset取出数据后通过testconnection插入到开发库,以此来实现copy。代码写完后运行程序,速度太慢了,一秒钟只能copy 一千条数据,生产库上有上亿条数据,按照这个速度同步完要到猴年马月呀,用preparedstatement批处理速度也没有提交多少。我想能不能用多 线程处理,多个人干活总比一个人干活速度要快。
假设生产库有1万条数据,我开5个线程,每个线程分2000条数据,同时向开发库里插数据,oracle支持高并发这样的话速度至少会提高好多倍,按照这 个思路重新进行了编码,批处理设置为1万条一提交,统计插入数量的变量使用 java.util.concurrent.atomic.atomiclong,程序一运行,传输速度飞快cpu利用率在70%~90%,现在一秒钟可 以拷贝50万条记录,没过几分钟上亿条数据一条不落地全部copy到目标库。  
posted @ rogerfan 阅读(944) |  

     摘要: 1. select子句中避免使用 “*”
当你想在select子句中列出所有的column时,使用动态sql列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,oracle在解析的过程中, 会将“*” 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.

2.使用decode函数来减少处理时间
使用decode函数可以避免重复扫描相同记录或重复连接相同的表. 例如:
sql代码 1.select count(*),sum(sal) from emp where dept_no = 0020 and ename like ‘smith%’;
2.select count(*),sum(sal) from emp where dept_no = 0030 and ename like ‘smith%’;
select count(*),sum(sal) from emp where dept_no = 0020 and ename like ‘smith%’;   
posted @ rogerfan 阅读(522) |  

     摘要: 1、将文件checkout到本地目录
svn checkout path(path是服务器 上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库
svn commit -m “logmessage“ [-n] [--no-unlock] path(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci

4、加锁/解锁
svn lock -m “lockmessage“ [--force] path
例如:svn lock -m “lock te  
posted @ rogerfan 阅读(1295) |  

posted @ rogerfan 阅读(765) |  

     摘要: 常见的内存溢出有以下两种:

java.lang.outofmemoryerror: permgen space

java.lang.outofmemoryerror: java heap space



---------------------------------------------------------

这里以tomcat环境为例,其它web服务器如jboss,weblogic等是同一个道理。


一、java.lang.outofmemoryerror: permgen space

permgen space的全称是permanent generation space,是指内存的永久保存区域,
这块内存主要是被jvm存放class和meta信息的,class在被loader时就会被放到permgen space中,
它和存放类实例(instance)的heap区域不同,gc(garbage collection)不会在主  
posted @ rogerfan 阅读(4876) |  

     摘要: 1. 环境:

1.1. red hat linux 9

1.2. tomcat 5.5.17

2. 需要解决一下几个问题

2.1. 不同的tomcat启动和关闭监听不同的端口

2.2. 不同的tomcat的启动文件startup.sh 中要指定各自的catalina_home和catalina_base这两个环境变量。

网站地图