- 博客(24)
- 问答 (1)
- 收藏
- 关注
原创 Archlinux Tips
openboxstartx启动脚本。必须包含/etc/skel/.xinitrc的内容,否则容易出现灵异事件。composite。可以选择cairo-compmgr或者xcompmgr/compton-git。compton常用参数 `compton -m 0.9 -cC -fF -G -b &` panel。tint2terminal。 rxvt-unico...
2013-09-25 14:12:47 187
原创 realtek rtl8192cu设备驱动无法在linux 3.10.x上编译
目前使用的是无线USB网卡(lsusb出来以下设备型号)Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter 虽然说内核带rtl8192驱动,但是存在频繁掉线的问题,基本上是5分钟一掉,是可忍孰不可忍。aur里有realtek开发的驱动https://aur.archlinux.org/packages.php?I...
2013-07-30 13:07:22 574
原创 AHC(AsyncHttpClient)文件描述符泄漏
使用AsyncHttpClient的时候如果每次使用完不调用close方法,会导致文件描述符泄漏。但是如果每次都关闭,似乎达不到connection pooling已经thread pool的复用的效果。一个办法是全局使用同一个ahc对象,这样似乎是合理的,因为该对象是stateless,不存在并发问题。...
2013-05-30 09:24:14 429
原创 如何格式化非常长的一串json
到底有多长的呢,324577个字符。 324577字符并不算多,但是当这些字符全部在一行的时候...,你想自动把它换行,ident不是一件容易的事情eclipse -- 直接卡死,起一次卡一次 好在我还有emacs,但emacs是个编辑器没有自带可以把一行文本格式化的js mode,还好有宏定义个一个宏,查找逗号“,",然后换行,重复执行这个宏10000次, 一分多钟后...
2013-05-07 16:06:57 368
原创 archlinux使用纪要
安装步骤(USB 2013-01-04版本)准备 1.下载镜像,可以从163下载http://mirrors.163.com/archlinux/iso/ 2. 用dd或者Image writer https://launchpad.net/win32-image-writer(windows),将镜像复制到usb 3. 选择从usb启动 ...
2013-05-03 11:50:51 84
原创 关于java里的null
null 很难定义是什么?首先它肯定不是基本类型,因为int a = null; 这样的表达式是不能编译通过的。虽然Object foo = null;可以轻松通过编译,但不能证明null是某个引用类型的实例因为我们找不到任何对象类型,即使基本类型,也可以得到类型,甚至void也是。但jdk中找不到任何类型可以说明null是什么。null有个很明显的特征,可以赋值给任何类型的...
2013-03-08 18:47:34 88
原创 jdk6u23/u24的一个bug
最近用HouseMD的时候(一个同事用scala写的非常好用的运行时诊断工具)https://github.com/zhongl/HouseMD 发现一个奇怪的问题,连不到已经启动的jboss服务器。 stackoverflow上发现了类似提问http://stackoverflow.com/questions/6287926/jps-not-showing-tomcat-proces...
2012-10-23 13:37:21 159
使用openjdk的语法解析器(Parser)解析java源代码
jsr269提供annotation processor,允许我们在编译器编译过程中挂钩子。http://projectlombok.org/ 的许多功能正是基于此实现。 但有时候可能需要解析语法正确,但没有语义的Java文件(比如对工程中的单个java源文件的方法等元素建索引),这个时候jsr269就不能满足需求了。此时,我们只要语法树(ast)就可以了,也就是说不需要编译通过...
2012-04-08 23:38:31 860
原创 使用Mockito的Annotation简化测试 -- 使用Mockito和JUnit【二】
Mockito有一些非常好用的annotation来简化mock的创建和注入@Mock 创建一个该类型的mock,可用标注在类,接口上@InjectMocks该注解标注的对象会自动注入@Mock标注创建的Mock,省去了手工set依赖的过程,非常好用。 看看上一篇里的列子 public class NotifyService { private Use...
2012-03-11 21:13:12 259
开始使用Mockito -- 使用Mockito和JUnit【一】
一段常见的代码 单元测试是项目的重要组成部分。尤其是对持续发展的产品,单元测试在后期的维护,回归有重要等方面有重要作用。 这样代码在项目中随处可见,看看我们应该如何测试 public class NotifyService { private UserCenter uc; private MessageCenter mc; public void send...
2012-01-30 16:14:25 235
Scala actor gc 问题
scala原生的acotor在任务结束之后并不会被回收,这也就是说,我无法无限制的创建actor。例如在一个HTTP服务器中,如果每个请求都创建一个新的actor处理,这样不久之后就会内存溢出。今天对scala和akka的actor内存使用情况做了简单测试 测试代码如下 import akka.actor.Actorimport akka.actor.Actor...
2011-11-02 17:07:22 166
scala actors example
学习Scala已经有不少时间了,对FP还是不甚了了。现在决定把自己的点滴的进步都记录下来。 今天看一个写信并等待回复的场景。Jilen写了一封信给Yision(是我的一个大学同学),现在Jilen把信投递到邮递员Jerry(另外一个大学同学),邮递员把信送给YisionYision收到后回复了一封信给Jilen,这封信同样给邮递员Jerry 现在看看我们的类型系统类...
2011-10-24 13:44:06 75
Spring代理的限制
Spring的AOP的限制: aop无法拦截方法内部的调用,假如有方法 public class AccountServiceImpl implements AccoutService{ @Transactional public void increment(Account account, int amount){ ...
2011-10-22 10:21:38 90
装箱和拆箱和ValueOf以及XXXValue -- Java语法糖(Syntax sugar)
自动装箱拆箱发生在基本类型和其包装型互操作的时候。以前一直不知的拆箱和装箱是valueOf和xxValue的别名。是语法糖的一种 public static void main(String[] args) { Integer i = 10; Integer j = 10; System.out.println(j == i); //(1) true updat...
2011-10-11 10:37:14 112
原创 scala--简洁优雅的树定义
也许还不够优雅。 trait Tree[+T] { /** * 深度优先遍历 */ def dfs(func: T => Unit) { this match { case Empty => case Node(value, left, righ...
2011-09-10 00:49:31 383
原创 Scala的Stream
Stream 和 List 一样,是一种递归的数据结构 从大学到工作一直是java,c++,c,c#这些都不是函数式的编程语言,并且递归已经被判了死刑(通常因为系统方法调用栈太小,且JVM不会做尾递归优化)。所以,Stream这样递归的数据结构,理解起来不是那么自然。 看个简单例子 lazy val fib: Stream[BigInt] = Stream.co...
2011-08-19 15:11:25 163
原创 别随便评论
1. 碰到xxx和xxx谁更好之类的话题,无视之。2. 碰到说xxx太垃圾了之类的人,无视之。 别较劲,没什么意思,自己的想法自己印证吧,志不同道不合的思想怎么也不会走到一起。...
2011-07-29 12:50:23 77
CountDownLatch简单应用 -- java并发
网络程序(或在其他异步的程序)由于是异步返回结果的,通常需要阻塞线程直到结果返回,这个时候,下面的代码就有用了。 package org.jilen.cookie.concurrent;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;i...
2011-07-08 17:05:44 74
使用SBT 0.10.x和sbteclipse从akka源代码构建Eclipse工程
Akka的源代码采用sbt 0.7.7做管理。最新的sbt 0.10.x已经发生了许多变更,为了使用sbteclipse生成Eclipse项目方便查看源代码,今天捣腾了不少时间。 0. 下载akka源代码,解压至硬盘(也可以git clone之) 1. 备份原有的akka源代码目录下面的project文件夹为project.old。 2. 创建新的project文件夹...
2011-07-01 17:06:42 106
背包问题
最近看了下背包问题的算法。顺便用scala写了下简单的实现 问题概述:现有一个只能承受limit重量的背包,放入一些物品,物品的重量和价值在List[(Int,Int)]中,如何是背包中物品最大价值 def bag(item: List[(Int, Int)], limit: Int): Int = item match { case (weight, value)...
2011-05-22 10:33:10 58
Double Check Locking -- Java并发
the double-check locking broken 主要解释下内存模型相关的这篇文章http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html // Broken multithreaded version// "Double-Checked Locking" idiomcla...
2011-05-20 13:20:59 60
原创 可见性和volatile -- Java并发
可见性是Java虚拟机上定义的逻辑上的偏序关系。通常指某些操作的结果对后续的其他操作必须是可见的。详细内容参见《Java Concurrency In Practice》,这部分内容通常被称为Java Memory Model,与操作系统Memory Model概念类似。主要通过一个简单程序说明一下,相当于一个学习总结。下面是程序参考Doug Lea的JSR133 CookBook h...
2011-04-29 22:58:41 111
原创 spring mvc简单的文本视图扩展
简单的基于文本的spring视图和加载器。说白了就是直接打印到response先在配置文件中加上<bean class="org.jilen.spring.mvc.view.resolver.PrefixViewResolver"></bean>可以和InternalResourceViewResolver等一起使用@Controller public clas...
2011-04-27 11:25:38 47
空空如也
全局事务(JTA事务)的原子性
2011-02-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人