Groovy简介

简单地说,Groovy是一门基于JVM的动态语言。我们可以把它当成JVM上的Python语言来使用。而且Groovy的有些语法都和Python、Ruby等脚本语言很相似。Groovy最后也会被编译为Java字节码,在JVM上运行。如果你受够了Java的笨重,可以来考虑试用一下Groovy语言。现在的基于JVM的新语言(Scala、Groovy和Kotlin)都有各自优点,值得学习。

Groovy资源

Groovy下载

Groovy文档

Groovy Console,Groovy自带的图形界面,可以编辑和运行Groovy代码,非常适合Groovy学习。

Awesome Groovy,一系列Groovy资源

Gradle,基于Groovy的非常强大的JVM项目构建工具

Gretty,一个强大的Gradle Web运行插件,可以启动Jetty或Tomcat服务器,支持自动重启等特性

Groovy文档导航

Groovy文档是按照功能分类的,还是英文的,初学者可能一时不知道该看什么内容。所以我将文档的各个部分简单介绍一下。

语言规范

这部分讲的就是Groovy语言的内容。如果想要详细了解Groovy语言的话就看这部分。

  • Syntax,基本语法部分,主要是Groovy的数据类型。
  • Operators,操作符部分。
  • Program structure,项目导入,讲了Groovy导入类和导入缩写等内容。
  • Object orientation,Groovy的面向对象编程。
  • Closures,闭包。
  • Semantics,语义部分,讲了几种条件、循环表达式,相等的语义等等。

入门部分

这部分将了Groovy的入门,如何下载安装、和Java的比较等等。

  • Download Groovy,下载Groovy。
  • Install Groovy,安装Groovy。
  • Differences with Java,和Java的比较。
  • The Groovy Development Kit,Groovy开发工具包,一开始我以为这是个IDE插件那种东西,后来一看原来是一组增强类库,让Groovy更好用的。
  • Runtime and compile-time metaprogramming,运行时和编译时元编程, 这是高级功能。
  • The Grape dependency manager,一个嵌入式依赖管理器,主要和Groovy脚本配合使用,自动下载依赖。
  • Testing guide,测试指南。
  • Domain-Specific Languages,领域设计语言,在某些特定领域很有用。
  • Integrating Groovy into applications,将Groovy集成到项目中。
  • Design patterns in Groovy,用Groovy描述的各种设计模式,讲的非常好,看完之后对设计模式和Groovy语言会有更进一步的理解。
  • Style guide,代码风格,必看。

Groovy模块指南

Groovy除了语言部分,还有一些功能模块。

  • Parsing and producing JSON,JSON转换。
  • Working with a relational database,SQL数据库处理。
  • Processing XML,处理XML文件。
  • Scripting Ant tasks,Ant构建脚本。
  • Template engines,模板引擎,可以方便的生成各种文档模板(普通文本,XML和HTML)。
  • Creating Swing UIs,创建Swing界面。
  • Servlet support,创建类似脚本的Servlet文件。
  • Working with JMX,JMX功能。

工具和API

这部分我就不列举了。groovyConsole — the Groovy Swing console这个功能不错,它是一个用Swing编写的小图形界面,可以执行、查看和修改Groovy文件,对于学习Groovy有一定帮助。

其余功能都是命令行编译、API参考等内容。这就属于高级开发者看的部分了。我们初级学习者只要学会熟练使用Groovy语言就可以了。

