编译openjdk8==centos7.9编译openjdk8

CentOS7下编译JDK12 CentOS7下编译JDK12 引言 想要探究JVM的内部实现原理,最直接的方式就是编译一套自己的JDK,这样我们可以通过阅读和跟踪JDK源码来了解它的运行机理 除此之外,JDK中很多方法都是本地方法(Native),因此也可以通过这样的方式知道这些方法的运行机理 编译前的环境配置 由于在Windows下编译稍微有些麻烦,因此选择在Liunx系统上编译 系统截图如下: gcc/g++的升级 由于该系统自带的gcc/g++版本过低(4.8.5),因此需要升级gcc/g++ 这里给出一个便捷的方法: ba 阅读详情

之前用vbuntu编译过,这次用centos编译。

完成编译后的整个虚拟机

链接:https://pan.baidu.com/s/1ux0Mmd-szEINYcsoecRI1g 
提取码:1qyu 

需要编译的openjdk源码压缩包,后面需要编译的时候也可以去官网下载。

https://download.csdn.net/download/hebian1994/86501160


=====================================

1-安装依赖

yum install -y xrender
yum install -y freetype
yum install -y ccache
yum install -y zip unzip
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install libffi-devel 
yum -y groupinstall "Development Tools" 
yum -y install libXtst-devel libXt-devel libXrender-devel
yum -y install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make

yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel

yum -y install lrzsz
 

2-下载CentOS-7-x86_64-Minimal-2207-02.iso,用VMware安装。

CentOS Mirrors List

3-彻底删除原有JDK

rpm -qa | grep openjdk |xargs rpm -e --nodeps
rpm -qa | grep java |xargs rpm -e --nodeps

4-安装openjdk 1.8.0_342

yum install java-1.8.0-openjdk* -y

配置环境变量

 vim /etc/profile
 #在末尾添加
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

source /etc/profile

java -version

5-下载openjdk8u42的源码

下载地址:

        

6-开始编译

mkdir /opt/jdk

cd /opt/jdk

rz

选择下载的源码压缩包,上次后解压,得到openjdk目录

unzip openjdk-8u42-src-b03-14_jul_2022.zip

cd openjdk

chmod +x configure


./configure --with-debug-level=fastdebug --with-boot-jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64

make clean make images

unset JAVA_HOME
unset CLASSPATH

make all

或者

./configure --with-target-bits=64 --with-boot-jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0

make CONF=linux-x86_64-normal-server-slowdebug

如果要用GDB进行调试,必须使用这种slowdebug方式进行编译

 

 

 

 ==================================================

7-在openjdk的build目录下cd到linux-x86_64-normal-server-fastdebug/jdk/bin, 可以看到熟悉的JDK的目录结构了

在bin目录下编写测试代码即可

cd /opt/jdk/openjdk/build/linux-x86_64-normal-server-fastdebug/jdk/bin
 

 [root@localhost bin]# ./java -version
openjdk version "1.8.0-internal-fastdebug"
OpenJDK Runtime Environment (build 1.8.0-internal-fastdebug-root_2022_08_25_16_54-b00)
OpenJDK 64-Bit Server VM (build 25.40-b25-fastdebug, mixed mode)

vim Test.java

public class Test{ public static void main(String args[]){ System.out.println("hello world!"); } } ​

[root@localhost bin]# ./javac Test.java 
[root@localhost bin]# ./java Test
hello world!
 

如果你有定制JDK某些类或方法(增删改)的需求,需要在解压后的源码目录下进行修改,源码目录位于:

openjdk/jdk/src/share/

8-更改JDK源码后,进行重新编译

cd /openjdk

./configure --with-debug-level=fastdebug --with-boot-jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64

make clean make images

openjdk-8u342-b07-windows-x64 立即下载

相关推荐

Linux环境OpenJDK8U-jdk-x64-linux-hotspot-8u372b07.tar.gz

