只显示主题贴
select * from (
//先用一个select把待查sql包围起来,此时rownum已经形成
select row_.*, rownum rownum_ from ( select * from Test ) row_
) where rownum_ <= m and rownum_ >= n;
假如Test很大,我想从一百万到一百万零一千条,速度怎么样?
- 进入论坛 入门讨论 版
项目里有一个应用,需要从数据库1中读取的数据记录再保存到数据库2中,成功保存后,把数据库1中的记录置个状态来表明已经成功导出到数据库2中。
应用比较简单,而且数据库1的连接地址不可预先得知,所以没有jta。
所以就使用了事务延迟的方法来实现:
DriverManagerDataSource dataSource = new DriverManagerDataSource();
try {
dataSource.setDriverClass("oracle.jdbc.driver.OracleDriver");
} catch (PropertyVet ...
- 进入论坛 入门讨论 版
jsyx 写道cammette 写道jsyx 写道cammette 写道第一种这样会好点
synchronized(key)
{
value = map.get(key);
}
个人认为,这种写法不是线程安全的
为什么呢?
我们操作map时关注的是key对应的value。
只要我们改变某key的value能同步不就可以了吗?
你总要考虑到写的情况吧。
楼主的测试使用的是HashMap。
在java中,hashmap内部是使用数组来实现的。
无论是put还是get,首先都要根据key的hash值以及数组的长度以及一些其他的常数,计算出一个位置,然后对应ge ...
- 进入论坛 Java 版
jsyx 写道cammette 写道第一种这样会好点
synchronized(key)
{
value = map.get(key);
}
个人认为,这种写法不是线程安全的
为什么呢?
我们操作map时关注的是key对应的value。
只要我们改变某key的value能同步不就可以了吗?
- 进入论坛 Java 版
你ajax发送表单数据用的是utf-8,接受的时候要求的是gbk.
在后台:
if("POST".equalsIgnoreCase(method)){
value = new String(value.getBytes("GB18030"),"utf-8");
}
改为
if("POST".equalsIgnoreCase(method)){
value = new String(value.getBytes("utf-8"),"gbk");
}
看看
- 进入论坛 入门讨论 版







评论排行榜