2011年10月6日,一年一度的JavaOne大会隆重举行。JavaOne2011大会的主题之一介绍针对不同Java平台的产品路线图,这其中包括移动版(ME,Micro Edition)、标准版(SE,Standard Edition)以及企业版(EE,Enterprise Edition)。

Java SE的亮点之一就是Oracle详细阐述Java SE 8路线图。我们先来看看Java SE 8新增了哪些主要功能:

Java SE 8 新增主要功能

1、为提高开发人员工作效率,更好地利用多核处理器和增强对Java集合APIs的大容量数据处理功能,推出的Lambda表达式(“关闭”)。

2、原始Java模块系统(“项目Jigsaw”)将简化应用程序的构建、包装以及部署,让一个完全模块化的Java平台能在服务器、客户和嵌入式系统上进行定制化部署。

3、在JVM上的JavaScript改进,包括一个为JVM优化的全新JavaScript引擎Nashorn和全面的Java / JavaScript互操作性。

4、具有JavaFX 3.0形式的下一代Java客户端。包括多点触摸功能的现代设备支持。

5、完成的HotSpot / JRockit JVM集聚项目,包括性能增强和第二代的Java Flight Recorder。

其中,笔者最关心的是第三条,即JVM对JavaScript的改进。它的核心组件是JavaScript引擎Nashorn,它实现了Java与JavaScript互操作性。Nashorn一词与Rhino类似,汉语意思均为犀牛。而巧合的是,Rhino就是JavaScript引擎,它的目的就是实现Java与JavaScript的互操作性。那么Rhino究竟是什么呢?为什么说Nashorn是新一代JavaScript引擎?Rhino有什么特性?Rhino与Java及JavaScript有什么关系呢?本文将会为您一一解答。

什么是Rhino?

Rhino 是JavaScript 的一种基于Java的实现,原先由Mozilla开发,现在被集成进入JDK 6.0。下面这两行代码恰好说明了这一点。

import sun.org.mozilla.javascript.internal.Context;

import sun.org.mozilla.javascript.internal.Scriptable;

Rhino汉语意思为犀牛,它的名字来源于 O'Reilly 关于 JavaScript 的书的封面,如图一所示。

图一 “犀牛“的来源

Rhino的特点如下:

JavaScript 1.5的全部特性

◆ 允许使用脚本直接操作Java

◆ 提供JavaScript Shell执行其它JavaScript脚本

◆ 提供JavaScript编译器将JavaScript源程序转换成Java类文件

Rhino相关背景

Rhino的历史可追溯到1997 年。Netscape计划开发Java版的Navigator,即Javagator。它也就是 Rhino 的前身。虽然 Javagator 未能开花结果,但是Rhino,作为Netscape 对 JavaScript 的移植语言,经过时间考验存活了下来。

如今,随着 Rhino 开放源代码,越来越多的开发者参与了 Rhino 的开发。随着Rhino的愈加成熟,越来越多的用户选择使用了Rhino。

51/512345>

java犀牛是什么意思_深入浅出Rhino:Java与JS互操作相关推荐

  1. 有谁转行学java成功了的吗_转行学习java靠谱吗?

    转行学Java靠谱吗?靠不靠谱主要还是看你自己是否想要学好Java技术,是否想要从事这方面的岗位工作,如果你已经有了这个决心,那么自然而然什么都不会问题.无论我们学Java是兴趣还是想要通过学好Jav ...

  2. java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...

    Java使用正则表达式截取重复出现的XML字符串功能示例 本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void m ...

  3. java 获取 反射 方法 名_乐字节Java反射之一:反射概念与获取反射源头Class

    一.Java反射机制概念 "程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言",如Python, Ruby是动态语言:显然C++,Java,C#不是动态语言,但是JAV ...

  4. 深入java虚拟机 第四版_深入理解Java虚拟机-常用vm参数分析

    Java虚拟机深入理解系列全部文章更新中... https://blog.ouyangsihai.cn/shen-ru-li-jie-java-xu-ni-ji-java-nei-cun-qu-yu- ...

  5. java视频为什么这么多_为什么看java教学视频教的都是javase,两者难道语言相同吗?...

    Java 分类 Java SE(Java Platform Standard Edition) :Java平台标准版.主要用于桌面应用程序的开发,是Java技术的核心,提供基础 Java开发工具.执行 ...

  6. java工程师有什么要求_什么是java,java工程师应该具备哪些能力?

    这两年,虽然各种各样的新兴语言不断涌现,收获了一大批迷粉,但是java的地位,却始终难以撼动.作为一门成熟的,经久不衰的语言,java吸引了越来越多的人,想加入进来.但是,很多人在选择java前,或多 ...

  7. java char字符转编码_一、java基础-数据类型_数据类型转化_字符编码_转义字符

    1.Java  支持的8种基本数据类型: java的四种整数数据类型:byte 1    short 2     int4     long8 byte     8位带符号整数 -128到127之间的 ...

  8. java虚拟机的生命周期_深入理解Java虚拟机——JVM的生命周期

    package test; public class JVMTestLife { public static void main(String[] args) { new Thread(new Run ...

  9. java的应用程序开发_开发一个Java应用程序(1)

    开发一个Java应用程序(1) App Engine上的Java Web应用程序通过Java Servlet标准接口与应用程序服务器交互.一个应用程序由一个或多个类组成,这些类都扩展自一个servle ...

最新文章

  1. 0x02 mysql 表格相关操作
  2. Java中throw re_详解Java编程中throw和throws子句的使用方法
  3. 5000字、12 连环炮、一张图快速搞定线程池
  4. 3详细参数_【前沿】一加7Pro拍照详细参数曝光 3倍光变30W快充
  5. jsp_servlet时序图
  6. 优化网站性能 提高网站速度访问速度的14条实践
  7. 英特尔傲腾内存linux,英特尔傲腾内存怎么样?intel傲腾内存优点和缺点你知道吗?...
  8. 【NOI2001】炮兵阵地
  9. 关于嵌入式可执行程序,你了解多少?
  10. Inceptor如何访问本地文件
  11. 《CSS权威指南》读书笔记
  12. c语言求解一元二次方程的两相等实根,C语言 求解一元二次方程
  13. Could not resolve dependencies for project
  14. zookeeper实现动态感知服务器上下线
  15. 肝胆疾病的生物化学检验
  16. The APR based Apache Tomcat Native library which allows optimal performance in production environmen
  17. sqlserver 数据误删除恢复
  18. 机器健康监测的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. Ad Hoc网络路由协议
  20. PHPer是草根吗?

热门文章

  1. 单链表插入元素 注释 c语言,数据结构之无头单链表的相关练习题——C语言实现(详细注释)...
  2. linux网络文件系统包括,Linux文件系统
  3. oracle+内存错误,oracle使用内存的错误,ORA-27102: out of memory
  4. 计算机桌面打标签,在电脑桌面上添加便签的方法步骤详解(2)
  5. Tomcat运行三种模式:http-bio|http-nio|http-apr介绍
  6. 多媒体计算机技术的主要特点,多媒体技术主要特点?
  7. 无线网络虚拟服务器,无线虚拟局域网
  8. stm32 PWM输入捕获
  9. java strcpy,详解C语言中strcpy()函数与strncpy()函数的使用
  10. oracle解析md5,Oracle中的MD5加密详解