- 博客(23)
- 收藏
- 关注
原创 Java中的main线程是不是最后一个退出的线程
[b]个人blog原文地址[/b]:[url]http://www.gemoji.me/when_main_thread_end/[/url]之所以写这篇文章,是因为上次被人问到这么一个问题:“在main函数里启动一个定时器,是不是main函数执行完整个程序就退出了,包括那个定时器”。多说无益,直接写个程序测试一下就知道了。[code="java"]public class Mai...
2013-06-12 23:54:17
433
原创 简单地用Java解决topN问题
[b]个人blog原文地址[/b]:[url]http://www.gemoji.me/java_top_n/[/url]距离上次写博客有一个月了, 反省下。今天先写篇简单点的,算是热热身吧。[b]写在前面[/b]我想几乎每个找过工作的程序员都曾经在面试的时候遇到过如何求topN的问题,而且多数都能不假思索的回答:求topN大用小顶堆,求topN小用大顶堆(觉得反了的同学请去面...
2013-05-21 23:38:10
1155
原创 【译】深入理解JDBC的超时设置
本译文已投稿至ImportNew:[url]http://www.importnew.com/2466.html[/url][b]原文地址[/b]:[url]http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration/[/url]恰当的JDBC超时设置能...
2013-01-21 21:54:07
1256
原创 dbcp重连问题排查
使用数据库连接池时,免不了会遇到断网、数据库挂掉等异常状况,当网络或数据库恢复时,若无法恢复连接池中的连接,那必然会是一场灾难。关于dbcp的自动重连配置,网上相关的资料也不少,通过以下资料,并对照官方文档中的参数说明,大致能了解各项配置的含义,我就不冗诉了,本文的目的主要是对问题排查的经过做个简单的记录。参考资料:[list][*][url=http://agapple.it...
2012-11-25 15:30:05
278
原创 【Tips】多进程执行UPDATE的小技巧
假设有1000万条数据,通过seq命令将其拆为1000份,每份10000条,通过xargs命令并发起5个进程执行。[code="sql"]seq 0 9999 | xargs -I{} -P5 echo 'update xxx set xxx=xxx where id >=1000*{} and id ...
2012-11-13 12:06:22
235
原创 当jdbc遇到postgresql
postgresql里有很多好用的数据类型和扩展类型,例如ltree,例如period,但在通过jdbc访问pg时,使用这些特别的数据类型往往会遇到一些小麻烦。以自身遇到的问题为例,在使用PreparedStatement构造sql时,period类型的字段可以通过下面的方法使用:[code="java"]Connection conn = null;PreparedState...
2012-11-07 12:26:19
154
原创 虚拟机堆转快照分析工具——jhat
听完公司《JVM应用调试相关脚本》的分享之后,又有同事在邮件里分享了另外一个可以生成html的分析工具叫:jhat (虚拟机堆转快照分析工具)。纯技术的东西,没有啥保密的,我就直接贴过来了,下面是邮件原文,图片弄过来比较麻烦,就暂缺吧。[quote]Sun JDK提供的这个jhat(JVM Heap Analysis Tool)命令需要与jmap搭配使用。先dump出来快照,然后再用j...
2012-11-01 10:39:18
771
原创 使用Java Collections sort方法遇到的一个小问题
有一个需求是要对拼接出来的飞行线路列表进行排序,自然地用到Collections.sort方法,然后实现自己的Comparator。排序需要考虑多种因素,包括拼接出的线路的段数、线路经过的国家数等,其中有一个排序条件是:当线路的飞行时长大于待比较线路飞行时长的1.5倍时,忽略该线路在段数和国家数上的优势。代码实现如下:[code="java"]Collections.sort(re...
2012-10-26 10:45:22
469
原创 使用python访问hdfs——pyhdfs库的编译&安装
首先可以参考这两篇文档:[url]http://code.google.com/p/libpyhdfs/source/browse/trunk/INSTALL[/url][url]http://www.cnblogs.com/zhangmiao-chp/archive/2011/05/04/2036665.html[/url]然后补充两个细节:1. 我在执行:[code="...
2012-09-25 14:00:49
654
原创 linux下如何将命令行输出通过pipe直接copy至剪贴板
1. 安装xclip:[code="java"]sudo apt-get install xclip[/code]2. 例如将文件file的内容copy至剪贴板,用于应用程序间拷贝[code="java"]cat file | xclip -selection clipboard[/code]详情见:[url]http://stackoverflow.com/questio...
2012-09-18 15:00:17
663
原创 nutch杂记
1. 如何绕过目标站点的robots.txt限制多数站点都是只允许百度、google等搜索引擎抓取的,所以会在robots.txt里限制其他爬虫。nutch自然是会遵循robots协议的,但是我们可以通过修改nutch源码来绕过限制。相关代码位于(nutch版本1.5.1,其他版本未测试):org.apache.nutch.fetcher.Fetcher的run方法.找到以下几...
2012-08-08 18:25:17
226
原创 记公司邮件组里的一次sql优化讨论
Hi ALL无线有一张表,需要对其中一个token字段按照一个规则除重表结构如下:[code="sql"]+---------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Ext...
2012-07-27 10:37:10
106
原创 记最近遇到的一次数据库死锁问题
[b]问题描述[/b]度假后台在更新完DB的数据后会通知dumper进行一次全量dump,但不时会遇到dumper没有收到通知的情况。通过查看度假后台的日志,发现在发送全量dump通知的时候抛出了"dead lock detached"的错误,由于后台代码此处并没有采用多线程,进而怀疑是DB死锁,于是请求老何支援。查看DB的错误日志,发现是后台系统和dumper的sql产生了死锁。死锁...
2012-07-19 18:03:15
109
原创 在linux下编译openjdk7
最近刚开始看《深入理解JAVA虚拟机》这本书。第一章的实践是自己手动编译openjdk7,但书上的步骤都是基于windows的,于是在网上搜了一下linux下编译openjdk的资料:[url]http://blog.csdn.net/kindazrael/article/details/7266314[/url][url]http://guoh.org/lifelog/2011/05/c...
2012-05-28 00:16:48
503
原创 Java 正则表达式 中的 任意字符
原来正则表达式中的"."代表的是除换行以外的任意字符,如果要真正代表任意字符,需要把换行符也加进去,但是经过测试"[.\\n]"不生效,可以使用"\\s\\S"代表,即所有空字符+所有非空字符。注:为了适用于java程序,上述表达式已把斜杠替换成双斜杠。今天还发现一个问题,正则表达式的贪婪型和勉强型的不同。在匹配字符串"[tab]one[tab][tab]two[tab]"时,...
2012-03-20 15:20:20
146
原创 main函数的通配符参数
今天发现一个之前没有注意过的问题,在给java的main函数传参时,参数可以使用通配符来表示多个文件,例如:[code="java"]java -jar post.jar *.xml[/code]其中"*.xml"代表当前文件夹下所有的xml文件。之前一直以为main函数会认为"*.xml"只是单一的参数值,即String[] args的length为1,但实际测试后发现,ma...
2012-03-09 23:48:21
108
我的技术之路
这部分本来是打算写在简历里的一个自我介绍性质的东西,没想到越写越长,放到简历里已经不合适了,只好挪过来。我知道作为一个刚工作不到一年的程序员来说,就开始写“技术之路”这种文章实在是有点太自不量力,请原谅我暂时没有想到好的标题,我只是单纯的想把自己以往的一些经历记录下来,让初识我的面试官有个了解,同样也让自己有个回忆。写的不对不好的地方欢迎大家各种拍。正文开始。[b]黯淡...
2012-02-08 22:11:42
97
百技第一周周报
两周的百技(淘宝的应届生技术培训)结束了,虽然收获没有之前想的那么大,有些课程讲得很空,但还是学到了一些东西的。把周报发出来算是做个纪念吧,虽然写的比较做作。。。周一:由于要去办理落户相关的手续,耽误了周一一天的课程,错过了和同学认识的最好时机,挺可惜的。周二:来到教室后第一件事先是找到自己所在的小组,我所在的组叫"九妹组",一开始我还以为九个全是女生,小激动了一下,结果发...
2011-11-24 23:53:04
174
windows下如何解决github重复输入密码的问题
这段时间刚开始学习如何用github托管代码,很多小问题得不到解决办法,很烦人。比如说,每次用git bash更新或提交代码时,都会要求我输入之前生成ssh key时设置的passphrase,很烦人。最简单的方法是生成ssh key时,passphrase设置为空,那样的话就仅靠ssh key来保证安全,好像不是特别推荐。如果需要passphrase,又不想每次都重复输入...
2011-11-09 18:19:37
242
学习总结:前端跨域请求的解决办法——JSONP
项目(打下广告,[url]http://xin.taobao.com[/url])当中碰到一个需求,涉及到前端跨域请求的问题,印象中有一种方法叫jsonp,之前听过但没有详细了解过,趁任务不多看了几篇相关的文档学习了一下,并做了下总结。附件里包含了这篇文章的文档和两个可用实例。[align=center][size=large][b]1、Web2.0的趋势[/b][/size][/...
2011-07-13 11:18:54
273
Firefox的input缓存
开发过程当中遇到了一个很诡异的问题:有一个元素,后端vm模板通过加载数据生成页面后,出现了input域的value值与后台数据不一致的情况。通过查看生成页面的源代码,可以看到html代码里的值是对的,但通过firebug在页面中查看就会发现value是错误的,诡异的是ctrl+ F5强制刷新,以及把type改为"text"都能让value变回正确值。一开始怀疑是js在加载页面时修改...
2011-06-24 13:41:07
101
原创 一道淘宝笔试题
题目大致如下:[code="java"] public class ThreadTest { public static void main(String[] args) { System.out.println("start"); new Thread(new Runnable(){ public void run(){ System.out.print...
2010-10-11 15:18:57
147
原创 jQuery + struts2 专业类别、专业名称 二级联动列表
[b][color=red]本人新手,欢迎大家批评指正![/color][/b]本文旨在实现一个二级联动的“专业名称”选择的下拉列表菜单,基本思路如下:1、将“专业类别”、“专业名称”的数据存入数据库,并在“专业名称”表中设置指向“专业类别”表的外键,使两表之间建立关联;2、使用struts2标签库中的select的select标签,从数据库中把“专业类别”的list查上来,将...
2010-02-24 11:29:17
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人