Java虚拟机(HOTSPOT)源代码编译步骤
版权声明:本文为博主原创文章,未经博主允许不得转载。
概述
-
hotspot源代码包含在openjdk7中
-
openjdk7包含了jdk的Java代码,所以要用jdk6对这部分代码进行编译。(有点类似于gcc高版本代码要用gcc低版本编译一样)
准备
-
openjdk 7 源代码
http://pan.baidu.com/s/1c2lZ3Tu
密码:2lvn
强烈建议初学者,用这个jdk源代码,按照下面的教程配置。其他源代码编译时,可能会出现各种古怪问题 -
工作环境
ubuntu 14.04
编译步骤
安装依赖项
sudo apt-get install build-essential gawk m4 openjdk-6-jdk libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev X11proto-print-dev binutils libmotifs3 libmotif-dev ant
解压缩openjdk源代码
我把它放到了 Home目录下面了
Hotspot编译前配置:
cd 进入openjdk源代码目录,切换root用户
su root
导入以下环境变量:
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk-i386
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-6-openjdk-i386
export ALLOW_DOWNLOADS=true
export HOST_BUILD_JOBS=4
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
export BUILD_JAXP=true
export BUILD_JAXWS=true
export BUILD_CORBA=true
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export BUILD_INSTALL=false
export ALT_OUTPUTDIR=/home/zxf/openjdk7/build
unset JAVA_HOME
unset CLASSPATH
export WARNINGS_ARE_ERRORS=false
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
ALT_OUTPUTDIR=/home/zxf/openjdk7/build,修改成你的openjdk7所在的路径的
ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk-i386,ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-6-openjdk-i386是java6的路径,一般不需要修改,装完 openjdk-6-jdk一般就在这个路径上
Hotspot编译前检查:
make sanity
按照上面环境变量配置后,make sanity 一般不会出问题
Hotspot编译:
make DEBUG_BINARIES=true
一定要加上DEBUG_BINARIES=true
半个小时基本就能搞定:
Hotspot编译后位置:
build和build-debug目录里面的东西就是啦
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)