放弃groovy这个玩具(关于scala, groovy, jruby,jython,等动态语
http://hi.baidu.com/knowise/blog/item/cfbba9246f91961b4c088dcb.html ? 放弃groovy这个玩具,因为它只是一个玩具,无法应用于实际. 之前我用groovy写了一个网站,deploy到tomcat上. 运行一段时间之后,tomcat就开始失控,内存占用大的出奇,最后导致服务器死机! 为什么会这样呢? 我的理解-> 原因大概在于groovy为了实现动态类型,大量使用了反射, 并且在很大程度上侵入了java基础类 . 加上groovy现在的开发者水平不高, 导致程序的表现往往不合预期,内存的管理上存在问题! 即时GC不出问题时,groovy编译出来的类也需要消耗更多的内存, 多到实在无法使用,甚至限制代码规模! 如果你在groovy项目用了许多类(比如通过.jar包来引入),并在代码中import并使用,你就会发现一般的机器内存显然不足了. 因为groovy会对几乎所有用到的类,都做一遍侵入性改造,以使它们表现得动态 ! 最终的结果就是,groovy号称与java无缝集成,却恰恰因为无缝集成而侵入了java本身,使得整个系统变得混乱,甚至不可用 ! 结果是: groovy 中看,不中用!? 所以另一种:可以编译到.class,并且使用java 类,但不侵入java本身的动态语言,可能是更好的选择! 保持一定的层次,避免太紧的耦合,看来是非常必要的. 不然,出了问题,如何确定问题的原因呢? # (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |