- 博客(4)
- 资源 (2)
- 收藏
- 关注
转载 Groovy集成Java注意点
一、使用GroovyShell的parse方法导致perm区爆满的问题如果应用中内嵌Groovy引擎,会动态执行传入的表达式并返回执行结果,而Groovy每执行一次脚本,都会生成一个脚本对应的class对象,并new一个InnerLoader去加载这个对象,而InnerLoader和脚本对象都无法在gc的时候被回收运行一段时间后将perm占满,一直触发fullgc二、为什么Groovy每执行一次脚本,都会生成一个脚本对应的class对象?一个ClassLoader对于同一个名字的类只能加载一次,
2021-03-30 12:04:51 283
原创 Mockito spy
List list = new LinkedList(); List spy = spy(list); //optionally, you can stub out some methods: when(spy.size()).thenReturn(100); //using the spy calls *real* methods spy.add("one"); spy.add("two"); //prints "one" - the first el...
2021-03-24 20:07:03 252
原创 一次定时任务不执行情况分析
一、业务表现在业务容器中,存在如下三个进程:JAVA应用进程OBProxy进程Agent进程其中Agent进程会启动一个守护线程,定时检查OBproxy进程的状态,如果OBproxy进程挂了,会重新拉起该进程。现象业务容器发生OOM,linux OOM killer主动kill掉了OBProxy进程。Agent的守护线程未按照预期拉起OBproxy进程。对应简化版代码如下:ScheduledExecutorService executorService = Executors.new
2021-03-19 17:32:04 1542
Understanding_Java_Garbage_Collection_v4.pdf
2020-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人