Linux环境OpenJDK8U-jdk_x64_linux_hotspot_8u372b07.tar.gz

Linux安装jdk笔记

Linux安装jdk 下载 由于Oracle下载jdk需要注册账号登录,且速度奇慢,因此可以选择国内镜像,清华镜像https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/ 通过wget下载到linux本地 wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz 解压 解压到/usr/

Mrlijie00的博客 2067

NVIDIA DGX Spark 开发环境深度配置与优化指南

定期系统维护每月执行一次完整的系统更新监控存储空间使用情况,及时清理临时文件定期检查硬件健康状况开发习惯优化使用tmux或screen管理长时间运行的任务配置自动化测试和代码质量检查建立完善的项目文档体系性能调优周期每月重新评估和调整系统参数根据工作负载特点优化容器配置持续监控和记录性能指标DGX Spark作为一个强大的AI开发平台,其真正的价值需要通过精细的环境配置和优化才能充分发挥。本文提供的配置方案和建议均基于实际生产环境经验,旨在帮助开发者构建稳定、高效、可维护的开发环境。

time_days的博客 3665

Docker 推送跨平台镜像至 私有镜像仓库

6. 在这里就不用推送两个镜像到镜像仓库了,因为制造这个镜像最开始的条件就是在远程镜像仓库必须有这两个镜像。版本,并且包含两个不同架构的镜像,其中镜像的ID分别是下面的两个不同架构的镜像的。可以看到私用镜像仓库上面已经有了。

qq_41443616的博客 673

深入解析fio Benchmark测试:从源码到实践

本文深入解析fio Benchmark测试工具,从入门指南到源码架构分析,详细介绍了其核心模块、关键数据结构和I/O处理机制。通过实战案例展示如何优化存储性能测试,包括内存对齐、多线程调优等技巧,帮助开发者充分利用fio进行精准的存储性能评估。

weixin_42563415的博客 198

遗传算法解整数规划IntCon

x = ga(fun,nvars,A,b,[],[],lb,ub,nonlcon,IntCon) IntCon就是代表整数的参量,描述的是哪几个自变量是0-1整数变量。比如navrs设置有4个变量,设置IntCon为[2 3],代表第2和第3个变量是整数。 再比如设置IntCon=2:2:nvars,代表偶数项的变量是整数。 值得注意的是一旦设置了非空的IntCon,则Aeqandbeqmust be an empty entry ([]), andnonlconmust re...

jianti9962的博客 9216

Docker笔记

docker笔记

老苏的一日三浪 586

网络调试和分析工具 Proxyman Premium

它支持MacOS、iOS和iPadOS等操作系统,提供丰富的功能,如查看和编辑HTTP/HTTPS请求和响应、设置断点、过滤请求等。Proxyman Premium还支持WebSocket、GraphQL和gRPC等现代网络协议调试,并通过直观且图形化的操作界面,使用户能高效地监控和操纵网络数据流。此外,它还具备多种高级功能,如WebSocket支持、DNS欺骗、自定义SSL证书等,为开发人员提供极大的便利。同时,由于软件版本更新和界面调整,上述步骤可能会有所变化,建议您参考最新版本的官方文档进行操作。

llhf688的博客 1996

CentOS7下编译OpenJDK12

OpenJDK的编译 安装环境:CentOS7。 下载OpenJDK 下载地址:https://hg.openjdk.java.net/jdk/jdk12/,点击左边的zip。 下载后的包名为jdk12-06222165c35f.zip,上传至linux的/usr/local目录下,并解压。 # yum install -y unzip 没装的unzip的先安装 # unzip jdk12-06222165c35f 解压后,打开doc/building.xml或doc/building.md学习如何编

morris 1万+

离合器KP点自学习:从原理到工程实践的全景解析

