groovy 简介(基于JVM的脚本语言)

简介: groovy ,[ˈgru:vi ] ,adj. 绝妙的 流行的;  groovy是一个基于JVM的脚本语言,可以与java很好地结合、混用。 很好的介绍性文章:http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html 1.JVM脚本语言三巨头 可参照:http://www.ibm.com/

groovy ,[ˈgru:vi ] ,adj. 绝妙的 流行的; 

groovy是一个基于JVM的脚本语言,可以与java很好地结合、混用。

很好的介绍性文章:http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html

1.JVM脚本语言三巨头

可参照:http://www.ibm.com/developerworks/cn/java/j-jn1/index.html

它们都是基于JVM的脚本语言。此外还有Jython、Jruby,就不展开了。

1.1clojure 

Clojure 是一种 Lisp 方言,在语法上彻底背离了其他语言。它是一种强动态类型语言(和 Groovy 一样),反映了专断的设计决策。虽然 Clojure 允许您用遗留 Java 进行完整和深入的交互操作,但它并不试图构建与旧式范式相连的桥梁。例如,Clojure 不具备纠错功能,并且支持面向对象进行交互操作。但是,它还支持对象程序员所习惯的所有特性,如多态性,但它以函数方式而非面向对象的方式来实现这些特性。Clojure 围绕一些核心工程原理(比如 Software Transactional Memory)进行设计,它打破了旧的范式,支持新的功能。

1.2scala 

Scala 是一种充分利用了 JVM 优势的语言,但其语法完全进行了重新设计。Scala 是一种强静态类型语言(比对类型要求比较严格的 Java 更严格)支持面向对象范式和函数范式,而且更青睐于后者。例如,Scala 倾向 val声明,并使不变的变量(类似于在 Java 中将参数标记为 final)服从于 var,这创建了人们更加熟悉的可变变量。通过大力支持这两种范式,Scala 为您提供了从您可能是(一名面向对象的命令式程序员)到可能应该是(一名倾向函数式的程序员)的桥梁。

1.3groovy

Groovy 是 21 世纪的 Java 语法(浓缩咖啡,而非普通咖啡)。Groovy 的设计目标是更新并减少 Java 语法阻力,同时支持 Java 语言中的主要范式。因此,Groovy 需要 “了解” JavaBeans 这类技术,并简化属性访问。Groovy 快速合并新特性,并提供了一些重要函数特性,我将在后面几期中重点介绍。Groovy 在根本上依然是面向对象的命令式语言。Groovy 与 Java 的两个主要区别是,Groovy 是 静态而非动态类型,而且它的元程序功能更佳。

2.与java宏观对比

网上的讨论很乱,教科书也不讨论这些,先给这么一版答案吧。
静态类型:编译时明确变量的类型。如java。
动态类型:运行时才确定变量的类型。如groovy。
强类型:一旦变量被指定某个数据类型,不能再变。如java。
若类型:与强类型相反。如js。


目录
相关文章
|
存储 Java
【JVM】jvm简介特点和jvm在整个计算机框架中的位置
【JVM】jvm简介特点和jvm在整个计算机框架中的位置
177 0
|
8月前
|
存储 缓存 算法
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
394 29
JVM简介—1.Java内存区域
|
8月前
|
缓存 监控 算法
JVM简介—2.垃圾回收器和内存分配策略
本文介绍了Java垃圾回收机制的多个方面,包括垃圾回收概述、对象存活判断、引用类型介绍、垃圾收集算法、垃圾收集器设计、具体垃圾回收器详情、Stop The World现象、内存分配与回收策略、新生代配置演示、内存泄漏和溢出问题以及JDK提供的相关工具。
JVM简介—2.垃圾回收器和内存分配策略
|
8月前
|
存储 Java 编译器
JVM简介—3.JVM的执行子系统
本文详细介绍了Java类的加载、执行及其相关机制,涵盖Class文件结构、字节码指令、类加载器、双亲委派模型、栈桢和方法调用等内容。
JVM简介—3.JVM的执行子系统
|
监控 算法 Java
JVM调优-简介(一)
JVM调优-简介(一)
113 0
|
JSON 监控 Java
编写电脑监控软件的Groovy脚本:JVM生态系统的整合与扩展
使用Groovy编写脚本监控Java虚拟机(JVM)的健康状况,包括内存使用和CPU利用率。脚本可自动将数据提交至指定网站,确保及时发现系统问题,防止服务中断。通过结合Runtime和OperatingSystemMXBean类获取系统信息,利用Groovy的HTTP客户端库POST数据到监控网站,实现高效稳定的系统监控。
206 0
|
存储 Java 编译器
【JavaEE初阶】 JVM 运行时数据区简介
【JavaEE初阶】 JVM 运行时数据区简介
|
Oracle Java 关系型数据库
【JavaEE初阶】 JVM简介
【JavaEE初阶】 JVM简介
|
算法 Java 调度
简介JVM
简介JVM
133 0
|
自然语言处理 Java 编译器
Java及JVM简介
Java及JVM简介