首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

(时时添加更新)本人code中积累或总结

2012-10-27 
(随时添加更新)本人code中积累或总结1 一定要注意资源使用以后要释放,比如数据库的连接,流的使用,一些API

(随时添加更新)本人code中积累或总结

1 一定要注意资源使用以后要释放,比如数据库的连接,流的使用,一些API中明文显示的可以不关闭.
2 工作中一定要考虑到多线程的情况,为了避免多线程引起的exception,尽量不用全局变量,用局部变量.
3.文件路径中包含空格或其他符号时,如F:/Program Files/xxxxx? 时,请用API中的URLDecoder编下码,如Strng path = URLDecoder.decode("F:/Program Files/xxxxx","UTF-8");
4.最优化的SQL Server查询分页语句
declare @pagesize int;
set @pagesize=10
declare @currentpage int
set @currentpage=3
--print @currentpage
select * from
(?? select TOP (@pagesize) * FROM
( SELECT TOP ((@currentpage)*(@pagesize))?? * from ipaddressmappings?? ORDER BY id ASC ) as atable??
ORDER BY id DESC ) as btable??
ORDER BY id ASC
//======================
先按照id从小到大升序取出30条记录(3*10),也就是:id 在 1-30 之间的记录 (SELECT TOP 30?? * from user_table?? ORDER BY id ASC)

然后按照ID降序排列这30条记录,得到记录为id 在:从30到 1?

然后在这些30条记录中取出前10条记录:取得的记录为:id 在30-21之间。这就是我们需要的数据,但这时是按照降序排列的,不符合要求。

最后在重新排序得到最终我们需要的数据。id在21-30之间。

5 oracle order by 分页sql语句
select * from? mobileuser? where id in(select id from (select rownum rn,id from(select id ,expiretime from
mobileuser order by expiretime desc) where rownum<20) where rn>0) order by expiretime desc
6.
String[] test = new String[]{"test1","test2","test3","test4"};
System.out.prinitln(test.toString());
这时打印出来的是[Ljava.lang.String;@c17164
[代表数据的意思,Ljava.......是指String数组,后面是散列值
System.out.println(java.util.Arrays.toString(test));
这时会把这些值打印出来
[test1, test2, test3,test4]
还有一个方法,是说如果String数组里面还有数组的时候,可以用下面的方法打印出来


此时会显示什么呢


如果我们像上面写图片地址,则别人就可以直接下载这个地址或盗链该图片,这里我们使用下面代码来阻止别人查看图片真实地址


我们另新建一个images.jsp文件,里面的内容为

log4j.appender.FILE=org.apache.log4j.FileAppender   log4j.appender.FILE.Append=false   log4j.appender.FILE.File=file.log   log4j.appender.FILE.encoding=UTF-8   log4j.appender.FILE.layout=org.apache.log4j.PatternLayout   log4j.appender.FILE.layout.ConversionPattern=%d - %c -%-4r [%t] %-5p - %m%n  

15

MySQL导出的SQL语句在导入时有可能会非常非常慢,经历过导入仅45万条记录,竟用了近3个小时。在导出时合理使用几个参数,可以大大加快导 入的速度。

-e 使用包括几个VALUES列表的多行INSERT语法;
--max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
--net_buffer_length=XXX? TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。

注意:max_allowed_packet和net_buffer_length不能比目标数据库的设定数值 大,否则可能出错。

首先确定目标库的参数值

mysql>show variables like 'max_allowed_packet';
mysql>show variables like 'net_buffer_length';

根据参数值书写mysqldump命令,如:
E:\eis>mysqldump -uroot -p eis_db goodclassification -e --max_allowed_packet=1048576 --net_buffer_length=16384 >good3.sql

之前2小时才能导入的sql现在几十秒就可以完成了。

??

热点排行