Groovy简介和一点资源相关推荐

  1. NS3_Tutorial 中文版: 第一章 简介 第二章 资源

    [致谢]: 感谢关注NS3 Tutorial中文版的广大网友们,感谢NS3翻译小组,感谢初稿的翻译者们,感谢审稿和编辑们!!!   (详细的名单请查看博文翻译Tutorial) 声明:引用和转载相关内 ...

  2. 独家 | 计算学习理论简介(附资源推荐)

    作者:Jason Brownlee 翻译:陈超 校对:王琦 本文长度为3600字,建议阅读10+分钟 本文为大家介绍了如何使用计算学习理论研究机器学习任务和方法,并对其中比较重要的子领域PAC学习以及 ...

  3. 【单片机】自学单片机第01天|单片机简介、内部资源、最小系统

    作者:努力学习的大一在校计算机专业学生,热爱学习和创作.目前在学习和分享:算法.数据结构.Java等相关知识. 博主主页: @是瑶瑶子啦 所属专栏: 单片机基础自学教程:适合小白的单片机自学教程|以5 ...

  4. Cookiecutter: 更好的项目模板工具:(1)简介及可用资源汇总

    原文档地址:https://cookiecutter.readthedocs.io/en/latest/ 本系列只介绍cookiecutter的基础使用,而且会删除与功能使用无关的部分.深度使用及了解 ...

  5. WebVR简介和常用资源链接

    什么是WebVR 这是一个实验性的JavaScript API,提供了在用户网页浏览器中访问虚拟现实设备的统一接口. 现在体验VR,一般你需要在VR设备的前方加上一个手机,这额外添加了重量和总体成本. ...

  6. 一点资源【1、嵌入式的视频,里面有数据结构】

    链接: http://pan.baidu.com/s/1i3KsL73 密码: jyr7 这是嵌入式的视频,里面有数据结构

  7. 【Android 安装包优化】资源混淆 ( 资源混淆效果 | APK 构建流程简介 | 资源 ID 组成 )

    文章目录 一.资源混淆效果 二.APK 构建流程简介 三.资源 ID 组成 四.参考资料 一.资源混淆效果 资源混淆 , 将资源名称与目录进行混淆 , 提高了反编译的难度 , 同时也减小了 APK 文 ...

  8. 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例

    大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...

  9. 前端资源分享-只为更好前端

    一.团队组织 网站 说明 腾讯 AlloyTeam 团队 腾讯Web前端团队,代表作品WebQQ,致力于前端技术的研究 ISUX 腾讯社交用户体验设计,简称ISUX,腾讯设计团队网站 CDC 腾讯用户 ...

最新文章

  1. linux 查看进程端口_如何简单有效的查看windows进程使用了哪些端口
  2. Linux下/etc/fstab文件详解
  3. 深入Windows原理杂记
  4. 解决静态方法调用注入的service
  5. Caffe代码导读(1):Protobuf例子
  6. MFC创建单文档工程(左上角名称前的mfc图标修改为其他需求图标)
  7. java调用xdotool_【转】java Map 遍历速度最优解
  8. linux终端登录软件,小白入门之四:使用终端登录软件,登录linux系统
  9. bitwig编曲软件linux,Bitwig 中文视频教程——注册安装和基础功能入门
  10. xorg.conf变更导致开机无法显示
  11. 反演控制 matlab,基于matlab的反演程序
  12. 我只注视你全cg存档_在暴戾的他怀里撒个娇 作者:春风榴火全娱乐圈都在等我们离婚作者:魔安...
  13. Python 接口测试(三)
  14. JavaScript 根据两点的经纬度坐标,计算实际的直线距离
  15. 多宽带联网(五) 仅使用Windows进行多宽带叠加
  16. 强迫症狂喜!PC端相册还能智能分类!
  17. 网页版怎么连接tcp服务器,请教怎么做一个tcp客户端访问网页
  18. 【概率论】事件的独立与事件的互斥(或互不相容)、以及它们之间的关系
  19. gitlab漏洞导致服务器被植入挖矿程序
  20. 10个提供免费矢量图形的网站

热门文章

  1. 如何安全的停止一个线程
  2. C语言之动态内存管理与动态内存函数
  3. android与gradle版本,android – Gradle错误:支持的最低Gradle版本...
  4. php 检查图片重复度,php – 检测图片的“整体平均”颜色
  5. 什么是html的编码方式,HTML网页中“上”是什么编码方式啊?网页中&# 爱问知识人...
  6. 远程过程调用失败_Dubbo 本地调用
  7. php global global,PHP中global全局变量的作用范围
  8. java 权重_java实现权重随机算法
  9. 在git下搭建个人博客
  10. python利用管道popen调用.exe进行交互