想要深入了解JVM,就必须了解其实现机制。了解JVM实现的最好方法便是自己动手编译JDK。好了,让我们开始吧! 1. 准备工作 获取OpenJDK源码 本次编译选择的是OpenJDK7u,官方源码包:https://jdk7.java.net ...
学习JVM时看到书里讲到自己编译OpenJDK。记录一下过程 Mac系统版本:High Sierra . . 源码版本:jdk u dev 一 准备源码 我是从官网下载网站的,openJDK源码是用mercurial进行管理的,所以首先使用homebrew安装mercurial 安装完成之后,再运行命令克隆jdk源码,之后通过运行脚本get source.sh获取所有的源代码 在获取源码的过程中可 ...
2019-06-21 17:52 0 879 推荐指数:
想要深入了解JVM,就必须了解其实现机制。了解JVM实现的最好方法便是自己动手编译JDK。好了,让我们开始吧! 1. 准备工作 获取OpenJDK源码 本次编译选择的是OpenJDK7u,官方源码包:https://jdk7.java.net ...
构建编译环境 起 在读本书时,为了更好的理解书上的源码,便开始了此段艰难的环境编译之路。 本文默认环境是Linux的Ubuntu 16.04 LTS,openJdk版本是14,书上给的网址直接下网速很坑,推荐在git上的地址下载 JDK14u链接 1. 安装基础环境 首先需安装GCC ...
近期开始学习JVM,看的是周老师的《深入理解Java虚拟机》,打算先自己编译个JDK来提升对JVM的兴趣。本文分三部分来描述编译OpenJDK的过程,分别是编译前准备工作、构建编译环境、进行编译,在这三部分内容中顺带把趟的坑一起说明下。 一、编译前准备工作 1.1 安装Linux环境 ...
一、Java概念 1.1 Java的历史 Java(一种咖啡名)是太阳微系统(Sun Microsystems)公司于1995年开始开发的。 在印度尼西亚,有一个岛屿叫做爪哇岛,英文名叫java, ...
本文内容过于硬核,建议有 Java 相关经验人士阅读。 1 引言 从上周开始一直在看周志明的 「深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)」 ,好多年之前看过第二版的,绝对算的上是国内 JVM 领域的经典之作,值得多读几遍。 全书的开头就介绍了如何自己编译一次 ...
一、前言 前一阵子比较好奇,想看到底层(虚拟机、汇编)怎么实现的java 并发那块。 volatile是在汇编里加了lock前缀,因为volatile可以通过查看JIT编译器的汇编代码来看。 但是原子类,本来在jvm中就是汇编实现的,反而没法看。如果能实际跟踪一下断点,应该也算实际验证 ...
LZ经过一个星期断断续续的研究,终于成功的搞定了JDK的成功编译与调试。尽管网络上的教程也有不少,包括源码中也有自带的编译步骤说明,但真正自己动手的话,还是会遇到不少意料之外的错误。 为了方便各位猿友编译,LZ临时学了一下shell的皮毛,写了三个 ...
我为什么要自己编译openjdk8以及那些坑 这是笔者第二次编译openjdk, 第一次编译的是openjdk7,那么好多人会好奇,为什么要自己编译openjdk呢,官方不是已经发布了安装包了么? 要回答这个问题就要明白c\c++是什么?Java又是什么? 记得有位业内同行说过,C++ ...