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本身的动态语言,可能是更好的选择!
保持一定的层次, 避免太紧的耦合, 看来是非常必要的.
不然,出了问题,如何确定问题的原因呢?
#
分享到:
相关推荐
对于Jruby、Jython和Groovy三种动态语言,长期以来很多人犹豫于如何选择它们。本文提出一个非常有力的例证证明:如果你是一个基于Java虚拟机的开发者,那么请放弃Jruby和Jython。
NULL 博文链接:https://yinxvxv.iteye.com/blog/811328
JGSK, Java,Groovy,Scala,Kotlin 四种语言的特点对比
scala erlang groovy python 原理 比较 分析
Groovy vs_ JRuby Presentation
java 动态脚本语言 精通 Groovy
Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有...
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
Groovy 是基于Java的脚本语言。是Java语言扩展,因此可以与Java语言互相调用。在所有基于JVM虚拟机的语言中只有Scala可以媲美。使用Groovy可以快速灵活完成文本处理,数据库访问,XML处理等常见任务。研究表明,使用...
Groovy入门经典是一个唯一能够扩展Java平台的脚本语言,内容全面详尽,浅显易懂,易于选择性阅读。可以作为对Groovy语言感兴趣的计算机软件开发人员的参考书。需要的朋友们就赶紧来下载试试吧! Groovy提供类似...
Martin Odersky 用他定义的匹萨语言给了 Java世界一个很大的冲击。尽管匹萨本身没有流行 但它展现了当把面向对象和函数型语言两种风格,技术地且很有品地混搭在一起时,就形成了 自然和强有力的组合。匹萨的设计成为...
用于soapui中,groovy语言开发的插件之一用于soapui中,groovy语言开发的插件之一
Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行Java 编程),使用方式基本与使用 Java代码的方式相同,该语言特别适合与Spring的动态语言支持一起使用,设计时充分考虑了Java集成,这使 ...
AndroidDemoIn4Languages, 在Android开发中,比较 Java Groovy Scala Kotlin 中文版 日本語 AndroidDemoIn4Languages为了了解Android开发的更好语言,用 Java 。Groovy 。Scala 和Kotlin编写了一个简单的Android应用...
赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...
groovy 敏捷 开发 动态 语言 急速 web 应用 开发
由于具有动态弱类型,以及无缝访问JavaAPI等特性,Groovy语言非常适合子开发中小型规模的应用程序。, 相对于Java语言,Groovy语言的表述性更强,抽象程度更高。它使得应用程序开发更加快捷,提升了程序员生产力。...
Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day to day work with Java It starts by introducing the key differences between Java and Groovy and how you...
apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...
#Groovy和Scala演示 使用Groovy,Gradle,Spock来测试驱动Scala解决方案。 使用Gradle作为构建系统。 Spock和Groovy进行数据驱动测试 Scala使用一些漂亮的技巧来实现该解决方案。 练习:FizzBuzz ###步骤...