Adopt Open JDK官方文档(八)OpenJDK 项目介绍

8.OpenJDK 项目介绍


对于其他项目,请参见OpenJDK http://mail.openjdk.java.net/mailman/listinfo 以及对应项目的Mailing Lists.

8.1 Penrose



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

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

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

8.2 Nashorn



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

项目信息

项目地址:

OpenJDK 8 代码库地址:

OpenJDK 9 代码库地址:

AvatarJS

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

项目地址:

代码库地址:

技术PPT

https://github.com/neomatrix369/adoptopenjdk-getting-started-kit/blob/master/en/openjdk-projects/JavaScript_J2D.pdf包含一份来自 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, REPL)。

项目官网
项目反馈
项目下载
MacOS 用户

你可以使用下述步骤设置你的Mac所使用的JDK版本,或者参见http://javapapo.blogspot.com/2013/02/multiple-java-jdks-on-your-macosx.html.

我当前使用的是什么版本的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 in
export JAVA_HOME="`/usr/libexec/java_home -v '1.9*'`"
Linux/MacOS 用户

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

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

export JAVA9_HOME=/path/to/jdk1.9.0
export JAVA8_HOME=/path/to/jdk1.8.0
export JAVA7_HOME=/path/to/jdk1.7.0
export JAVA6_HOME=/path/to/jdk1.6.0
export JAVA_HOME=$JAVA7_HOME
export JDK_HOME=$JAVA7_HOME

function 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):

-> /help
Type a Java language expression, statement, or declaration.
Or type one of the following commands:

{
.
.
.
  [Options]
.
.
.
}

Supported shortcuts include:
<tab> -- show possible completions for the current text
Shift-<tab> -- for current method or constructor invocation, show a synopsis of the method/constructor

命令行练习

https://java.net/projects/adoptopenjdk/downloads/download/REPL_Tutorial.pdf

与Java REPL相关的文章
编译OpenJDK 9中的Kulla
hg clone http://hg.openjdk.java.net/kulla/dev kulla-dev
cd kulla-dev
sh get_sources.sh
bash configure --with-boot-jdk=/path/to/jdk1.8.0
make clean images
make install  <=== optional

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

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

详细的编译步骤,请参见 http://hg.openjdk.java.net/kulla/dev/langtools/file/4933dc482be7/repl/README

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

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

小技巧

快速清空终端输出:

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

8.5 Valhalla



Valhalla 旨在为JVM提供值类型(Value Type),运行时泛型和增强http://openjdk.java.net/jeps/193支持.

项目官网
Blog 文章
时间: 2024-08-30 17:52:49

Adopt Open JDK官方文档(八)OpenJDK 项目介绍的相关文章

Adopt Open JDK官方文档(二)如何使用导航和取得进步?

2.如何使用导航和取得进步 在黑客日和讲习班开始之前我需要做些什么呢 来之前你应该准备好你的笔记本电脑并搭建好当天需要的环境 检查硬件要求/操作系统/软件要求 下载支撑软件 搭建或者下载虚拟机 搭建或者下载Docker镜像 检查虚拟机和Docker镜像是否正常工作 检查OpenJDK是否正常工作 在"参加黑客日和讲习班之前应该如何准备"中查看对于以上几点的详细解释.如果这个对你来说不适用或者你已经完成了这些工作那么请看下面的部分.活动当天如何在你的机器上搭建环境 看完"参加黑

Adopt Open JDK官方文档(三)对Adopt OpenJDK的初步了解

