本站公告: PUI正式上线,欢迎体验。

标签:编程优化

Java借助CountDownLatch完成异步回调
技巧积累

Java借助CountDownLatch完成异步回调

Mignon 2年前 (2017-02-22) 1438浏览 0评论

1、如果你是用main方法启动的线程,这种调用方法是没有问题的,JDK会确保所有线程都终止以后main方法才退出。但是如果main方法不是异步任务的启动者(如JUnit,Spring,Tomcat),一旦启动之后laucher将会失去对线程的控制。如在JUnit中laucher提交完任务后就会被认为...

Spring Boot中自动配置技巧
技巧积累

Spring Boot中自动配置技巧

Mignon 2年前 (2017-02-10) 4472浏览 0评论

使用spring boot久了你就会发现,假如我是在org.paascloud.platform下写了一个自动配置的类,我在org.paascloud.plugin下写程序的Main函数入库,在org.paascloud.platform下的自动配置类不能被执行,这篇...

Java中创建多进程
技巧积累

Java中创建多进程

Mignon 2年前 (2017-01-11) 3499浏览 0评论

我们常常听到的比较多是如何创建多线程,很少听到如何创建多进程,今天我们来讲解一下如何创建多进程ProcessBuilder类ProcessBuilder类是J2SE 1.5在java.lang中新添加的一个新类,此类用于创建操作系统进程,它提供一种启动和管理进程(也就是应用程序)的方法。在J2SE...

Java动态修改Enum实例
技巧积累

Java动态修改Enum实例

Mignon 2年前 (2017-01-05) 1729浏览 0评论

众所周知,enum类型实例数量是固定的,甚至还被用来设计单例。但有时候仍然存在需要动态增加Enum实例的场景,这也并非一定是设计失败,也可能是增加灵活性的实际需求,比如一些web框架,再比如HanLP的动态用户自定义词性。然而最大的障碍是switch语句生成的虚构类,本文参考Java Special...

调整VM Option优化JVM性能
代码积累

调整VM Option优化JVM性能

Mignon 2年前 (2017-01-05) 2972浏览 0评论

今天一个List大约要放入5万个对象,每个对象是对一篇语料的解析结果。语料库在磁盘里大约有200MB,读入内存后大小未知。当我解析了10000篇的时候,明显感觉速度降了下来,按理说LinkedList插入效率很高,但是换用数组之后一样慢,单线程程序竟然吃掉了四核CPU的100%。这才感觉不对劲,估计...

Java读取文件加速
代码积累

Java读取文件加速

Mignon 2年前 (2017-01-05) 3096浏览 0评论

在执行IO时,Java的InputStream被广泛使用,比如DataInputStream.readInt等等。事实上,这些高度封装的接口奇慢无比。我有一个项目启动时需要读取90MB左右的词典文件,用DataInputStream耗时3秒以上,换用java.nio包直接操作内存字节,可以加速到30...