微信号:infoqchina

介绍:有内容的技术社区媒体

HotSpot和OpenJDK入门

2013-10-15 18:43 InfoQ

在本文中,我们将会介绍如何开始使用HotSpot Java虚拟机以及它在OpenJDK开源项目中的实现——我们将会从两个方面进行介绍,分别是虚拟机和虚拟机与Java类库的交互。


在我们深入并详细地介绍源码之前,我们必须要有“不惧怕平台源码”的信念。开发者通常会认为JDK源码一定是令人振奋且难以接近的,但这毕竟是整个平台的核心。


JDK源码是固定的、经过良好的审核和测试的,但是并不是那么无法接近。特别是这些源码并不是始终包含Java语言的最新特性。所以我们经常会在其内部找到那些依然没有泛型化的、使用原始类型的类。


对于JDK源码而言,有几个主要的仓库是你应该熟悉的:


jdk


这是类库存在的地方。几乎所有的内容都是Java(本地方法会使用一些C代码)。这是深入学习OpenJDK源码的一个非常好的起点。JDK的类在jdk/src/share/classes目录中。


hotspot


HotSpot虚拟机——这里面是C/C++和汇编代码(还有一些基于Java的虚拟机开发工具)。这些内容非常高级,如果你并不是一个专业的C/C++开发人员那么这些内容会让人有一点难以入手。稍后我们会更加详细地讨论一些入门的好方法。


langtools


对于那些对编译器和工具开发感兴趣的人而言,可以从这里找到语言和平台工具。大部分是Java和C代码——学习这些内容比学习JDK代码要难,但是对于大多数开发者而言还是可以接受的。


还有一些其他的仓库,但是它们可能没有那么重要或者对大多数开发者而言没什么吸引力,这些仓库包括corba、jaxp和jaxws等内容。


更多精彩内容,点击阅读原文。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 星聚tech talk:如何在百播大战中技压群雄 软件测试让梦想起航! React Native 热加载(Hot Reload)原理简介 程序员如何转型热门大数据工程师? java中long类型转换为int类型