本文全面解析了离合器KP点自学习的原理与工程实践,详细介绍了KP点的物理本质、控制价值及自学习方法。通过扭矩增量式和转速变化式学习法,结合不同变速箱构型的适配策略,提升离合器控制的精度与效率。文章还探讨了液压系统迟滞补偿和摩擦材料老化应对方案,为工程实践提供可靠保障。

weixin_33717117的博客 282

SAP 物料的分割评估

SAP 物料的分割评估 前言 本文主要讲解SAP中物料的分割评估,通过分割评估来区分出同一物料不同来源下的核算方式。例如:同一物料分为自产或者采购,或者同一物料分为进口或者国内采购等。 一、概述 分割评估一般用于以下场景: 1、物料分为内部采购和外部采购; 2、物料分属于进口或者国内采购; 3、物料分属于不同的批次; 4、物料分为自制或者采购。 由于物料的来源不同可能导致物料的价格或者性质不同,需要用不同价格来区分出 二、配置步骤 1.激活分割评估 ...

五谷散熊 6782

Centos7 编译 OpenJDK8

1 准备 1.bootstrap jdk(1.7) 2.OpenJDK8源码包 2 安装 Bootstrap JDK Bootstrap JDK下载: 链接:https://pan.baidu.com/s/12\_EXzEUqXMJqP2pXo3qoNw 提取码:z5b8 安装好 Bootstrap JDK 后检查 \[root@localhost ~\] openjdk version "1.7.0\_75" OpenJDK Runtime Environment (build 1.7.0\_75-

enjoyio的博客 267

记录Rancher集群中coredns问题导致的服务DNS解析超时

coredns问题处理

1357

编译OpenJDK8U 在CentOS7.2

编译OpenJDK8U 在CentOS7.2 目录 系统信息 卸载系统自带的JDK 安装JDK7 编译OpenJDK8u 系统信息 用命令pt-summary(此命令可参考博客percona-toolkit 工具的安装安装)去查看系统的详细信息 卸载系统自带的JDK 检查自带JDK的版本和安装信息 1 输入 java -version 输出系统JDK 版本信息。 2 输入 rpm -qa | grep java 查看JDK 安装包。 3 通过 rpm -e --nod...

小呆_Chris 609

基于YOLOv11的气象目标检测系统:台风眼与钩状回波检测

气象目标检测是计算机视觉在气象领域的重要应用,对台风预警和强对流天气监测具有重要意义。本文详细介绍了一种基于YOLOv11的气象目标检测系统,能够有效识别卫星云图中的台风眼和雷达图中的钩状回波。系统包含完整的数据处理流程、模型训练策略以及用户友好的Web界面。我们使用了公开的气象数据集进行训练和验证,并提供了完整的实现代码。实验结果表明,本系统在气象目标检测任务中达到了较高的准确率和实用性。关键词:气象目标检测;YOLOv11;台风眼检测;钩状回波;深度学习;计算机视觉台风眼检测数据集。

YOLO 470

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

centos7.9上面编译openjdk

