博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Adopt Open JDK官方文档(八)OpenJDK 项目介绍
阅读量:6241 次
发布时间:2019-06-22

本文共 3372 字,大约阅读时间需要 11 分钟。

8.OpenJDK 项目介绍


对于其他项目,请参见OpenJDK  以及对应项目的Mailing Lists.

8.1 Penrose


Penrose 项目提供jigsaw 与 OSGi 环境的互操作性。

因为原Jigsaw JDK8 EA Build 已经停止开发,Penrose 项目的源码当前处于过期状态。Penrose项目仍处于探索阶段。

如果你对该项目由兴趣,可以查看  与 (Demos) 两个目录.

8.2 Nashorn


Nashorn (发音: ˈnaːshɔɐ̯n) 项目提供基于JVM的Javascript运行时(的后续项目)。

项目信息

项目地址:

OpenJDK 8 代码库地址:

OpenJDK 9 代码库地址:

AvatarJS

在Nashorn上实现的 NodeJS JVM 运行时.

项目地址:

代码库地址:

技术PPT

包含一份来自 BGJUG 成员在Sofia Java技术会议上的PPT,该PPT介绍了闭包(Lambdas)等技术在Nashorn, AvatarJS, AvatarEE等项目上的实现。

Blog 文章
IDE 支持
  • 参见第七章节: 

8.3 JMH


JMH 是针对Java及JVM语言的微基准测试(Micro Benchmarking)工具。

微基准测试(microbenchmark) 尝试测量代码中的”微”片段的性能。这些测试通常以纳秒级时间范围为单位来测量代码执行性能。测试代码通常划分为较小的任务来执行。

微基准测试(microbenchmark) 并不等同于代码分析(code profiling)! 当执行代码分析时,应用通常在测试/产品环境中以完整功能进行分析。 微基准测试 只测量完整应用中的部分组件。在产品环境中,组件的测试结果并不能代表整个应用的执行结果。

项目地址:

Blog 文章

8.4 Kulla


Kulla 提供Java语言的命令行即时执行支持(Read Evaluate Print Loop, )。

项目官网
项目反馈
  • hackday 
项目下载
  • JDK 9: 
  • Kulla.jar: 
MacOS 用户

你可以使用下述步骤设置你的Mac所使用的JDK版本,或者参见.

我当前使用的是什么版本的JDK?

// Tells you which JDKs you have$ /usr/libexec/java_home -verbose

当我登录/启动Terminal app时,如何设置默认 JAVA_HOME?

// You can set that export command in your ~/.profile// and/or ~/.bashrc to permanently set JAVA_HOME// for all shells/terminals/applications.export JAVA_HOME="`/usr/libexec/java_home -v '1.8*'`"// Set JAVA_HOME to be Java 9 for the terminal// window you are inexport JAVA_HOME="`/usr/libexec/java_home -v '1.9*'`"
Linux/MacOS 用户

当安装了多个JDK环境时,如何快速切换JDK版本?

将下述脚本添加到你的 ~/.bashrc 或 ~/.bash_profile 中:

export JAVA9_HOME=/path/to/jdk1.9.0export JAVA8_HOME=/path/to/jdk1.8.0export JAVA7_HOME=/path/to/jdk1.7.0export JAVA6_HOME=/path/to/jdk1.6.0export JAVA_HOME=$JAVA7_HOMEexport JDK_HOME=$JAVA7_HOMEfunction go9 {    export JAVA_HOME=$JAVA9_HOME    export JDK_HOME=$JAVA_HOME    echo "Switched to $JAVA_HOME"    export PATH="$JAVA_HOME/bin:$PATH"}function go8 {    export JAVA_HOME=$JAVA8_HOME    export JDK_HOME=$JAVA_HOME    echo "Switched to $JAVA_HOME"    export PATH="$JAVA_HOME/bin:$PATH"}function go7 {    export JAVA_HOME=$JAVA7_HOME    export JDK_HOME=$JAVA_HOME    echo "Switched to $JAVA_HOME"    export PATH="$JAVA_HOME/bin:$PATH"}function go6 {    export JAVA_HOME=$JAVA6_HOME    export JDK_HOME=$JAVA_HOME    echo "Switched to $JAVA_HOME"    export PATH="$JAVA_HOME/bin:$PATH"}
快速入门

设置好Java环境后,运行 Kulla.jar:

set JAVA_HOME to point to /path/JDK9/
$ java -jar ~/sources/kulla/kulla.jar
| Welcome to the Java REPL -- Version 0.411| Type /help for help->|

获取kulla帮助选项(/help):

-> /helpType a Java language expression, statement, or declaration.Or type one of the following commands:{.  ..    [Options].  ..  }Supported shortcuts include:
-- show possible completions for the current textShift-
-- for current method or constructor invocation, show a synopsis of the method/constructor

命令行练习

与Java REPL相关的文章
  •  (Java REPL, IntelliJ IDEA Java REPL plugin, Beanshell, etc…)
  • Java REPL in 300 lines of code
编译OpenJDK 9中的Kulla
hg clone  kulla-devcd kulla-devsh get_sources.shbash configure --with-boot-jdk=/path/to/jdk1.8.0make clean imagesmake install  <=== optional

请确保上述编译过程中的JAVA_HOME与PATH环境变量设置正确.

请从Maven仓库下载 Jar, 并将环境变量JLINE2LIB设置为所下载的jar存放地址.

详细的编译步骤,请参见 。

你也可以下载  并存放在$HOME/sources/kulla-dev/langtools/repl/下,之后执行编译。

其他关于编译Kulla的技术链接:

  • a nice and short  from Greg Bakos
小技巧

快速清空终端输出:

  • MacOS: CMD-K
  • Linux: Ctrl-K 或 Ctrl-L

8.5 Valhalla


Valhalla 旨在为JVM提供值类型(Value Type),运行时泛型和增强支持.

项目官网
Blog 文章
  • 转载自 
你可能感兴趣的文章
6、DRN-----深度强化学习在新闻推荐上的应用
查看>>
用父类指针指向子类对象
查看>>
Flexigrid默认是可以选择多行
查看>>
PHP导入导出Excel方法小结
查看>>
ZOJ 3870 Team Formation 位运算 位异或用与运算做的
查看>>
清除浮动float的方法
查看>>
java学习第十二天
查看>>
1 Kubernetes管理之master和Node
查看>>
M端计算rem方法
查看>>
as3 用StyleSheet css 设置文本样式
查看>>
hdu4612(双连通缩点+树的直径)
查看>>
【转】深入理解 C# 协变和逆变
查看>>
第六次作业
查看>>
UML
查看>>
9.[Java开发之路](6)File类的使用
查看>>
折半插入排序(binary insertion sort)
查看>>
打包常见问题
查看>>
javascript解析json
查看>>
在Ubuntu下编译WebKit源码
查看>>
amazeui 移动开发
查看>>