jdk8和hotspot_HotSpot和OpenJDK入门

jdk8和hotspot

在本文中,我们将从虚拟机(VM)的角度以及与之交互的角度研究如何开始在HotSpot Java虚拟机上工作以及如何在OpenJDK开源项目中实现它。 Java类库。

HotSpot来源简介

让我们看一下JDK源代码以及其中包含的Java概念的实现。 检查源代码有两种主要方法:

  • 现代IDE可以附加src.zip(来自$ JAVA_HOME),以允许从IDE进行访问,或者
  • 使用OpenJDK源代码并浏览文件系统。

两种方法都很有用,但重要的是要同时适应第二种方法和第一种方法。 OpenJDK源代码存储在Mercurial(类似于无处不在的Git版本控制系统的分布式版本控制系统。)中,如果您不熟悉Mercurial,则可以免费获得一本名为“ 版本控制示例 ”的书,其中涵盖了基础知识。

要检出OpenJDK 7源代码,请安装Mercurial命令行工具,然后:

汞克隆http://hg.openjdk.java.net/jdk7/jdk7 jdk7_tl

这将生成OpenJDK存储库的本地副本。 此仓库具有项目的基本布局,但尚未包含所有文件-因为OpenJDK项目分布在多个子存储库中。

初始克隆后,本地存储库将如下所示:

ariel-2:jdk7_tl boxcat$ ls -l
total 664
-rw-r--r--  1 boxcat staff   1503 14 May 12:54 ASSEMBLY_EXCEPTION
-rw-r--r--  1 boxcat staff  19263 14 May 12:54 LICENSE
-rw-r--r--  1 boxcat staff  16341 14 May 12:54 Makefile
-rw-r--r--  1 boxcat staff   1808 14 May 12:54 README
-rw-r--r--  1 boxcat staff 110836 14 May 12:54 README-builds.html
-rw-r--r--  1 boxcat staff 172135 14 May 12:54 THIRD_PARTY_README
drwxr-xr-x 12 boxcat staff    408 14 May 12:54 corba
-rwxr-xr-x  1 boxcat staff   1367 14 May 12:54 get_source.sh
drwxr-xr-x 14 boxcat staff    476 14 May 12:55 hotspot
drwxr-xr-x 19 boxcat staff    646 14 May 12:54 jaxp
drwxr-xr-x 19 boxcat staff    646 14 May 12:55 jaxws
drwxr-xr-x 13 boxcat staff    442 16 May 16:01 jdk
drwxr-xr-x 13 boxcat staff    442 14 May 12:55 langtools
drwxr-xr-x 18 boxcat staff    612 14 May 12:54 make
drwxr-xr-x  3 boxcat staff    102 14 May 12:54 test

接下来,您应该运行get_source.sh脚本,该脚本在初始克隆的一部分中已被下拉。 这将填充项目的其余部分,并克隆实际构建OpenJDK所需的所有文件。

在深入讨论源代码之前,重要的是要说:“不要害怕平台源代码”。 开发人员经常认为JDK源代码必须令人敬畏且难以理解。 毕竟,它是平台的核心。

JDK源代码是可靠的,经过全面审查和测试的; 但非常平易近人。 特别是,该源代码并不一定总是始终采用最新的Java语言功能。 因此,很常见的是在内部中找到仍未生成的类,这些类始终使用原始类型。

您应该熟悉JDK源代码的几个主要存储库:

杰克

这是类库所在的位置。 这些大多是Java(带有一些用于本机方法的C代码)。 这是进入OpenJDK源

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值