centos7.9上面编译openjdk 下载openjdk 下载mercurial 下载地址:[wget https://www.mercurial-scm.org/release/mercurial-5.9.2.tar.gz --no-check-certificate](wget https://www.mercurial-scm.org/release/mercurial-5.9.2.tar.gz --no-check-certificate)

月夜楓 687

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

openjdk8 JVM源码阅读==windows&centos Clion debug openJDK8

然后在windos上用clion 的configuration新建一个remote debug,连接到centos暴露的端口进行远程debug,更改Test.java的代码后,重新编译,然后启动gdb server,然后clion重新开启debug即可。然后在clion里找到main.c,路径是在jdk/src/share/bin/main.c,然后打上断点。打开IDEA,新建一个java项目,并将项目使用的jdk设置为编译好的JDK即可。同时centos上等待的server发现了来自远程的连接。.....

hebian1994的博客 1125

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

CentOS编译OpenJDK

一、准备编译环境 1、安装alsa声卡驱动包 yum installalsa-lib-devel 2、安装cups-devel yum installcups-devel 3、安装X相关的库 yum installlibX* 4、安装gcc编辑器 yum install gccgcc-c++ 5、安装freety

Terisadeng的博客 1003

centos7编译openjdk12

前言: 之前看了一本书叫《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》,里面说了编译openjdk,但是个人觉得说的太啰嗦,而且找不到重点,按照书上的流程去做,一堆的问题,下面自己整理了一下这两天采坑一后的经验分享给大家: 一.准备工作: 我的编译环境如下: centos版本:7.5 为了方便大家下载,jdk和openjdk源码我上传到了百度网盘: 1.jdk版本:jdk-11.0.11 (编译openjdk需要安装Bootstrap JDK提...

xiaomojun的专栏 428

CentOS 7 下 编译 OpenJDK 并 调试

Open JDK 编译: 前置说明: OpenJDK8 编译时, 提示不支持内核版本4.4 的. 于是本人切换回3.10 才可编译OK 官方给出的方案不可用: 安装Mercurial yum install -y mercurial hg clone http://hg.openjdk.java.net/jdk9/dev 9dev测试不可用 github 下载: https://github.com/openjdk/jdk.git速度24k/s 本人使用的...

muzi_since的博客 722

openJDK的编译-linux

openJDK的编译-linux

烦的博客 1178

Win10下Linux子系统Centos7编译Openjdk12源码

Centos7编译Openjdk12源码下载openjdk12源码外部依赖库安装jdkconfigure 下载openjdk12源码 下载方式如下,以下方式任选其一: 打开openjdk12源码页面https://hg.openjdk.java.net/jdk/jdk12/file/06222165c35f,点击页面左侧zip按钮下载源码包. 下载他人已有的资源:链接: https://pan....

赱乂的博客 1808

RedHat/CentOS linux 6 环境编译openJDK7

操作系统:RedHat / CentOS 安装步骤如下:   1.      下载openjdk-7u6-fcs-src-b24-28_aug_2012.zip   2.      提前装好JDK 6并且设置好环境变量 vi /etc/profile,加入JDK6的安装目录: export ALT_BOOTDIR=/usr/java/jdk1.6.0_32 通过source /et...

潘建南的博客 1818

自己动手编译OpenJDK

个人技术博客:www.zhenganwen.top 笔者环境 64bit / Windows10 / i5-7200U / 4核心CPU,在虚拟机上的Centos7(能连外网)上编译OpenJDK7u75 建议使用Ubuntu或者Centos,安装依赖的地方使用apt-get/yum替换即可(Rhel的yum源使用收商业限制,因此依赖下载不方便,建议使用centos或者debain,或者...

weixin_34399060的博客 682

java openjdk 1.8,openjdk 1.8

首先安装参考http://openjdk.java.net/install/JREjava-1.8.0-openjdkJDKjava-1.8.0-openjdk-devel2.安装JDK包java-1.8.0-openjdk-develyuminstalljava-1.8.0-openjdk-devel来自:博客检查和安装OpenJDK1.8 检查环境上是否已安装OpenJDK1.8。 执行j...

weixin_34652847的博客 3770

Centos源码编译openJDK——安装加踩坑指南

我是灼灼,一只初学Java的大一金渐层。 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄;追逐过王尔德、王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔;热爱文学的浪潮,白日梦到底却总在现实里清醒;艳羡平静又极度渴盼奔跑的力量。 欢迎与我交流鸭· QQ:1517526827; 个人博客:https://blog.csdn.net/weixin_52777510?spm=1001.2101.3001.5343 Centos 7源码编译OpenJDK12 编译日志: 参考博客一:安装基本依赖它~ 参考.

weixin_52777510的博客 1459
上一篇: 自制OS 5-1==用C语言不用C库写内核。一个独立内核OS的制作
下一篇: openjdk8 JVM源码阅读==windows&centos Clion debug openJDK8
一个java开发
博客等级 码龄9年 2561粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值