第一段Groovy代码 // first groovy program for(int i = 0; i < 3; i++) { System.out.println("ho "); } System.out.println("Merry Groovy"); 看起来好简单. 还有更简单的方式: for (i in 0..2) { print 'ho '} 0.upto(2) { print "$it "} upto默认接受一个闭包作为参数,…
本章将继续深入Groovy语言,首先学习Groovy脚本,包括从命令行编译和运行Groovy脚本,Groovy Shell,和Groovy Console.你将学会使用Groovy语言来建立域对象.控制器和服务.而且使用Groovy的方法并非只有一种.另外,对于建立类,可以使用Groovy作为脚本语言.例1:简单的Groovy脚本Hello.groovyprintln "Hello ${args[0]}, may Groovy be with you."执行以上代码:PS D:\tmp…
1. Groovy的安装 目前Groovy的最新版本为2.1.2版,下载地址为:http://groovy.codehaus.org/Download下载后解压groovy-binary-2.1.2.zip到某个目录,然后设置GROOVY_HOME环境变量指向Groovy的解压目录.再设置PATH环境变量,添加%GROOVY_HOME%\bin.要验证以上安装是否正确,在命令行方式,执行: >groovy -v Groovy Version: 2.1.2 JVM: 1.7.0_09 Vendor…
作者:chszs 1. 断言 Java开发者常常使用JUnit或TestNG做单元测试,所以对断言是很清楚的.断言是用于验证假设的条件是否为真.在Groovy的断言中,如果假设的条件不为真,那么就会抛出java.lang.AssertionError异常.使用Groovy表达式来测试假设条件.比如:groovy:000> assert 1==2 : "One isn't Two"ERROR java.lang.AssertionError:One isn't Two. Expre…
1.枚举enum enum CoffeeSize{ SHORT, SMALL, MEDIUM, LARGE, MUG } def orderCoffee(size){ print "Coffee order received for size $size:" switch(size){ case [CoffeeSize.SHORT, CoffeeSize.SMALL]: println 'Conscious' break; case CoffeeSize.MEDIUM..CoffeeS…
Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续更新一些切换后在开发过程中值得注意的地方.以下列举了部分,但令人印象深刻的Scala语言的不同之处,具体的代码演示样例及具体阐述见下文.  Scala中可直接调用Java代码,与Java无缝连接. 语句能够不用";"结束.且推荐不适用";". 变量声明时以var或va…
1       在java中使用groovy类 1.1  直接调用groovy类 在java中调用Groovy类,需要增加Groovy运行时到java的classpath中. pom.xml <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.5</version> <…
摘自: http://shift-alt-ctrl.iteye.com/blog/1938238 . 最近设计一个数据统计系统,系统中上百种数据统计维度,而且这些数据统计的指标可能随时会调整.如果基于java编码的方式逐个实现数据统计的API设计,工作量大而且维护起来成本较高;最终确定为将"数据统计"的计算部分单独分离成脚本文件(javascript,或者Groovy),非常便捷了实现了"数据统计Task" 与 "数据统计规则(计算)"解耦,且可…
作为开发者来说,必备的除了对编码的热情还要有自己的一套技巧,另外不可缺少的就是平时学习的网站.以下本人收集的 Java 开发者必备的网站,这些网站可以提供信息.以及一些很棒的讲座 , 还能解答一般问题.面试问题等,或许你会认为有些网站适合任何水平的开发者,但是我认为:对于 Java 开发大牛来说,网站的好坏取决于如何使用它们. 1.Stack overflow Stack overflow.com 可能是编程界中最流行的网站了 , 是一个与程序相关的 IT 技术问答网站,用户可以在网站免费提交问…
作为开发者来说,必备的除了对编码的热情还要有自己的一套技巧,另外不可缺少的就是平时学习的网站.以下本人收集的Java开发者必备的网站,这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等,或许你会认为有些网站适合任何水平的开发者,但是我认为:对于Java开发大牛来说,网站的好坏取决于如何使用它们. Stack overflow Stack overflow.com 可能是编程界中最流行的网站了, 是一个与程序相关的IT技术问答网站,用户可以在网站免费提交问题,浏览问题,索引相…
一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,Groovy 抛弃了java烦琐的文法.同样的语句,使用groovy能在最大限度上减少你的击键次数--这确实是"懒惰程序员们"的福音. 二.开发环境 1.  jdk 1.5以上 2.  eclipse+groovy plugin(支持Groovy 1.5.7) 打开eclipse,通过Sof…
Groovy 是什么? Apache的Groovy是Java平台上设计的面向对象编程语言.这门动态语言拥有类似Python.Ruby和Smalltalk中的一些特性,可以作为Java平台的脚本语言使用,Groovy代码动态地编译成运行于Java虚拟机(JVM)上的Java字节码,并与其他Java代码和库进行互操作. 由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库.Groovy的语法与Java非常相似,大多数Java代码也符合Groovy的语法规则,尽管可能语义不同. G…
1.1 安装Groovy Groovy主页:http://www.groovy-lang.org 确保本地系统安装了Java 1.1.1 在Windows系统上安装Groovy 1.创建环境变量GROOVY_HOME,其值为Groovy的目录(如:C:\programs\groovy\groovy-2.1.0). 2.将%GROOVY_HOME%\bin添加到path中. 3.确认下环境变量JAVA_HOME的值是否指向JDK的位置. 4.在命令行窗口输入groovy -v,确保报告的是正确的版…
只需看看今天Groovy语言实现机制.在此之前,是第一个推倒静态类型与动态类型语言在实现上面的一些差异. 静态类型 vs. 动态类型 看以下这个简单的栗子. def addtwo(a, b) { return a + b; } 静态类型语言与动态类型语言对于上面这个简单的加法实现全然不同.静态类型语言.比如Java.语言的编译器在编译时就已经进行类型检查,所以能够将+运算符编译成特定的指令.语言的runtime系统能够直接执行该指令.比如javac会将两个int类型的+运算编译成iadd指令,执…
lua和groovy都是可以嵌入到java中的脚本语言.lua以高性能著称,与C/C++在游戏开放中有较多使用,groovy是一个基于Java虚拟机(JVM)的敏捷动态语言,在jvm下有着不错的性能. groovy天生与java有着极高的兼容性,两者间对象无缝存取,支持jsr223.而lua是基于C的,需要调用jni,jni的性能是硬伤.这块网上基本都用luajava,好多年不更新了,不支持jsr223,而且很多方法都没有实现,也不能做到对象无缝存取,比如lua传到java的对象,java用不了…
Assuming that groovy codes are in src/main/groovy and java codes are in src/main/java. We can use 2 maven-compiler-plugin to compile groovy and java, and add groovy-all dependency. And finally we can find the both groovy and java class files in jar.…
二. 工具 1. 控制台 groovyConsole: Groovy 控制台是一个非常易于使用和简单的轻量级的编辑器.你可以在里面做很多事情. 在编辑器里面可以书写代码,Windows 下,按下Ctrl + R 来运行代码,清除工作台的输出信息使用Ctrl + W 快捷键. 2. 编译 groovyc: 可以借助 Java 7 的动态调用设计的优势,可以使用--indy 标识符.这个在 Groovy 命令行下也同样适用. 动态调用可以帮助编译器提高性能,例如鸭子类型,元编程,方法缺失调用等. 3…
1. 需要安装的软件 Java / Groovy 对应 Java 和 Groovy,你需要安装以下软件: Java JDK,例如 JDK 8 IDE,例如 Eclipse,NetBeans 8 Groovy 下载以后,安装即可.接下来需要配置 Java_Home 和 Groovy_Home环境变量.如下(以 Mac为例): 在你的用户根目录下,使用命令ls -a 找到.bash_profile文件,注意,它是一个隐藏文件,而且对它的修改只对当前用户生效. 使用 vi 命令, vi .bash_p…
Groovy在Java中的应用,做几个小例子以备查 package com.boco.efficiency.groovy; import groovy.lang.Binding; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyObject; import groovy.lang.GroovyShell; import groovy.text.SimpleTemplateEngine; import groovy.te…
安装Groovy 在Windows环境下安装Groovy 下载安装包,傻瓜安装,设置环境目录,就这样搞定. 另外还需要安装Java并且设置JAVA_HOME环境变量. 两分钟搞定. 使用groovysh 其实就是一个命令行的运行环境.交互式的方式执行一些命令. 使用Groovy的图形界面,groovyConsole 在命令行中运行Groovy 写好了脚本之后,用groovy命令了来运行. 使用IDEA,这个我最喜欢了.…
Groovy是啥? groovy是英文中的一个单词,有marvelous.wonderful和excellen的意思. groovy是轻量级的,动态的,面向对象的,并且运行在JVM上的. groovy编译为Java字节码. groovy基于Java 1.5及更高版本运行. 要部署的话,我们需要一个Groovy的Jar文件. 为什么要用动态语言? 运行时扩展,修改类型.行为和对象结构. 利用动态语言可以在运行时做一些在编译时才能做得事情. 动态语言的优势 机器速度 可用性 对单元测试的意识 杀手级…
Groovy小结:java调用Groovy方法并传递参数 @(JAVA总结) 1. 场景描述 在网上查了资料发现,java有三种方式调用groovy脚本.但是真正在实际的服务器环境中,嵌入groovy脚本往往需要满足下面的条件: 可以直接调用groovy脚本中的方法 能传递对象到groovy方法中,不仅仅是字符串 提供脚本缓存机制,不用每次调用脚本的时候,都到磁盘读取 修改groovy后能实时生效 只有满足了上面的这些要求,才能安心的将其嵌入到现有的Java后台服务中. 下面就来具体探讨下具体实…
  ​前言 相信很多Java开发者都对大数据有一定的了解,随着大数据时代的到来,也有很多Java程序员想要转行大数据.大数据技术中大多数平台使用的都是Java语言,因此,对于大数据技术的学习来说,Java程序员已经占尽了先机.但是很多人对大数据该怎么学,学哪些内容和方向不是很了解,下面就给大家来详细讲一下. 本文分三大方面详细的讲如何学大数据: 大数据方向工作介绍 大数据工程师的技能要求 大数据学习路径 一.大数据方向工作介绍 大数据方向的工作目前分为三个主要方向: 01.大数据工程师 02.数…
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言.使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性. Groovy特性: 可将java代码在Groovy脚本动态编码.代码被修改达到不重启服务的目的(类似于热部署) 核心涉及: ClassLoader:就是类的装载器,它使JVM可以动态的载入Java类,JVM并不需要知道从…
10. Groovy GPars GPars 一开始在 Groovy 中作为一个单独的项目,同时带来了很多并发的机制.它包含了很多并行的map/redue,Actors,以及其他很多并发的模块. 1. Parallel Map-Reduce 在下面的例子中,我们定义了一个包含毕业年份和平均分数的Student类. class Student { int graduationYear; double gpa; } 同时定义个包含Student的 List,这时你就可以使用 GPars 类库对 Li…
Coursera课程<面向 Web 开发者的 HTML.CSS 与 Javascript> Johns Hopkins University Yaakov Chaikin Week1 Introduction to HTML5 对于网页来说,HTML定义的是网页的骨架(structure),CSS定义的是网页的风格(style),JavaScript定义的是网页的动作(Behavior). 使用http://validator.w3.org可以来验证你写的HTML是否符合标准. HTML标签的…
谷歌关键字搜索:100个高质量Java开发者博客. Java开发牛人十大必备网站.…
我们无法在一篇博文里解释JavaScript的所有细节.如果你正或多或少地涉及了web应用程序开发,那么,我们的Java工具和技术范围报告揭示了,大多数(71%)Java开发者被归到了这一类,只是你对JavaScript遇到了阻碍. 毫无疑问,你已经知道了Java和JavaScript,不管它们有着多么类似的命名,彼此没有共享太多共通之处.Java的静态类型.符合直接规律的简单语法和冗长,与JavaScript的动态.缺乏一致性原则和怪异,有着巨大的不同. 然而,JavaScript是web的编…
ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ) 本文的主要目的是收集全球范围内100个高质量Java开发者博客.其中会有一些博客并不是由纯粹的Java开发者撰写的,但是Java开发者们能够从中发现一些有用的或者有趣的东西.阅读这些博客将会非常有趣,有时会给你带来一些新鲜的想法. Google的排名算法中,大型网站的排位会比较高.这对一些小型…
原文来自于:http://www.importnew.com/7469.html ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ) 本文的主要目的是收集全球范围内100个高质量Java开发者博客.其中会有一些博客并不是由纯粹的Java开发者撰写的,但是Java开发者们能够从中发现一些有用的或者有趣的东西.阅读这些博客将会非常有趣,有时会给你带…