-
-
Groovy For Mac
2.4.0 正式版
- 软件大小:29.9MB
- 更新日期:2024-12-26
- 下载次数:0次
- 软件语言:英文
- 软件授权:免费软件
- 软件评级:

- 安全检测:无插件无病毒
- 软件类型:国外软件
- 软件分类:网络工具
- 软件系统:Mac OS X
Groovy For Mac简介
Groovy For Mac正式版是编程人员经常使用的JVM开发语言。Groovy For Mac最新版是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。Groovy For Mac写出来的代码可以很好的与Java 代码结合,而且在此基础上又提供了多于Java的功能。
{mac3}
Groovy For Mac软件功能
1、一些新的运算符。
2、默认导入常用的包。
3、断言不支持jvm的-ea参数进行开关。
4、支持对对象进行布尔求值。
5、支持函数式编程,不需要main函数。
6、类不支持default作用域,且默认作用域为public。
7、groovy中基本类型也是对象,可以直接调用对象的方法。
8、受检查类型异常(Checked Exception)也可以不用捕获。
9、支持单元测试和模拟(对象),可以 简化测试。
10、无缝集成 所有已经存在的 Java对象和类库。
11、 Groovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变得非常简单。
12、在开发Web,GUI,数据库或控制台程序时 通过 减少框架性代码 大大提高了开发者的效率。
13、直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。
14、 构建在强大的Java语言之上 并 添加了从Python,Ruby和Smalltalk等语言中学到的 诸多特征,例如动态类型转换、闭包和元编程(metaprogramming)支持。。
15、为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零)。
16、 支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让代码变得易于阅读和维护。
Groovy For Mac主要优势
1、语法简洁,可读性强,并且很容易上手
2、集成性强,与Java语言或者一些第三方库无缝接入
3、脚本测试,可以写一些简单的、可维护的测试用例,来完成自动化构建任务
4、功能强大,具有闭包特性,自动构建,元编程,函数式编程,Optional类型以及静态编译的功能
5、DSL语言编写,语法灵活,扩展性强,使项目具有高级配置与可定制的机制,可读性强的特点
6、完整的生态系统,涉及Web开发、reactive应用,并发性、异步的库、测试框架、构建工具(Build Tools)、代码分析、GUI构建
Groovy For Mac常见问题
问:为什么Groovy For Mac每执行一次脚本,都会生成一个脚本对应的class对象?
答:一个ClassLoader对于同一个名字的类只能加载一次,都由GroovyClassLoader加载,那么当一个脚本里定义了C这个类之后,另外一个脚本再定义一个C类的话,GroovyClassLoader就无法加载了。为什么这里会每次执行都会加载?
这是因为对于同一个groovy脚本,groovy执行引擎都会不同的命名,且命名与时间戳有关系。当传入text时,class对象的命名规则为:"script" + System.currentTimeMillis() + Math.abs(text.hashCode()) + ".groovy"。这就导致就算groovy脚本未发生任何变化,每次执行parse方法都会新生成一个脚本对应的class对象,且由GroovyClassLoader进行加载,不断增大perm区。
问:Groovy For Mac为什么InnerLoader加载的对应无法通过gc清理掉?
答:大家都知道,JVM中的Class只有满足以下三个条件,才能被GC回收,也就是该Class被卸载:1. 该类所有的实例都已经被GC,也就是JVM中不存在该Class的任何实例;2. 加载该类的ClassLoader已经被GC;3. 该类的java.lang.Class对象没有在任何地方被引用,如不能在任何地方通过反射访问该类的方法。
在GroovyClassLoader代码中有一个class对象的缓存,进一步跟下去,发现每次编译脚本时都会在Map中缓存这个对象,即:setClassCacheEntry(clazz)。每次groovy编译脚本后,都会缓存该脚本的Class对象,下次编译该脚本时,会优先从缓存中读取,这样节省掉编译的时间。这个缓存的Map由GroovyClassLoader持有,key是脚本的类名,这就导致每个脚本对应的class对象都存在引用,无法被gc清理掉。
相关专题
换一换人气软件
-
红手指云手机v4.12.081
237.76 MB|2026-01-27
-
抖音电脑版7.1.0
4.58 MB|2026-01-20
-
雷神加速器11.3.0.8
88.3MB|2026-01-16
-
360软件管家13.0.0.2007
95.2MB|2026-01-16
-
泡泡加速器25.12.5.1
2.92 MB|2026-01-16
-
虎牙直播7.30.0.120
2.79 MB|2026-01-13
- 51热搜
- 热门分类
- 热门专题
热搜推荐
-
租号玩5.18.250612.1
|91.5MB -
我的世界1.18.24.12
|180.14 MB -
快手13.11.40.45972
|95.42MB -
乐播投屏6.3.50
|120 MB -
爱奇艺13.11.0.9633
|67.38MB
装机必备软件
小编推荐
-
1
红手指云手机v4.12.081
游戏软件|
-
2
抖音电脑版7.1.0
视频播放|
-
3
雷神加速器11.3.0.8
网络加速|
-
4
360软件管家13.0.0.2007
系统安全|
-
5
泡泡加速器25.12.5.1
网络加速|
-
6
虎牙直播7.30.0.120
视频播放|
-
7
迅游网游加速器8.0
网络加速|
-
8
苹果恢复大师3.8.38.2362最新版
数据恢复|
-
9
驱动精灵2025.8.5.220
硬件工具|
-
10
得力OCR文字识别3.1.0.5 官方版
办公软件|


