Archive

Archive for 2016年3月

Spring-MVC中的一些问题

3月 22nd, 2016 2 comments

想法:Spring-mvc(Spring v3.2)中,仅对注册过(通过@RequestMapping注解)的url进入到controller层,其他非法url在Filter里就拦截掉,统一处理节省资源。因为在filter的doChain之前,给本次请求从对象池中获取一个操作db的对象,对无效url也分配的话就浪费了资源。

实现:通过Spring-mvc的RequestMappingHandlerMapping来获取注册过的url path,再根据HttpServletRequest,判断下就可以进行过滤。

阅读更多…

Java最外层异常的抓取要用Throwable

3月 22nd, 2016 3 comments

3月以来,从来运行正常的link无故崩了好多次,现象:无异常日志,用jstack看主线程挂了进程还在,主线程最外层有catch异常,但是并没有打印日志,实在匪夷所思。

阅读更多…

Java客户端Socket在服务端重启后的异常情况处理

3月 17th, 2016 1 comment

碰到场景如下:Java服务器端A(使用NIO的异步IO方式),Java客户端B(使用普通IO的同步方式),在服务端A重启后,B->A的Socket毫无疑问的断了,然后就会出现一些异常情况,分析一下。

阅读更多…

春节再游厦门

3月 3rd, 2016 5 comments

大年初二,基本走完了亲戚,半夜和朋友聊起,瞬间决定剩下的假期去一趟厦门玩,闲着也是浪费!

第一次说走就走的旅行!

6年前的厦门游:毕业季,厦门行

喜欢厦门,最重要就是因为第一次来时在曾厝垵吃的沙茶面哈哈,太好吃了,转眼快6年了。那是第一次结伴出来旅行,又是和最好的哥们和pp妹子们,又是本科毕业旅行,年轻的时候,各种美好的记忆。然后去年台湾回大陆经过厦门,在厦门北站吃了一碗沙茶面,但是味道不满意。

这次,去寻找那记忆中的沙茶面!

夜幕中的演武长龙

夜幕中的演武长龙

阅读更多…

小李子电影推荐

3月 3rd, 2016 1 comment

普世同庆,小李子终于拿奥斯卡影帝了,感觉全世界影迷比他自己都还要紧张和兴奋。然后惊奇的发现居然没有写过一篇对他电影的文章。

小李子和凯奇大叔很不一样,后者自从老早拿了影帝后,就烂片不断现在已经变成烂片大王了,但小李子从来没有接过烂片!基本就没有演过动作片、喜剧片,每部电影都是大作,所以才能上这么多次的奥斯卡提名啊,毕竟上提名也不是一件容易事。

阅读更多…

警惕long值转化为int,比如在Comparator接口中

3月 2nd, 2016 2 comments

long值转为int会造成溢出大家都知道,很多时候却会忽视已发bug,造成明明的正值变为了负值(因为int最高位非0,long值大于int最大值2^31-1=2147483647)。

此次出错的地方在使用java.util.Collections.sort中使用Comparator接口中,因为compare方法通过返回int值来比较大小,而逻辑比较大小是通过比较时间戳long值按最近时间排序,一开始不注意就直接把时间戳long值差给直接转为int值返回了,造成了可能的排序错误(有趣的是只需要24天的毫秒值就会超过int的最大值)。

阅读更多…

jdk中SimpleDateFormat的实例线程不安全

3月 1st, 2016 3 comments

线上服碰到诡异问题,解析一段无参数固定代码生成的时间字符串获得时间戳,不定概率出现解析异常,堆栈如下。

产生的原因,因为SimpleDateFormat每次new的代价比较高,固定new一个后重复使用。一开始并没有对输入字符串进行日志打印,就以为是输入字符串的错误,就难以定位到产生问题的原因。

阅读更多…