- 浏览: 1064486 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (501)
- dwr (6)
- javascript (84)
- oracle (66)
- jsp/servlet (18)
- ant (3)
- 基础知识 (12)
- EXT (10)
- My SQL (10)
- java (71)
- spring (37)
- 学习的对象 (2)
- Linux (24)
- 面试 (1)
- HTML/CSS (11)
- tomcat (11)
- 收藏夹 (2)
- Power Designer (2)
- struts.xml配置文件 (1)
- sturts2 (3)
- myeclipse (8)
- eclipse (7)
- Maven (34)
- SVN (3)
- SAP JCO (2)
- JBOSS (11)
- webservice (8)
- word (1)
- 敏捷开发 (1)
- sybase (4)
- Nexus (3)
- EhCache (3)
- log4j (3)
- Cookie (4)
- Session (4)
- CXF (7)
- AXIS (2)
- SSO (1)
- LDAP (1)
- velocity (2)
- Jquery (5)
- redis (2)
- http (4)
- dojo (1)
- Linux资源监控软件mnon的安装与运用 (1)
- notepad++ (1)
- EA (1)
- UML (1)
- JasperReports (1)
- 权限 (0)
- freemarker (4)
- Spring MVC (1)
- JMS (1)
- activeMQ (1)
- hession (3)
- 安全 (1)
- ibatis (2)
- log (1)
- nginx (1)
最新评论
-
winhbb:
我刚好遇到了一个问题(在可以依赖注入的场合有效):有两个模块A ...
解决Maven项目相互依赖/循环依赖/双向依赖的问题 -
nanjiwubing123:
long3ok 写道你好 XmlOutputFormatter ...
用XStream转换复杂XML -
zhoujianboy:
另外一个方法实现eclipse tomcat 热部署:http ...
eclipse下实现maven项目在tomcat容器热部署方法 -
long3ok:
你好 XmlOutputFormatter 请问这个类是在什么 ...
用XStream转换复杂XML -
ganbo:
总结的好,文章给力。
解决Maven项目相互依赖/循环依赖/双向依赖的问题
还记得以前本站的一篇文章《如何在Google App Engine上运行PHP》吗,其实那是借用 Quercus, 一个 100% 的用Java 实现的一个 PHP 引擎。今天,这样的东西太多了,能运行在Java的虚拟机JVM上的程序意味着有天然的跨平台性,现在JVM并不单单只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,比如什么PHP, Python, Ruby等等,这里有一篇文章评论了在JVM上的可以运行的排名前五脚本语言。他们分别是:
Groovy。构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征,为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零),在开发Web,GUI,数据库或控制台程序时, 通过减少框架性代码 大大提高了开发者的效率。支持单元测试和模拟(对象),可以简化测试。无缝集成 所有已经存在的 Java对象和类库。直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。
JRuby。一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。
Scala。一种多范式的编程语言,设计意图是要整合面向对象编程和函数式编程的各种特性。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。
Fantom 。Fantom 前身是 (Fan) 是一个基于 Java 和 .NET 平台的编程脚本引擎,用来在运行时产生 JVM 和 .NET 平台的字节码,该语言是面向对象的,跟 Groovy 和 JRuby 有点类似,可通过特定的接口来集成 Java 的类库。
Jython。Jython由于继承了Java和Python二者的特性而显得很独特。其是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
下面是一张表格比较了这五大JVM脚本语言:
Groovy JRuby Scala Fantom Jython
风格类型 OO / 动态 OO / 动态 OO, 过程/ 静态 OO / 静态 OO / 动态
源语言 Java Ruby N/A N/A Python
运行 编译型 编译型,
解释型 编译型 半编译型 编译型
平台 JVM JVM JVM JVM, .Net CLR JVM
Java集成 极好 极好 极好 好 极好
运行速度 好 好 极好 很好 慢
工具支持 广泛 还可以 广泛 几乎没有 几乎没有
其它一些JVM的脚本语言也我们可以关注一下,如:Clojure, JavaFX, 和IBM的 NetRexx。
【转载地址】http://coolshell.cn/articles/2631.html
Groovy。构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征,为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零),在开发Web,GUI,数据库或控制台程序时, 通过减少框架性代码 大大提高了开发者的效率。支持单元测试和模拟(对象),可以简化测试。无缝集成 所有已经存在的 Java对象和类库。直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。
JRuby。一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。
Scala。一种多范式的编程语言,设计意图是要整合面向对象编程和函数式编程的各种特性。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。
Fantom 。Fantom 前身是 (Fan) 是一个基于 Java 和 .NET 平台的编程脚本引擎,用来在运行时产生 JVM 和 .NET 平台的字节码,该语言是面向对象的,跟 Groovy 和 JRuby 有点类似,可通过特定的接口来集成 Java 的类库。
Jython。Jython由于继承了Java和Python二者的特性而显得很独特。其是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
下面是一张表格比较了这五大JVM脚本语言:
Groovy JRuby Scala Fantom Jython
风格类型 OO / 动态 OO / 动态 OO, 过程/ 静态 OO / 静态 OO / 动态
源语言 Java Ruby N/A N/A Python
运行 编译型 编译型,
解释型 编译型 半编译型 编译型
平台 JVM JVM JVM JVM, .Net CLR JVM
Java集成 极好 极好 极好 好 极好
运行速度 好 好 极好 很好 慢
工具支持 广泛 还可以 广泛 几乎没有 几乎没有
其它一些JVM的脚本语言也我们可以关注一下,如:Clojure, JavaFX, 和IBM的 NetRexx。
【转载地址】http://coolshell.cn/articles/2631.html
发表评论
-
个人草稿使用
2017-08-19 09:02 0深入理解JVM: http://www.cnblogs.co ... -
Thread.setDaemon详解
2015-04-24 21:31 904java中线程分为两种类型:用户线程和守护线程。通过Threa ... -
怎么使用 ConcurrentHashMap 才能是线程安全的?
2015-04-13 11:54 1508public class test { public ... -
21,tomcat关闭钩子
2014-12-31 10:36 727在很多环境下,在关闭应用程序的时候需要做一些清理工作。问题在于 ... -
Java NIO使用及原理分析 (一) 【转载】
2014-10-24 00:04 490【转载】: http://blog.csdn.net/wuxi ... -
Java 两个集合取交集
2014-10-14 21:16 3135public static Set intersectionS ... -
Calendar类roll和add的区别
2014-10-10 22:28 495import java.text.SimpleDateForm ... -
Gson通过借助TypeToken获取泛型参数的类型的方法
2014-09-30 00:26 631[size=medium]最近在使用Goo ... -
HashMap的遍历效率讨论
2014-09-27 20:41 834经常遇到对HashMap中的key和value值对的遍历操作, ... -
Java 泛型
2014-06-26 12:44 858关键字说明 ? 通配符类型 <? extends T&g ... -
Java泛型集合的理解
2014-06-26 00:05 508[size=medium]什么是泛型? 泛型(Generic ... -
关于java字节码框架ASM的学习
2014-06-19 19:22 891一、什么是ASM ASM是一个java字节码操纵框架, ... -
Java动态代理详解
2014-06-19 17:41 862Java动态代理详解: http: ... -
Java内存,字符串文章收集
2014-06-18 16:24 733java--String常量池问题的几个例子 . http:/ ... -
Java内存解析
2014-06-18 11:48 779栈、堆、常量池等虽同 ... -
Java的堆与非堆内存
2014-01-07 10:59 720堆(Heap)和非堆(Non-heap)内存 按照官方的说法: ... -
JMX 资料收集
2014-01-07 10:53 460JavaSky的专栏 http://blog.csdn.net ... -
JAVA 注解示例 详解
2013-11-12 09:36 825注解(Annotation) 为我们在代码中天界信息提供了 ... -
Java 泛型详解
2013-11-11 22:35 822http://www.360doc.com/content/1 ... -
Java中的Enum的使用与分析
2013-11-09 12:49 822enum枚举类型:在实际问 ...
相关推荐
一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码.zip一款基于JVM的脚本语言代码....
magic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zipmagic-script是一款基于JVM的脚本语言.zip
magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计。magic-api,接口快速开发框架,通过Web页面配置,自动映射为HTTP接口;spider-flow,新一代爬虫平台,以图形化方式定义爬虫流程,不写代码...
Loop 是基于 JVM 的编程语言,提供了函数编程特性,简单有趣。Loop 强调可读性、简洁、清晰,侧重于性能和并发性。 示例代码: greet(name) -> "hi, @{name}!" 'Zaphod Beeblebrox'.greet() 标签:loop
Soya是一门基于JVM上的动态编程语言,现在已经开源 它的特点是 直觉的: 简洁易懂的语法能让您舒服地完成日常所需 OO的: 一切皆为对象 函数式的:提供了必包、柯里化等函数式支持 强大的: 模式...
计算机编程语言根据其工作原理和执行机制,主要分为编译性语言、解释性语言和脚本语言。这三种类型的编程语言各有特点,适用于不同的场景。 编译性语言,如C、C++、Objective-C和Fortran,它们的源代码首先需要通过...
Java注释在编程世界中扮演着重要的角色,尤其是在基于Java虚拟机(JVM)的语言中。Java注释是一种元数据,允许程序员向源代码中添加非执行信息,这些信息可以被编译器、IDE或其他工具读取并用于各种目的。在Java中,...
renjin, 基于JVM语言的R 语言统计分析 简介Renjin是一种新的用于统计计算的 R 语言,构建于Java虚拟机上。项目的主要目标是提供一个代替,替换的现代解释器,但更容易与它的他系统集成。有关更多信息,请访问 ...
**JVM-SANDBOX:基于JVM的实时无侵入AOP框架容器** JVM-SANDBOX是一个强大的工具,它允许开发者在Java虚拟机(JVM)上实现无侵入的面向切面编程(AOP)框架,提供实时监控和干预应用程序的能力。这个框架的核心在于...
Java语言规范和JVM规范是理解Java编程基础和高级特性的关键参考资料,它们定义了Java程序的语法、语义以及虚拟机的行为。本压缩包包含了Java6至Java9的版本,涵盖了一系列重要的语言和虚拟机改进,对于Java开发者来...
Kalang是基于jvm的静态类型安全语言,具有灵活的语法。 特征 强大的脚本模式 自动类型 依赖管理器集成 静态类型安全 灵活的语法 与其他基于jvm的语言兼容,例如java,groovy等。 安装 对于Linux / Mac用户: wget -...
Terrocotta - 基于JVM的Java应用集群解决方案,参考文档
Moonbox(月光宝盒)是JVM-Sandbox生态下的,基于jvm-sandbox-repeater重新开发的一款流量回放平台产品。在jvm-sandbox-repeater基础上提供了更加丰富功能,同时便于线上部署和使用,更多对比参考。 使用场景 你...
jvm线程持续监控脚本
尽管Java本身不是脚本语言,但有许多脚本语言可以在Java虚拟机(JVM)上运行。这些语言通常称为JVM脚本语言,它们利用了Java的强大功能和丰富的类库,同时提供了更灵活的语法和快速开发的能力。 ### JVM上的脚本语言 ...
JVM-Sandbox是一个开源项目,其核心理念是提供一个基于Java虚拟机(JVM)的实时、无侵入的面向切面编程(AOP)框架容器。它允许开发者在不修改原有代码的情况下,对运行中的Java应用进行动态的监控、拦截和处理。...
基于JVM的语言的注释 一组Java注释,可以在基于JVM的语言中使用。 它们作为附加文档,可以由IDE和静态分析工具进行解释,以改进代码分析。 | | 文献资料 适用于旧版Java 5.0兼容软件包的 使用注释 注释发布在。 要...
【jvm-mon基于控制台的JVM监视】 `jvm-mon`是一款实用的工具,它允许开发者通过控制台界面实时监控Java虚拟机(JVM)的状态。在Java开发过程中,性能分析是至关重要的,因为良好的性能能提升用户体验,降低服务器...