03 2014 档案
摘要:大家都知道内部类初始化需要提供外部类的实例。今天在尝试使用反射方式初始化内部类时,发现同样要遵循这个java规范。但由于我只持有内部类定义(Class)对象,没有外部类实例,所以想通过:Inner.class.getConstructors()[0].newInstance(new Outer()是不行的。需要实例化内部类,是为了避免内部类的类变量存在并发问题,所以希望每次使用时都newInstance一个出来。那么既然不行,那就只能使用ThreadLocal来解决这个问题了。
阅读全文
摘要:表现是线上机器线程很多,jstack一下都是: 1 "pool-8-thread-47" prio=10 tid=0x00007f2930534800 nid=0x63ed waiting on condition [0x000000004969c000] 2 java.lang.Thread.State: WAITING (parking) 3 at sun.misc.Unsafe.park(Native Method) 4 - parking to wait for (a java.util.concurrent.locks.AbstractQue...
阅读全文
摘要:在使用GUAVA的集合transform时,经常需要碰到去null,异常的元素,怎么处理?使用Optional! 1 Iterable iterable = Optional.presentInstances(Lists.transform(serviceInstances, new Function>() { 2 @Nullable 3 @Override 4 public Optional apply(@Nullable ServiceInstance input) { 5 if (remove) { 6 return Opt...
阅读全文
摘要:发现内网两台机器通过HttpClient传递消息出现中文乱码。原来的代码是:Request .Post(requestURL) .connectTimeout(250) .socketTimeout(500) .bodyForm(Lists.newArrayList(new BasicNameValuePair("json", message))) .execute();发现bodyForm有重载方法:1 public Request bodyForm(final Iterable formParams, final Charset charset) {2 ...
阅读全文

浙公网安备 33010602011771号