没几个人需要了解的JDK知识,我却花了3天时间研究
目前国内发布自己JDK版本的几家公司:
腾讯和阿里是因为有Java应用和云业务,所以在优化发布自己的版本
华为也是因为Java应用和云业务,不过因为还有服务器业务,所以还有Java课题的跑分需求,如SPECpower和SPECjbb跑分高代表自己服务器性能好
一些CPU厂,如龙芯,由于自己的指令集与x86这些不同,所以需要在JDK上适配自家的指令集架构,Java应用程序需要它们自己发布的JDK版本才能在龙芯CPU上包
所以发布JDK版本的公司少,可能知道如何发布版本的人就更少了吧,应该也就是10多个人吧。
大家如果用过JDK,可能都执行这java -version吧,以bisheng jdk执行的信息为例,如下:

假设我们以如下命令编译JDK:
bash ./configure --with-debug-level=release
make all
编译出来的信息如下:

领导要求格式与bisheng的差不多,默认编译出来的不是差别太大。首先是带了许多internal字样,还有我的名称都需要去掉,另外要打上我们公司的名字。
使用 bash ./configure --help 命令看configure有啥配置选项, 如下:
--with-milestone Set milestone value for build [internal]
--with-update-version Set update version value for build [b00]
--with-user-release-suffix
Add a custom string to the version string if build
number isn't set.[username_builddateb00]
--with-build-number Set build number value for build [b00]
经过探索后,发现这几个编译选项指定的内容如下图所示。

我们想将1.8.0版本也替换为自己规划好的版本,不过没发现相关的参数。另外这个 internal 字符串总是没办法去掉,对--with-milestone字段给了如下值都不行:
--with-milestone=
--with-milestone=""
--with-milestone=" "
后来偶尔一次指定 --with-update-version 和 --with-build-number 后,给 --with-milestone随便指定了一个值,居然就没有internal了,真是莫名其妙。
对于版本号和相关JDK的公司名称指定最后只能是脚本开发了,通过添加configure的配置参数来解决。这个脚本也是巨复杂,下了一些功夫才整好。最终和它们
将图片上传到AI后,问了一下如何配置JDK8的configure参数,使得编译出来的JDK版本运行java -version命令后如图所示(上传BiSheng JDK的版本信息图),给了一些命令,不过不能用,有些是JDK17的命令,好吧!
没几个人需要了解的JDK知识,我却花了3天时间研究的更多相关文章
- Linux运维知识之linux shell date 用当天时间做备份文件名
本文主要向大家介绍了Linux运维知识之linux shell date 用当天时间做备份文件名,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. #!/bin/bash #dat ...
- WEB前端知识在乱花渐欲迷人眼的当下,如何分清主次和学习优先级呢?
从正美的吐槽开始,我回了下,说对盲目跟风的大众失去信心了.然后一些同学说我固步自封,另一些同学估计想说倚老卖老啥的.我想说清楚一点,我从 未停止过学习,只是对知识的重要程度和精力分配有自己的观点.具体 ...
- Day 4 测试(QwQ 表示没考好 未完待续。。。 可能要过一段时间才会更
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...
- php基础知识【函数】(4)时间date
一.time() -- 返回当前的 Unix 时间戳 $nextWeek = time() + (7 * 24 * 60 * 60); echo 'Next Week: '. date('Y-m-d' ...
- 阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点.覆盖了JVM.锁.并发.Java反射.Spring原理.微服务.Zooke ...
- 知识管理——得到CEO脱不花女士的一次分享
知识管理--得到CEO脱不花女士的一次分享 近日,公司举办了一场"CKO首席知识官"研讨会,邀请到了得到APP的CEO脱不花女士做了一场精彩的分享,让我深受启发. 分享内容围绕3个 ...
- H5嵌入原生开发小结----兼容安卓与ios的填坑之路
一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的 ...
- promise实现原理
先看的这篇有问题的文章 花了很长时间研究这篇文章,卡在实现串行Promise那儿了,一直看不明白.就在刚才,发现这篇文章是错的,在第一次用setTimeout( ,0)那儿就错了.虽然用setTime ...
- stoneniqiu 理想就是自己喜欢做,并对社会和他人都有意义的事情!
H5嵌入原生开发小结----兼容安卓与ios的填坑之路 2016-11-19 08:29 by stoneniqiu, 1038 阅读, 8 评论, 收藏, 编辑 一开始听说开发H5,以为就是做适配现 ...
- 极客DIY:使用Arduino制作一块开源手表
1 – 引言 首先让我们看下这个项目要考虑到的问题: .)使用100%Arduino兼容性硬件 .)保证存储器足够大可以装下大量的稍后会扩展的新内容 .)电量最少够1天用 .)BLE既是中枢设备又是外 ...
随机推荐
- brew切换数据源为阿里源
# 查看 brew.git 当前源 $ cd "$(brew --repo)" && git remote -v origin https://github.com ...
- 单机麒麟kylin安装
https://archive.apache.org/dist/kylin/ 2.5.0版本 首先启动hadoop.hive.hbase 并记得设置环境变量 #JDK export JAVA_HOME ...
- pycharm上传github问题:rejected
我从pycharm上传项目时,遇到的问题: 以下是一些解决思路: 这个错误提示表明,你在尝试将本地代码推送到远程仓库时,远程仓库中已经包含了你本地尚未获取的更改.换句话说,远程仓库的代码比你的本地代码 ...
- 【忍者算法】从公路跑步到链表成环:探索环形链表检测|LeetCode第141题 环形链表
从公路跑步到链表成环:探索环形链表检测 生活中的环形 想象两个人在环形跑道上跑步,一个跑得快,一个跑得慢.如果他们一直跑下去,快的跑者一定会从后面追上慢的跑者.这就是我们今天要讨论的环形链表问题的现实 ...
- android无障碍开发 企业微信 机器人
实现 Android 无障碍开发 企业微信 机器人 作为一名新入行的开发者,你可能对如何开发一个支持企业微信的无障碍机器人感到迷茫.在这篇文章中,我将为你详细讲解实现这一功能的流程和代码示例. 流程概 ...
- Javascript 显示当前滚动条滚动的百分比
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Joe主题 更换评论框样式,填写QQ自动获取昵称邮箱
前言: 由于为了美观感去除了画图模式,至于怎么加上画图模式会在文章最后给出详细教程. 同时也去除了填写网址选项,这个暂时无添加教程,关键没有合适的添加位子. 话不多说,直接开始教程! 下载文件包,解压 ...
- 2. 在Linux 当中安装 Nginx(13步) 下载&安装&启动(详细说明+附加详细截图说明)
2. 在Linux 当中安装 Nginx(13步) 下载&安装&启动(详细说明+附加详细截图说明) @ 目录 2. 在Linux 当中安装 Nginx(13步) 下载&安装&a ...
- 淘宝 NPM 镜像站
应该有不少开发者已经发现,访问淘宝 NPM 已经会自动 301 跳转到 npmmirror.com 新域名,这是我们独立注册和备案的域名. Web 站点:https://npmmirror.com R ...
- DeepSeek 官方推出的提示词库,AI内容生成的精准导航仪!
前言 在当今数字化时代,人工智能(AI)正以前所未有的速度改变着我们的生活方式和工作模式.从简单的数据处理到复杂的创意生成,AI技术正逐渐渗透到各个领域,成为推动社会进步的重要力量.然而,如何高效地利 ...