- 浏览: 556849 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
binglex:
谢谢,出现这个异常,看来这个贴才发现site-packages ...
cx_Oracle的"Unable to acquire Oracle environment handle"异常 -
lizhongkan:
这样过度比较方便。但如果原来的项目,有几十个依赖的jar包,是 ...
maven2的pom的依赖管理 -
landmine:
博文看不清呀楼主,怎么解决的?我也遇到了
applet在IE下运行极慢而且CPU占用很高 -
strivefuture:
这种方法对FF浏览器,有效吗?
Iframe Shim解决applet挡住ExtJS工具栏菜单问题 -
zw:
老大也有粗心的时候啊!
一个属性未设置导致发mail不成功的郁闷。
【翻译】Graeme答复:Groovy and JRuby: Enterprise-Ready?
- 博客分类:
- groovy/grails
有博客报道说Groovy并不适合企业,其目的只是在散播FUD(Fear, Uncertainty, Doubt)而已. 此报道如下:
http://www.huxili.com/index.php?cat=reports&id=ID000188
此报道以"Groovy and JRuby: Enterprise-Ready?"为题且得出结论是:Groovy还不适合企业仅仅是因为内存泄漏。某些人并不懂语言间习惯用法差异,而简单地放在一起进行对比,当然是无稽之谈了。
此报道并没有提供任何示例代码,更多的是通过怀疑的方式来验证其正确性,尽管如此报道还是陈述了Groovy运行在以下一些步骤的时候,会导致内存溢出:
我要猜一下他们可能用到的Groovy代码,我敢打赌这些代码应该象下面所示那样:
那么这段代码有什么问题呢?并且是怎样导致内存泄漏呢?答案很简单:每一个GroovyShell实例都有一个内部的类加载器(class
loader),而Groovy一门编译类型的语言,即便是示例中很少的一段脚本都将会被编译成类因此随着时间的流逝,类加载器将会变得越来越大。那么该
如何解决呢?请看如下代码:
这么做,JVM就会自动回收不再使用的GroovyShell (当然包括它的类加载器)了,加载器都被回收了,其旗下的类当然也自然被回收了。JRuby当然不存在这样的问题,因为其本身就是解释性语言。没有相关语言的习惯用法,而仅仅凭借4行脚本代码,就断定一门语言是否适合企业应用,实在是滑稽可笑!所以要提防那些未经你自己证实的所谓的官方展望报告吧!
至此翻译已经完毕,可是所谓的报道,本人也觉得的很可笑,不过从Graeme的答复中,本人也受益匪浅,也了解到自己对Groovy掌握还是比较肤浅的,继续努力[img]../../../images/smiles/icon_biggrin.gif" alt="[/img]
其实从报道中也可以看到Groovy正在快速的发展,当然发展过程中不可能避免的有流言蜚语,同时也说明Groovy在备受关注中。
最后,有几个有意思的链接与大家共享一下
照这样的例子java中也不会这样写的呀
<br /><pre name="code" class="java">shell = new GroovyShell()
while(true) {
shell.evaluate("x = 100")
sleep(2000)
System.gc()
}
</pre>
看这里 Using GroovyServer Pages in Dreamweaver
如果此Groovy in Action中文版公告准确的话,应该快了。
让我们期待吧,你如果有什么因为可以到GoG的圈子里提问。
http://www.huxili.com/index.php?cat=reports&id=ID000188
此报道以"Groovy and JRuby: Enterprise-Ready?"为题且得出结论是:Groovy还不适合企业仅仅是因为内存泄漏。某些人并不懂语言间习惯用法差异,而简单地放在一起进行对比,当然是无稽之谈了。
此报道并没有提供任何示例代码,更多的是通过怀疑的方式来验证其正确性,尽管如此报道还是陈述了Groovy运行在以下一些步骤的时候,会导致内存溢出:
- Call shell.evaluate("x = 100")
- Call System.gc()
- Thread.sleep(1000)
- Record used memory
- Repeating (1-4)
我要猜一下他们可能用到的Groovy代码,我敢打赌这些代码应该象下面所示那样:
shell = new GroovyShell() while(true) { shell.evaluate("x = 100") sleep(2000) System.gc() }
那么这段代码有什么问题呢?并且是怎样导致内存泄漏呢?答案很简单:每一个GroovyShell实例都有一个内部的类加载器(class
loader),而Groovy一门编译类型的语言,即便是示例中很少的一段脚本都将会被编译成类因此随着时间的流逝,类加载器将会变得越来越大。那么该
如何解决呢?请看如下代码:
while(true) { new GroovyShell().evaluate("x = 100") sleep(2000) }
这么做,JVM就会自动回收不再使用的GroovyShell (当然包括它的类加载器)了,加载器都被回收了,其旗下的类当然也自然被回收了。JRuby当然不存在这样的问题,因为其本身就是解释性语言。没有相关语言的习惯用法,而仅仅凭借4行脚本代码,就断定一门语言是否适合企业应用,实在是滑稽可笑!所以要提防那些未经你自己证实的所谓的官方展望报告吧!
至此翻译已经完毕,可是所谓的报道,本人也觉得的很可笑,不过从Graeme的答复中,本人也受益匪浅,也了解到自己对Groovy掌握还是比较肤浅的,继续努力[img]../../../images/smiles/icon_biggrin.gif" alt="[/img]
其实从报道中也可以看到Groovy正在快速的发展,当然发展过程中不可能避免的有流言蜚语,同时也说明Groovy在备受关注中。
最后,有几个有意思的链接与大家共享一下
评论
13 楼
bnmcvzx
2008-05-03
引用
shell = new GroovyShell() while(true) { shell.evaluate("x = 100") sleep(2000) System.gc() }
照这样的例子java中也不会这样写的呀
12 楼
bnmcvzx
2008-05-03
引用
<br /><pre name="code" class="java">shell = new GroovyShell()
while(true) {
shell.evaluate("x = 100")
sleep(2000)
System.gc()
}
</pre>
11 楼
geszJava
2008-01-24
找一下x:\Program Files\Macromedia\Dreamweaver 8\Configuration\DocumentTypes目录下面的MMDocumentTypes.xml文件,查找一下documenttype id="JSP",把gsp也给添加上.不过taglib是不支持的.这样只是凑合能用,完美得应该是楼主说的那样吧.
10 楼
agile_boy
2008-01-23
to winter :
very cool!!thanks
very cool!!thanks
9 楼
winter
2008-01-22
引用
但是view的gsp文件无法在dreamweaver中可视化编辑,手工写views太低效了!grails还有太长的路走!
看这里 Using GroovyServer Pages in Dreamweaver
引用
We started using Grails in our current project for one of the internal web-applications. Grails uses GroovyServer Pages (gsp) for web pages and layout templates (you can also use JSP instead). As I don’t like to use Eclipse for web-design tasks, I figured out how to add gsp support to Dreamweaver (CS3).
Step 1: Add .gsp file extension
Edit the Extensions.txt file, which can be found here:
Windows: \Documents and Settings\username\Application Data\Adobe\Dreamweaver 9\Configuration
Mac OS X: /Users/username/Library/Application Support/Adobe/Dreamweaver 9/Configuration
Add a new line with GSP:Groovy Server Pages and add the gsp extension to the first line. Restart Dreamweaver, which will now recognize the .gsp files and open them in the editor.
Next, add the following code to configuration/DocumentTypes/MMDocumentTypes.xml
Adjust the id values if necessary. In the folder NewDocuments create a Default.gsp file. Gsp files are not being shown as option in the new files dialog yet, so the Default file is not being used. If someone knows how to do this, please let me know.
It takes adobe a couple of pages to explain it all in detail: http://www.adobe.com/go/16410
Step 2: Add the gsp tag library
Download the GspTagLibrary for Dreamweaver, unpack it and copy the gsp folder to the TagLibraries folder within the configuration folder. Add the text of gspTagLibrary.vtm to the existing TagLibraries.vtm file.
Step 3: Enable code coloring
Open CodeColoring.xml (Configuration/CodeColering) in an editor and add gsp to the doctypes attribute of the entries for Html, JavaScript and CSS. Restart Dreamweaver.
Next step could be to add a special color schema for gsp tags and groovy when using scriptlets and maybe one day I will have time to learn how to write Dreamweaver Extensions, which would hopefully make it possible to do all of this automatically.
Step 1: Add .gsp file extension
Edit the Extensions.txt file, which can be found here:
Windows: \Documents and Settings\username\Application Data\Adobe\Dreamweaver 9\Configuration
Mac OS X: /Users/username/Library/Application Support/Adobe/Dreamweaver 9/Configuration
Add a new line with GSP:Groovy Server Pages and add the gsp extension to the first line. Restart Dreamweaver, which will now recognize the .gsp files and open them in the editor.
Next, add the following code to configuration/DocumentTypes/MMDocumentTypes.xml
<documenttype id="GSP" internaltype="Dynamic" winfileextension="gsp" macfileextension="gsp" file="Default.gsp" writebyteordermark="false"> <TITLE> <MMString:loadString id="mmdocumenttypes_70" /> </TITLE> <description> <MMString:loadString id="mmdocumenttypes_71" /> </description> <dtdcontext>html</dtdcontext> </documenttype>
Adjust the id values if necessary. In the folder NewDocuments create a Default.gsp file. Gsp files are not being shown as option in the new files dialog yet, so the Default file is not being used. If someone knows how to do this, please let me know.
It takes adobe a couple of pages to explain it all in detail: http://www.adobe.com/go/16410
Step 2: Add the gsp tag library
Download the GspTagLibrary for Dreamweaver, unpack it and copy the gsp folder to the TagLibraries folder within the configuration folder. Add the text of gspTagLibrary.vtm to the existing TagLibraries.vtm file.
Step 3: Enable code coloring
Open CodeColoring.xml (Configuration/CodeColering) in an editor and add gsp to the doctypes attribute of the entries for Html, JavaScript and CSS. Restart Dreamweaver.
Next step could be to add a special color schema for gsp tags and groovy when using scriptlets and maybe one day I will have time to learn how to write Dreamweaver Extensions, which would hopefully make it possible to do all of this automatically.
8 楼
winter
2008-01-22
要是非得在DW编辑,把gsp临时改成jsp。。。。。。。
7 楼
魔力猫咪
2008-01-22
最近正在看Grails。书是从网上下来的,虽然旧了点,但还是很不错的。用Grails快速开发好舒服。
6 楼
lordhong
2008-01-22
我喜欢groovy,2008年喜欢可以多多用上
5 楼
murainwood
2008-01-22
Grails,半敏不捷
4 楼
agile_boy
2008-01-21
qieren 写道
groovy in action还会有中文版吗?...英语太烂...都等了好久了
如果此Groovy in Action中文版公告准确的话,应该快了。
让我们期待吧,你如果有什么因为可以到GoG的圈子里提问。
3 楼
qieren
2008-01-21
groovy in action还会有中文版吗?...英语太烂...都等了好久了
2 楼
agile_boy
2008-01-21
gsp跟jsp是一脉相通的,如果喜欢拖拽,可以尝试JSF啊
1 楼
ourfirebird
2008-01-21
但是view的gsp文件无法在dreamweaver中可视化编辑,手工写views太低效了!grails还有太长的路走!
发表评论
-
Grails跟Hibernate和Mongodb的组合
2011-08-08 23:19 3453标题看起来很噱头哦 先简要说明一下我在项目中的必要场 ... -
一个属性未设置导致发mail不成功的郁闷。
2011-04-10 20:42 2741难得阳光灿烂的周末啊,确被javamail的一个属性未设置 ... -
Grails 关于单元/集成测试
2011-02-17 11:06 2083Grails提供了比较方便的测试,其默认提供了单元,集成测 ... -
[转载]Grails plugins on Hudson
2010-07-03 11:48 1947此文也是因为被“墙”才转载的,原文地址:http: ... -
Grails 1.3的依赖管理
2010-07-03 11:42 3607用Grails做项目以来,基本上一直都是各自独立的项目,也 ... -
[转载] Reading i18n messages from the database with Grails
2010-06-27 23:45 1536如题,此文是Grails的作者的一篇文章,无奈被墙,同时 ... -
[转载] Adventures in Grails – WS-Security Part 2
2010-06-13 23:10 1312原文url:http://axixmiqui.wordp ... -
[转载]Adventures in Grails – WS-Security Part 1
2010-06-06 22:18 1485转载是因为此文网站被墙了。 The next s ... -
grails 1.2 生成相关IDE和ANT的配置文件
2010-01-24 14:48 1288做了一个Grails的小应用测试一下,发现相比1.1.1, ... -
grails,xfire和groovyws共存
2009-09-04 10:25 2263使用Grails开发WebService服务,方便快捷就无须再 ... -
Grails 从1.0.4 到 1.1的升级小结
2009-03-13 13:17 2246先将官方的升级注意事项简单罗列,我也是参照此进行升级的。 ... -
Grails 1.1 正式版发布
2009-03-11 01:57 2617在比较漫长的期待之后(期间经历了Grails被Spring ... -
Grails1.0.4的scaffolding
2008-11-17 16:06 1369使用Grails的动态脚手架(dynamic scaffold ... -
grails JobExecutionException编译错误
2008-07-08 11:46 1650使用Grails插件的要注意了,jsecurity中自带了 ... -
Grails 1.0.3发布
2008-06-07 16:45 1941现在想想Grails1.0.2发布也有些许时间了,其间Gr ... -
Grails中文参考手册一审完毕,初步发行一个beta版
2008-05-06 18:10 4378详细信息请参考Grails参考手册的官方信息: http: ... -
Groovy 1.6-beta-1发布,性能有大幅提高!
2008-05-03 14:57 2405感谢G2One和Groovy开发团队为我们发布了Groovy ... -
Grails喜获JAX大奖
2008-04-27 11:36 1652前几天Grails获得提名,现在终于水到渠成了,获得JAX大奖 ... -
Groovy1.5.6发布
2008-04-26 09:55 1735Groovy1.5.5在编译速度有所提升以后,G2ONE很 ... -
Groovy1.5.5发布
2008-04-15 09:38 1639G2One, Inc和Groovy开发小组非常荣幸的宣布:Gr ...
相关推荐
本书《Beginning Groovy and Grails, From Novice to Professional》由Christopher M. Judd、Joseph Faisal Nusairat 和 James Shingler共同编写,并得到了Grails项目负责人Graeme Rocher的前言推荐。本书主要面向...
- 作者:Graeme C. Simsion 和 Graham C. Witt。 - 提供了数据模型设计的核心概念和方法。 - 对于初学者来说是一本很好的入门书籍。 14. **Location-Based Services** - 作者:Jochen Schiller 和 Agnès ...
在2006年的JavaOneSM会议上,Grails的 Managing Director Graeme Rocher分享了如何利用Grails进行敏捷Web应用开发。这场演讲的主要目标是向参与者展示如何利用Grails的特性实现快速开发。 1. **Grails的核心理念** ...
原作者:Graeme Merrall -------------------------------------------------------------------------------- 本文介绍堪称Web数据库黄金组合的PHP/MySQL如何构筑一个网络数据库应用的方法,PHP是一个类似...
- **历史沿革**:2005年,Graeme Rocher、Steven Devijsver和Guillaume Laforge合作推出了Grails。 - **开源许可**:Grails采用Apache许可证发布。 - **目标定位**:简化开发者的日常生活。 #### Grails技术栈 从...
Martin 的《Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition》。 4. Michael P. Oakes 的《Statistics for Corpus ...
此书由Graeme Rocher和Jeff Brown合著,旨在为读者提供深入理解Grails框架所需的知识和技术。下面我们将从几个方面详细探讨与这本书相关的知识点。 ### Grails框架简介 Grails是一个开源的应用程序框架,基于...
% 计算出自 Jerald Graeme 的书 [1]。 % 用户可以从供应商处提供自己的电子元件% 制造商数据表。 % % 用法: % 用于光电二极管跨阻中的频率和噪声分析% 放大器开发。 % % 需要专门的 Matlab 工具箱: % 没有任何...
Jerald G. Graeme_Amplifier Applications of Op Amps.pdf
- **作者**:本书由Grails项目组组长Graeme Rocher和Jeff Brown共同编写,这两位作者不仅是Grails的主要贡献者,也是Groovy社区的重要成员。 - **内容覆盖**:本书全面介绍了Grails的所有功能,包括但不限于数据访问...
- **Graeme Mitchison**:英国医学研究委员会分子生物学实验室的研究人员。 #### 五、概率模型详解 ##### 隐马尔可夫模型(HMMs) 隐马尔可夫模型是一种统计模型,它用来描述一个含有未观测状态的系统如何随时间...
According to Graeme, PHP and MySQL are the world s best combination for creating data-driven sites. In the first installment of this three-lesson tutorial, our Kiwi guide covers everything you need ...
- **Learning to Rank for Information Retrieval and Natural Language Processing**:该标题表明本书主要关注学习排序(Learning to Rank)技术在信息检索(Information Retrieval, IR)和自然语言处理(Natural ...
- **部分文档内容**:文档由Graeme Birchall编写于2002年8月20日,针对的是DB2 UDB V8.1版本。此书旨在提供关于DB2 SQL使用的详细指导,包括常见问题的解决方案、最佳实践等。 #### 二、重要声明与版权信息 - **...