Adopt Open JDK官方文件(八)OpenJDK 專案介紹
原文地址 譯者:bobwenx ([email protected])
8.OpenJDK 專案介紹
8.1 Penrose
Penrose 專案提供jigsaw 與 OSGi 環境的互操作性。
因為原Jigsaw JDK8 EA Build 已經停止開發,Penrose 專案的原始碼當前處於過期狀態。Penrose專案仍處於探索階段。
8.2 Nashorn
Nashorn (發音: ˈnaːshɔɐ̯n) 專案提供基於JVM的Javascript執行時(Rhino的後續專案)。
專案資訊
專案地址:
OpenJDK 8 程式碼庫地址:
OpenJDK 9 程式碼庫地址:
AvatarJS
在Nashorn上實現的 NodeJS JVM 執行時.
專案地址:
程式碼庫地址:
技術PPT
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 使用者
我當前使用的是什麼版本的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
命令列練習
與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存放地址.
你也可以下載 Maven POM.xml 並存放在$HOME/sources/kulla-dev/langtools/repl/
下,之後執行編譯。
其他關於編譯Kulla的技術連結:
小技巧
快速清空終端輸出:
- MacOS: CMD-K
- Linux: Ctrl-K 或 Ctrl-L