3. 对Adopt OpenJDK的初步了解 什么是OpenJDK? OCA(Oracle贡献者协议)- 签OCA Adopt OpenJDK和Adopt-a-JSR的计划报告 Adopt OpenJDK的宣传单 JUG宣传单样本 已经支持的OSes和IDEs对照表 OpenJDK的建立基准 OpenJDK的Bug数据库 安装tree指令 3.1 OpenJDK 从这些地方了解它: 什么是Adopt OpenJDK – 可以加入有趣的站点 演讲 1 演讲 2 视频 PDF(演讲全篇) PPT(演

Adopt Open JDK官方文档(十)

编译过程性能优化的命令行参数 AdoptOpenJDK wiki的一个链接,提供了几个怎么提高编译过程性能的例子. 编译 jcov 项目首页(项目信息, 编译指南, 其他-) https://wiki.openjdk.java.net/display/CodeTools/jcov 源代码: http://hg.openjdk.java.net/code-tools/jcov 从Adopt OpenJDK持续集成网站下载.   快速编译指南 $ hg clone http://hg.openjdk

Adopt Open JDK官方文档(四)基于虚拟机的编译环境

译文地址 译者:bobwenx@gmail.com 4.基于虚拟机的编译环境 准备工作 编译你自己的虚拟机 编译你自己的轻量级虚拟机 在Host 与 Guest VM 之间共享文件 适用于 OpenJDK 8 的Vagrant Puppet 环境 4.1 准备工作 请注意,因为所需下载的VM镜像文件高达数GB, 请在稳定的网络环境中进行下载.如果有可能,请使用支持断点续传的下载管理器. MacOS 用户: 请使用 zipeg 来解压缩下载后的文件. 下载后的 .OVA 与 .OVF 文件可以使用

Adopt Open JDK官方文档(五) Docker镜像

译者:渊策 5.1 复制镜像 镜像可以从别的设备复制并导入本地的Docker仓库. 保存镜像的命令为: docker save -o <save image to path> <image name> 或者 docker save <image name> > <save image to path> 保存镜像示例 docker save -o base-image-openjdk9.tar neomatrix369/openjdk9-base-ima

《Apache Flink官方文档》 Apache Flink介绍

下面是关于Apache Flink(以下简称Filnk)框架和流式计算的概述.为了更专业.更技术化的介绍,在Flink文档中推荐了一些"概念性"的文章. 1.无穷数据集的持续计算 在我们详细介绍Flink前,复习一下当我们计算数据选择运算模型时,很可能会遇到的一个更高级别的数据集类型.下面有两个观点经常容易混淆,很有必要去澄清它们. (1)两种数据集类型: ①无穷数据集:无穷的持续集成的数据集合. ②有界数据集:有限不会改变的数据集合. 很多现实中传统地认为有界或者批量的数据集合实际上

Java官方文档索引

之前一直感觉Java的官方文档有些杂乱,最近特意整理了一下,仅供参考. 入口 Oracle官方文档入口:http://docs.oracle.com/.下级页面这边只整理了JavaEE跟JavaSE的文档. JavaEE JavaEE文档入口:http://docs.oracle.com/javaee/.下级页面有JavaEE相关的API跟Tutorial文档: http://docs.oracle.com/javaee/7/api/ http://docs.oracle.com/javaee/

TestNG官方文档中文版(9)-重复失败测试,junit测试,jdk1.4支持

5.10 - Rerunning failed tests 套件中的测试失败时,每次testNG都会在输出目录中创建一个名为testng-failed.xml 的文件.这个xml文件包含只重新运行这些失败的测试方法的必要信息,容许只运行这些 失败的测试而不必运行全部测试.因此,一种典型的情况将是这样: java -classpath testng.jar;%CLASSPATH% org.testng.TestNG -d test-outputs testng.xml java -classpat

《Apache Velocity用户指南》官方文档

Quick Start 本项目是 Apache Velocity官方文档的中文翻译版,Velocity类似与JSP,是一种基于Java的模板引擎.它可以在web页面中引用Java代码中定义的数据和对象,而Velocity的作用就是把Web视图和java代码进行组装在一起.本次翻译主要针对对Velocity感兴趣和工作中使用到Velocity的开发人员提供有价值的中文资料,希望能够对大家的工作和学习有所帮助. 由于我也是第一次接触Velocity,还不是很深入,翻译的时候也查看了一些博客以及其他网