fastjson与awt

晚上在repl下模拟一个json的解析时发现,当调用fastjson时会在我的dock上弹出一个Java应用的icon,如下图:

这通常是程序里引用awt/swing之类的情况下才会发生,我很奇怪fastjson怎么会引起,对repl添加启动参数-J-verbose:class看看到底是否有加载awt先关的类:

看来温少考虑到了这种类型的解析场景,在代码里有相关的引用。

觉得心烦的话,启动repl时加一个java.awt.headless=true参数吧。

scala2.11的repl下增加了kind命令

scala2.11的repl中新增了kind命令,见这里,对于kind的理解也可参考之前的文章

不过,下载了scala2.11-m3版本,发现kind命令并没有用 *号的方式来表达.

scala> :k Int
scala.Int's kind is A

scala> :k class Test{}
Test's kind is A

scala> :k List
scala.collection.immutable.List's kind is F[+A]

scala> :k class C[M[_]]
C's kind is X[F[A]]

scala> :k class C[M2[M1[_]]]
C's kind is Y[X[F[A]]]

对于自身类型,kind命令不采用*号表示,而是用 A 来表示。对于构造器类型 * -> * 采用 F[A]描述。

分享ppt: jvm内存管理

去年分享的,里面的一些参数与当前线上的实际情况可能已对不上,仅供参考。

slideshare下载,或微盘下载

希望你能借鉴里面使用scala repl(再配合其他工具如jconsole)来做jvm参数调节的测试,比如:

repl很适合做诸如此类的测试。

scala2.10的repl下:cp命令不能工作

今天发现2.10的repl下:cp命令 (设置classpatch)不能正常工作。2.9.x正常。

scala> :cp /data/tmp/demo/
Added '/data/tmp/demo'.  Your new classpath is:
".:/data/tmp/demo"
Nothing to replay.

//虽然cp命令没报任何问题,但在import的时候不灵
scala> import test.A1
<console>:7: error: not found: value test
   import test.A1
          ^

2.10.1仍存在此bug,很低级啊,看来每个大版本发布后没几个小版本fix bug是很不稳定的。
先用启动时的-cp参数替代了:

scala -cp /data/tmp/demo/
// work
scala> import test.A1
import test.A1

查了一下这个bug:https://issues.scala-lang.org/browse/SI-6502
早就有人报了,他们觉得优先级不高,一拖再拖,要到2.10.2修复,估计在急着修复其他bug。