加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

放弃groovy这个玩具(关于scala, groovy, jruby,jython,等动态语

发布时间:2020-12-14 17:02:58 所属栏目:大数据 来源:网络整理
导读:http://hi.baidu.com/knowise/blog/item/cfbba9246f91961b4c088dcb.html ? 放弃groovy这个玩具,因为它只是一个玩具,无法应用于实际. 之前我用groovy写了一个网站,deploy到tomcat上. 运行一段时间之后,tomcat就开始失控,内存占用大的出奇,最后导致服务器死机!

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本身的动态语言,可能是更好的选择!

保持一定的层次,避免太紧的耦合,看来是非常必要的.

不然,出了问题,如何确定问题的原因呢?

#

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读