ubuntu编译hotspot源码实践

最近看了不少jdk源代码和JVM相关知识,虽然有很多东西不是一次可以看懂的,理解的。但是可以多看几次,多模仿与实践,对于自己编码和理解来说,总是没多大坏处的吧。最近有时间,又想把《hotspot实战》看看,这些书籍似乎都是很多人强力推荐的啊(╯▔^▔)╯。。话说,逼格也高啊。不知道是不是那么神,所以,我要亲身实践看看,嘿嘿。第一次也许理解不是那么深,当自己代码量上来了,也许想起这些东西,就会有醍醐
摘要由CSDN通过智能技术生成

最近看了不少jdk源代码和JVM相关知识,虽然有很多东西不是一次可以看懂的,理解的。但是可以多看几次,多模仿与实践,对于自己编码和理解来说,总是没多大坏处的吧。最近有时间,又想把《hotspot实战》看看,这些书籍似乎都是很多人强力推荐的啊(╯▔^▔)╯。。话说,逼格也高啊。不知道是不是那么神,所以,我要亲身实践看看,嘿嘿。第一次也许理解不是那么深,当自己代码量上来了,也许想起这些东西,就会有醍醐灌顶的感觉呢。乘着自己有时间,就像多看看,多接近底层,多贴近0与1。应该更能理解计算机这位”佳人”吧,哈哈….
这里写图片描述

主要还是参考《hotspot实战》这本书进行的,但是根据自己不同的系统环境与基础资源,编译工程总会是不那么顺畅的。应为很多都是C/C++库文件,相对于java来说,是偏向底层的,与系统平台的相关的库都会有引用调用等,出现了问题一开始真的会懵逼的( > c < ) 。不过,宝宝不虚,没点折腾精神还敢说自己是搞IT的码农?are you fucking kidding me ??(/≧▽≦/)………

所以以下是我自己在参考书籍的前提下,依据自己在编译过程中遇到的问题来总结记录下咯。顺便把编译好的文件可以share出来,可以让自己或者其他人按需要使用啦。毕竟也是一路踩着小坑过来的。。。。╮(╯▽╰)╭

编译平台搭建

在这里,因为经常使用vmware,所以就安装ubuntu14在vmware虚拟机上。就打算在虚拟机上编译hotspot。这里需要准备的平台环境包括:
* vmware虚拟机
在window上,非常好的虚拟机软件啊。大赞啊,可以创建许多不同系统的虚拟机。在此我使用的是12版本。这里是用来安装ubuntu系统的。这里多说一句,建议将该虚拟机的cpu和处理线程稍微高一些,因为是要进行编译计算处理的,不然会卡的。官网
* ubuntu系统
因为实战这本书使用的是ubuntu12的版本,我觉得有点老的,所以使用ubuntu14版本。最好安装desktop桌面版,对于不熟悉shell编程的可以更方便。可以自行度娘啦下载…

然后当然就是在vmware上安装好这个ubuntu14系统啦,可以使用NAT网络连接方式,也就是能让虚拟机可以联网就行。因为后面编译需要联网下载一些其他的运行库。

编译文件准备

在上面的平台环境准备好了,也就是工具都准备好了。剩下的当然就是需要原料啦。主要包括openjdk源码,jdk,ant安装。
* 下载openjdk源代码
这个是官方开源的非常好的东西啊,openjdk源代码。MD每天看看源代码,是不是都能成扫地僧啊…( ̄▽ ̄)~.。可以在这里下载:官网 百度云-openjdk
* 安装jdk
编译当然少不了jdk,可以下载1.6或者1.7的,简易可以不用1.8的,太新也不好。毕竟1.8版本更新不少东西。下载的当然是linux的版本的。可以在这里下载。百度云-jdk64-linux 百度云-jdk32-linux
下载好了,就可以和openjdk一起复制到虚拟机上。至于在linux上安装jdk也是非常简单的,网上也有很多教程,这里简单提一下:
A. 将.gz结尾的jdk文件拷贝到虚拟机内。eg:我拷贝到desktop后,切换root,在/usr/lib/目录下创建java文件夹,然后将该文件解压:

# cd /usr/lib
# mkdir java
# exit
~ cd Desktop
~ cp jdk-7u40-linu-x64.tar.gz /usr/lib/java
~ cd /usr/lib/java
~ tar -zxvf jdk-7u40-linu-x64.tar
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值