深入理解JVM原理之编译openjdk7
2019独角兽企业重金招聘Python工程师标准>>>
Java虚拟机种类很多例如:HotSpot 丶 JRockit 丶 J9等
我们一般用的就是HotSpot,如果我们电脑上装了JDK,可以运行java -version查看相关信息
java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
之前想着编译openjdk7,但是试过windows系统,linux系统,各种不如意,尤其是windows系统操作起来比linux更复杂,最后不得不放弃,centos试过,redhat也试过,各种不行 ,简直要吐血,
不过苍天不负有心人,经过一周的不断尝试,终于使用Ubuntu16.04.3搞定.
准备阶段:
①.需要安装的:使用 apt-get install 命令
build-essential gawk libasound2-dev libcups-dev libxrender-dev xorg-dev ant(1.7以上) libxtst-dev libxi-dev libxt-dev
②.openjdk7 , jdk6
我使用的jdk6为:jdk-6u45,
③.将CurrencyData.properties文件中的日期一定要改成10年内,
否则在编译过程中会报错从而导致编译失败:
Error: time is more than 10 years from present: 1136059200000
文件位置:
/usr/openjdk/jdk/src/share/classes/java/util/CurrencyData.properties
开始编译:
①.进入openjdk目录下执行make sanity命令若出现如下提示表示检查通过:
sanity check passed.
②.
执行如下命令:
export LANG=C export ALT_BOOTDIR="/usr/local/jdk6" export ALT_JDK_IMPORT_PATH="/usr/local/jdk6" export BUILD_LANGTOOLS=true export BUILD_HOTSPOT=true export BUILD_JDK=true export SKIP_COMPARE_IMAGES=true export SKIP_DEBUG_BUILD=false export SKIP_FASTDEBUG_BUILD=true export DEBUG_NAME=debug export USE_PRECOMPILED_HEADER=true export ARCH_DATA_MODEL=64 export HOTSPOT_BUILD_JOB=4 export ALT_PARALLEL_COMPILE_JOBS=4 BUILD_DEPLOY=false BUILD_INSTALL=false export ALT_OUTPUTDIR=/usr/local/openjdk/build export ALLOW_DOWNLOADS=true unset JAVA_HOME unset CLASSPATH make DISABLE_HOTSPOT_OS_VERSION_CHECK=OK
如上命令建议放入到一个可执行文件中
③.静静的等待即可(时间有点漫长,大概三四十分钟左右,你可以选择喝杯咖啡,听首音乐放松一下)
④.可以看到编译开始及结束的时间,恭喜编译通过.
>>>Finished making images @ Tue Dec 12 22:16:37 CST 2017 ... make[2]: Leaving directory '/usr/local/openjdk/jdk/make' ######################################################################## ##### Leaving jdk for target(s) sanity all docs images ##### ######################################################################## ##### Build time 00:34:22 jdk for target(s) sanity all docs images ##### #########################################################################-- Build times ---------- Target debug_build Start 2017-12-12 21:22:34 End 2017-12-12 22:16:37 00:04:43 corba 00:11:40 hotspot 00:00:49 jaxp 00:01:05 jaxws 00:34:22 jdk 00:01:23 langtools 00:54:03 TOTAL
转载于:https://my.oschina.net/u/2486137/blog/1588865
深入理解JVM原理之编译openjdk7相关推荐
- 深入理解JVM虚拟机 - 自我编译JDK
深入理解JVM虚拟机 - 自我编译JDK <深入理解JVM虚拟机>看过了好几遍了,对于编译一个JDK源码有很强的冲动.这里主要实战使用阿里云进行编译实战 为什么使用阿里云? 个人电脑奋斗四 ...
- 深入理解JVM(程序编译与代码优化篇)
程序编译与代码优化 前言 Javac编译器 语义分析与字节码生成 标注检查 数据及控制流分析 解语法糖 字节码生成 后端编译与优化 及时编译器 编译对象和触发条件 编译过程 编译器优化技术 方法内联 ...
- 深入理解计算机原理与编译原理,【底层原理:深入理解计算机系统】#1 一切从'hello world'说起 (一)...
计算机系统是由硬件和系统软件组成的,他们共同工作来运行应用程序.虽然系统的具体实现方式随着时间不断的在变化,但是系统的内在概念却没有改变的. 所有的计算机硬件和软件有着相似的结构和功能.这个系列专题便 ...
- 深入理解JVM文章合集
原文地址:http://ddrv.cn/a/88331 Java动态追踪技术探究 在Java虚拟机中,字符串常量到底存放在哪 一次生产 CPU 100% 排查优化实践 聊聊 Java 虚拟机:类的加载 ...
- 深入理解JVM(一)编译openJDK
此文总结的很不错:https://www.cnblogs.com/ACFLOOD/p/5528035.html 准备openJDK源码和环境 1.在linux和macOS上编译openJDK更加友好, ...
- JVM原理和调优的理解和学习
JVM原理和调优的理解和学习 一.详解JVM内存模型 二.JVM中一次完整的GC流程是怎样的 三.GC垃圾回收的算法有哪些 四.简单说说你了解的类加载器 五.双亲委派机制是什么,有什么好处,怎么打破 ...
- 前端面试 vue生命周期钩子是如何实现的?理解vue中模板编译原理?
生命周期钩子在内部会被vue维护成一个数组(vue 内部有一个方法mergeOption)和全局的生命周期合并最终转换成数组,当执行到具体流程时会执行钩子(发布订阅模式),callHook来实现调用. ...
- openMVG原理、编译、源码理解、实践
openMVG原理.编译.源码理解.实践 1.理论 2.实践 2.1.源码编译(重点) 2.2.其他 3. Work1: 根据tutorial_demo.py理解SFM pipeline (1).运行 ...
- java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...
最新文章
- 为什么掌握Linux对程序员这么重要……
- SpringBoot第二十一篇: springboot集成JMS
- 除了芯片 我们还应关注哪些核心技术
- 虚拟化系列-VMware vSphere 5.1 简介与安装
- 解决:(1062, Duplicate entry '2019-08-30' for key 'rdate')
- Silverlight带关闭动画的内容控件,可移动的内容控件(一)
- [C#.NET通用权限管里系统组件]对资源权限、列表型、记录级权限、数据集权限的实现参考...
- MongoDB 最大连接数 设置失效的异常分析
- 30万奖金等你拿!Apache Flink 极客挑战赛入门指南(附Demo)
- 计算机小键盘的基本知识,电脑入门——第2章_计算机键盘操作基础概述.doc
- 分数阶灰色模型的python实现
- 苹果暗黑模式_DNF手游来了!时间已定;苹果商店首次加入暗黑模式;以上为本期内容...
- S32K FTM(FlexTimer module)详解
- python英语单词 扇贝英语安卓下载_扇贝单词英语版app下载_靠谱的外语软件扇贝单词英语版下载安装 安卓版 V3.4.302 - 罐头安卓网...
- 左宗棠:大清朝最后一棵顶梁柱
- 为影像数据去除无效值
- 你不得不学会的英文赞美句子
- idea 社区版 web开发
- 计蒜客蓝桥杯模拟赛5 年龄问题
- 华为防火墙-1-安全区域
热门文章
- android jni malloc和free的使用
- 将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
- flink RPC(akka)
- DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用
- 小程序上拉加载,下拉刷新
- Python的运算符与表达式
- 重温Javascript(四)-函数
- 【设计模式】三言两语 设计模式
- bzoj 3055礼物运送 floyed + 状压DP
- 动手写一个快速集成网易新闻,腾讯视频,头条首页的ScrollPageView,显示滚动视图...