现在的位置: 首页 > 综合 > 正文

《深入java虚拟机–JVM高级特性与最佳实践》学习笔记(一) 编译自己的JDK

2013年12月13日 ⁄ 综合 ⁄ 共 1081字 ⁄ 字号 评论关闭

第一章

windows环境下建立编译环境:

     1. CYGWIN,模拟Linux运行环境。

     2. VS2010。JDK中最核心的代码是使用C++以及少量C语言编写的,内部开发环境实在Visual Studio C++2003编译,同时在VS 2010中测试过,所以最好选择其中一个编译器进行编译,VS2010在编译器之中已经包含了Windows SDK v7.0a,因此选择VS2010比较方便。

     3. 一个已编译好的JDK(Bootstrap JDK)。JDK的大部分是使用JAVA自身实现的。OpenJDK 7的Bootstrap JDK为JDK6 Update 14之后的版本。 

     4. 一个Apache ANT。1.6.4以上。

 

依赖项:

    1.JDK Plug。OpenJDK中的闭源包,jar形式提供。ALT_BINARY_PLUGS_PATH=安装路径。

    2. ALT_JDK_IMPORT_PATH=Bootstrap的运行时包。

    3. FreeType>v2.3.一个免费的字体渲染库。Swing部分和Jconsole这类工具要用到。ALT_FREETYPE_LIB_PATH=bin目录,ALT_FREETYPR_HEADERS_PATH=include目录。吧FREETYPE的bin加入PATH环境变量。

    4.下载安装Microsoft DirectX 9.0 SDK(Summer 2004)。ALT_DXSDK_PATH=安装目录。

    5. ALT_MSVCRNN_DLL_PATH=MSVCR100.dll

 

编译前的准备:

    1. 执行VS2010中的VCVARS32.BAT(此批处理主要设置INCLUDE, LIB, PATH几个环境变量)。

    2. ALT_BOOTDIR和ALT_JDK_IMPORT_PATH指向JDK1.6的安装目录。简历ANT_HOME指向Apache ANT安装目录.

    3. 取消JAVA_HOME变量。

    4. 把操作系统语言设为英文,避免产生中文注释而带来字符集问题。

 

可以写一个批处理 全部把前面的环境变量列出来,方便管理。

 

 编译:

1. bash/sh/ksh进入shell环境 如果JDK的安装源码中存在 jdk_generic_profile.sh,先执行它。

2, make sanity检查之前的设置是否全部顺利

3. make(半小时左右)

4.下一次编译前记得make clean

 

编译成功会在OpenJDK目录下的build目录出现已编译好的JDK,执行以下java -version 可以看到以自己机器命名的JDK

抱歉!评论已关闭.