摘要:
这个很多网站都有,找了一个,感觉好用:StringqueryResult=...;response.setContentType("application/csv");response.setHeader("Content-Disposition","inline;filename="result.csv"");PrintWriterout=newPrintWriter(newOutputStreamWriter(response.getOutputStream(),"UTF-8"));out. 阅读全文
摘要:
刚刚完成了一个改开源代码的项目,改的代码并不多,但要知道在哪里改,并且不影响其他功能的时间,要远远超过改代码的时间。总结了一下这个项目的工作顺序。1. 尝试直接编译源代码,纠正各种编译出现的错误。大部分是环境错误。比如JDK的配置之类。2. 查看log。找到关键字,然后查看关键代码。3. 找到要修改的地点,比如原来写文件的要改成插入数据库,那么就新建一个方法来插入数据库。尽量不要修改原有函数的参数。4. 检查代码的健壮性。包括performance和logging。好的日志可以为下一步修改打下基础。5. 编译,找到哪里出现错误。如果错误出现的非常多,如果是你的修改影响了很多类的编译,那么你就要 阅读全文
摘要:
最近改代码的时候,发现没有log的话,要改一个毫无头绪的项目是根本不可能的。比如一段OpenNMS的log:2007-08-0700:14:21,780DEBUG[CollectdScheduler-50Pool-fiber0]RrdUtils:createRRD:rrdpathandfilenametocreate:/var/opennms/rrd/snmp/1/hrStorageAllocUnits.rrd2007-08-0700:14:21,780DEBUG[CollectdScheduler-50Pool-fiber0]RrdUtils:updateRRD:updatingRRDfil 阅读全文
摘要:
记得以前写过一段这样的代码:String[]arr=...{"a","b","c"};Listl=Arrays.asList(arr);l.add("d");自以为没有错误,结果运行下来就让系统crash掉了,后来仔细的看了下源代码,发现asList不是我想象的那么简单,1.4.2中的asList代码如下:publicstaticListasList(Object[]a)...{returnnewArrayList(a);}/***//***@serialinclude*/privatestaticclassArr 阅读全文