java9新特性-20-Javascript引擎升级:Nashorn

1.官方Feature

236: Parser API for Nashorn

292: Implement Selected ECMAScript 6 Features in Nashorn


2.使用说明

Nashorn 项目在 JDK 9 中得到改进,它为 Java 提供轻量级的 Javascript 运行时。Nashorn 项目跟随 Netscape 的 Rhino 项目,目的是为了在 Java 中实现一个高性能但轻量级的 Javascript 运行时。Nashorn 项目使得 Java 应用能够嵌入 Javascript。它在 JDK 8 中为 Java 提供一个 Javascript 引擎。

JDK 9 包含一个用来解析Nashorn 的ECMAScript 语法树的API。这个 API 使得 IDE 和服务端框架不需要依赖 Nashorn 项目的内部实现类,就能够分析 ECMAScript 代码。


作者:尚硅谷面试官宋红康链接:https://www.jianshu.com/p/5822d2f3fe2c來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/wzlbigdata/p/8278411.html

时间: 2024-10-04 00:22:47

java9新特性-20-Javascript引擎升级:Nashorn的相关文章

Java9新特性之——JShell

java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9.jdk9和jdk8中的新特性不同:jdk8中的stream和lambda表达式能够让开发者非常快速和直观地感受到新版本的功能特性,而java9中的关键更新--模块化,相比而言不能让开发者有直观的感受. 今天首先带来的是java9中直观的新特性:JShell.关于更多jdk9特性的介绍可以参照infoq的一篇文章:https://mp.weixin.qq.com/s/Onj9ZJYbV5pLTA

Java9新特性

Java9前几天已经发布了,在此罗列下它的主要特性 1.Java模块系统 JDK9的核心变化就是引入了一种新的Java编程组件,也就是模块.按照Oracle的说法,它是一个可命名的.自描述的代码和数据集合.模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性.为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能.安全性和可维护性. 为了支持Java 9的模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个module-info.class

java9新特性-6-多版本兼容jar包

1.官方Feature 238: Multi-Release JAR Files 2.使用说明 当一个新版本的Java出现的时候,你的库用户要花费数年时间才会切换到这个新的版本.这就意味着库得去向后兼容你想要支持的最老的Java版本(许多情况下就是Java 6 或者 Java7).这实际上意味着未来的很长一段时间,你都不能在库中运用Java 9所提供的新特性.幸运的是,多版本兼容jar功能能让你创建仅在特定版本的Java环境中运行库程序选择使用的class版本. 举例1: jar root  

java9新特性-8-语法改进:钻石操作符(Diamond Operator)使用升级

1.使用说明 我们将能够与匿名实现类共同使用钻石操作符(diamond operator) 在java8中如下的操作是会报错的: 编译报错信息:'<>' cannot be used with anonymous classes 2.使用举例 原文地址:https://www.cnblogs.com/wzlbigdata/p/8278381.html

即将改变软件开发的5个Java9新特性

预计发布的Java 9中,最令人兴奋的特性是什么? 有关Java9的消息最近显得有些沉寂,不要被它迷惑了.JDK开发者正在努力朝着下一个版本迈进,计划2015年12月前完成所有功能开发.之后,它会经历严格测试和bug修复以准备它的全面上市,按计划会在2016年9月发布. 今天我们已经对Java 9中所期待的特性有了一个很清晰的图景.如果Java 8可以被描述为主要是lambdas表达式.streams和API变化的话,那么Java 9就是关于Jigsaw.额外的实用工具和内部的变化.在这篇文章中

java9新特性-4-模块化系统: Jigsaw与Modularity

1.官方Feature 200: The Modular JDK 201: Modular Source Code 220: Modular Run-Time Images 260: Encapsulate Most Internal APIs 261:  Module System 282: jlink: The Java Linker   2.产生背景及意义 谈到 Java 9 大家往往第一个想到的就是 Jigsaw 项目.众所周知,Java 已经发展超过 20 年(95 年最初发布),Ja

ES6新特性:Javascript中Set和WeakSet类型的数据结构

ES6提供了新的数据结构Set,Set对象不是数组, 可以用来保存对象或者基本类型, 所有保存的值都是唯一的, chrome浏览器>38和FF>13,以及nodeJS,对Set支持良好, 以下的一些代码,都可以拷贝到控制台直接运行哦: 创建Set实例的基本方法为: let set = new Set(); //或者 new Set(null); console.log(set); 或者这样: let set = new Set([1,2,3,4,4,4,4,4]); console.log(

ES6新特性:Javascript中Generator(生成器)

ES6的很多特性都跟Generator扯上关系,而且实际用处比较广, 包含了任何需要异步的模块, 比如ajax, filesystem, 或者数组对象遍历等都可以用到: Generator的使用: Generator函数和普通的函数区别有两个, 1:function和函数名之间有一个*号, 2:函数体内部使用了yield表达式:比如这样: function* gen() { yield "1"; yield "2" } 这个玩意儿如果运行的话,会返回一个Iterat

ES6新特性:Javascript中的Reflect对象

Reflect介绍: Reflect这个对象在我的node(v4.4.3)中还没有实现, babel(6.7.7)也没有实现 ,新版本的chrome是支持的, ff比较早就支持Proxy和Reflect了,要让node支持Reflect可以安装harmony-reflect ; Reflect不是构造函数, 要使用的时候直接通过Reflect.method()调用, Reflect有的方法和Proxy差不多, 而且多数Reflect方法原生的Object已经重新实现了. 什么要使用Reflect