运行java程序首先要搭建JDK环境,所以深入了解java底层就需要了解JDK内部实现,从哪里开始呢?
让我们从编译OpenJDK开始吧
OpenJDK是JDK的开源版本,大部分源码是一致的,可以通过调试OpenJDK了解JDK的实现,这篇文章让我们一起先编译OpenJDK吧。
环境准备:CentOS操作系统
1、安装mercurial
yum install hg
2、下载OpenJDK
选择一个文件夹存放下载包,我使用的路径是/usr/mg/jdk
下载OpenJDK源码
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u openjdk8
成功后,执行
sh get_source.sh
下载很慢,会出现失败的情况,实践经验早上7-9点是下载比较快,成功概率比较高
下载成功后,目录如下图
3、安装依赖包
yum install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make
4、编译配置
chmod +x configure
./configure --enable-debug
5、开始编译
#清理 如果make失败了,需要先清理一下
make clean
#开始编译
make
运行成功如下图
6、试着编译一个java文件,创建文件Hello.Java
public class Hello{
public static void main(String[] args)
{
System.out.println("Hello OpenJdk8");
}
}
执行javac编译java文件生成class文件,并执行class文件
../jdk8u/build/linux-x86_64-normal-server-fastdebug/jdk/bin/javac Hello.java
../jdk8u/build/linux-x86_64-normal-server-fastdebug/jdk/bin/java Hello
执行结果如图
OPENJDK编译完成,最好能动手试一下,编译过程中有问题,可以留言
更多好文章可以关注公众号 MG驿站
网友评论