IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 深入理解java虚拟机1--Linux上构建OpenJDK -> 正文阅读

[系统运维]深入理解java虚拟机1--Linux上构建OpenJDK

前言:跟着《深入理解Java虚拟机》学习java虚拟机,之前有几次尝试开始,但总是以失败告终。所以这次以记录的形式来学习java虚拟机,希望自己在这本书学完能有所收获和成长,欢迎和大家一起共同进步,如果文章中有不对的地方,欢迎指出。

世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过 程。

1.Linux上构建OpenJDK(相关资源下载可参考书籍)

(1)环境在本地电脑安装一个VMware,下载了一个Ubuntu的镜像,新建虚拟机,参考链接

(2)在安装Ubuntu会有两种模式:界面模式和命令模式,一般我采用命令模式来进行操作?(坑:在进入命令模式时,在输入用户名和密码时,需要关闭NumLock,我在输入密码开启了NumLock输入密码后提示Incorrect Login. 原因:Ubuntu不认小键盘,使用字母键盘上面的数字按键进行输入)

(3)为了方便使用ubuntu,使用了Xshell来连接。具体步骤如下:

1. 进入命令模式,在终端输入:sudo apt install openssh-server(下载远程服务器)

2. 在执行 sudo apt install net-tools(解决不能联网问题)

3.ifconfig 可以查看ip地址 使用 xsell连接

(4)构建编译环境:

1.在Ubuntu系统上安装GCC的命令 为

sudo apt-get install build-essential

2.openjdk 编译的依赖库

sudo apt-get install libfreetype6-dev

sudo apt-get install libcups2-dev

sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev

sudo apt-get install libasound2-dev

sudo apt-get install libffi-dev

sudo apt-get install autoconf

?3.在Ubuntu中使用以下命令安装OpenJDK 11:

sudo apt-get install openjdk-11-jdk

假设要编译大版本号为N的JDK,我们还要另外准备一个大版本号至少为N-1的、已经编译 好的JDK.因为OpenJDK由多个部分(HotSpot、JDK类库、JAXWS、JAXP……)构成,其中一 部分(HotSpot)代码使用C、C++编写,而更多的代码则是使用Java语言来实现,因此编译这些Java代 码就需要用到另一个编译期可用的JDK,官方称这个JDK为“Bootstrap JDK”?。(目前也不是很清楚这句话的 意思。)

4.进入安装openJdk的目录下,输入一下命令:(编译FastDebug版、仅含Server模式的HotSpot虚拟机)

bash configure --enable-debug --with-jvm-variants=server

但是我的没有编译成功,报的是:(configure命令承担了依赖项检查、参数配置和构建输出目录结构等多项职责,如果编译过程中需 要的工具链或者依赖项有缺失,命令执行后将会得到明确的提示,并且给出该依赖的安装命令)

configure: error: Could not find fontconfig! You might be able to fix this by running 'sudo apt-get install libfontconfig1-dev'.
configure exiting with result code 1

?根据提示是有工具缺失,所以安装:

sudo apt-get install libfontconfig1-dev

再次执行则编译成功,并且输出调试级别,Java虚拟机的模式、特性, 使用的编译器版本等配置摘要信息,在编译成功后会在build目录下出现一个文件夹

总结:今天主要是在配置环境,下载环境。但是在这个过程中也会有许多坑,是需要注意的。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-15 11:45:51  更:2022-05-15 11:46:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:55:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码