Java新特性之JavaScript引擎

Java平台上JavaScript引擎—Rhino/Nashorn概述 Rhino [ˈraɪnəʊ]是一种使用 Java 语言编写的 JavaScript 的开源实现,原先由Mozilla开发。Rhino 是一种动态类型的、基于对象的脚本语言,它可以简单地访问各种 Java 类库。当时Netscape想用纯Java来实现新版浏览器,自然需要一个Java版的JavaScript引擎实现;另外也希望能在服务器端把JavaScript当作Java应用里的脚本语言使用。于是Rhino就诞生了。官网自带,跟基本上一样,有兴趣的话可以去看看。是从SpiderMonkey移植过来的。 阅读详情

一. 什么是JavaScript引擎

早在Java 6时就引入了JavaScript引擎Rhino,它支持ECMAScript 5.1规范,它使用JSR 292言特性。Java 7时引入了invokedynamic,将JavaScript编译成Java字节码。Java 8引入的新的JavaScript引擎Nashorn比Rhino性能提高多倍,Nashorn就是javax.script.ScriptEngine的另一种实现。

1. 什么是jjs

jjs是个基于Nashorn引擎的命令行工具。它可以接受JavaScript源代码为参数,并且执行这些源代码。

二. 为什么要JavaScript引擎

为了使Java和JavaScript两门语言在JVM环境下能相互调用。

三. 如何使用JavaScript引擎

1. jjs命令行实例
C:\Users\Administrator\Desktop\back\new 
λ touch test.js                         
                                        
C:\Users\Administrator\Desktop\back\new 
λ vim test.js                           
                                        
C:\Users\Administrator\Desktop\back\new 
λ cat test.js                           
print("This is JavaScript test code."); 

C:\Users\Administrator\Desktop\back\new 
λ jjs test.js  
java nashorn_在JDK11上GraalVM的JavaScript性能是Nashorn的两倍 GraalVM是一个运行时平台,它支持Java和其他基于Java字节码的语言,但也支持其他语言,如JavaScript,Ruby,Python或LLVM。我们坚信,正如我们目前所知,它是语言虚拟机的未来。但是,我们知道从已建立的Oracle JVM或OpenJDK切换到GraalVM是一个大胆的步骤,您可能不想完全采用它。但是,您可能希望在库存JVM上尝试GraalVM项目的一些很酷的功能。​​​... 阅读详情

相关推荐

使用Java中的V8引擎执行JavaScript代码

而对于Java开发者来说,使用V8引擎执行JavaScript代码是一种强大的工具,它能够在Java应用程序中无缝集成JavaScript功能。通过使用Java中的V8引擎,我们能够高效地执行JavaScript代码,并将其集成到Java应用程序中。其中,一款常用的库是J2V8,它提供了Java与V8引擎之间的桥接,使得Java开发者能够方便地执行JavaScript代码。V8引擎以其优秀的性能而闻名,使用V8引擎执行一些计算密集型的任务,可以显著提高程序的执行速度。集成V8引擎到Java应用程序。

laugh666的博客 1572

2018南京大学计算机夏令营机试

1. Count number of binary strings without consecutive 1’s Given a positive integer n(3≤n≤90), count all possible distinct binary strings of length n such that there are no consecutive 1's . Examples...

climber16的博客 1万+

模块学习(一)——编码电机

编码电机测速

qq_51406846的博客 7911

【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose

【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose 在做时序列分析的时候,好多教程都告诉你要把时序列分解成趋势,季节性,残差,然后画图看一下有没有趋势变化,有没有季节性。像这样: import statsmodels.api as sm decomposition = sm.tsa.seasonal_decompose(train['Count'] ,model='add

weixin_47442572的博客 2万+

LeGO-LOAM运行kitti数据集

文章目录1. kitti-lego-loam2. 改动3. 实验结果4. evo轨迹测评 1. kitti-lego-loam 链接:kitti-lego-loam kitti-lego-loam提供了将kitti序列转化成rosbag的代码,在kittibag中. 需要注意下数据文件的存放顺序,以00序列为例: datafolder          |____results          &

Zlp19970106的博客 8704

IDEA集成selenium自动化测试(Java+Selenuim+testNG+Maven)

文章目录写在前面01 | 新建Maven项目02 | idea集成Selenium03 | 写在前面 因为软件测试的需求和博主比较经常使用Java,于是,想在Idea中集成selenuim,用Java编写测试代码,因此有了这篇文章来记录一下过程。 资源指路: java使用selenium实现模拟浏览器操作API大全 模拟登录 TestNG入门教程 感谢上面博客的大佬。 01 | 新建Maven项目 不使用骨架创建,直接点击左侧Maven,然后一路next即可。 02 | idea集成Sele

aLinxi的博客 8279

YOLOv11 改进 - 特征融合 | 小目标检测救星:DySample动态上采样减少特征丢失

本文介绍了超轻量且高效的动态上采样器DySample与YOLOv11的结合,以解决传统上采样器工作负载大、应用场景受限的问题。DySample从点采样角度构建上采样,绕过动态卷积,使用PyTorch标准内置函数实现,无需定制CUDA包,能大幅减少参数、FLOPs等资源消耗。我们将DySample代码集成进YOLOv11。实验脚本显示,结合DySample的YOLOv11在多个密集预测任务中或表现出色。

魔改工程师的博客 1415

STEP 7-Micro/WIN SMART 编程软件:从入门到精通的使用指南

通过不断实践,熟悉软件的各项功能和操作技巧,工程师可更好地应对工业自动化控制中的各种挑战,开发出高效、稳定的控制程序。项目的基本组件是构成程序的核心元素,包括:程序块(主程序 OB1、子程序和中断程序)、数据块(给 V 存储器赋初值)、系统块(硬件组态和参数设置)、符号表(用符号代替存储器地址,使程序更易理解)以及状态图表(监视、修改和强制变量状态)。下载程序时,单击工具栏上的 “下载” 按钮,在弹出的下载对话框中选择要下载的块(程序块、数据块、系统块),单击 “下载” 即可。

电工 5573

39、低功耗处理器性能评估与Cortex - M23/M33低功耗特性解析

本文深入解析了Cortex-M23和Cortex-M33处理器的低功耗特性及其性能评估方法。介绍了ULPMark、CoreMark、IoTMark-BLE和SecureMark-TLS等基准测试在能效评估中的应用,并详细阐述了处理器的睡眠模式、系统控制寄存器(SCR)配置、WFI/WFE指令、退出时睡眠、挂起时发送事件(SEVONPEND)以及唤醒中断控制器(WIC)等关键低功耗机制。结合状态保留技术,展示了如何通过芯片级设计大幅降低泄漏电流,实现高效能低功耗的物联网与嵌入式系统设计。

Pepper的专栏 129

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 什么是慢查询?如何通过慢查询日志优化?
下一篇: 作为外包的Java程序员,你冤枉了吗?
Java_supermanNO1
博客等级 码龄7年 1170粉丝 329原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值