`

搭建HotSpot虚拟机编译调试环境

阅读更多

一.HotSpot和Open JDK编译概述

1.Open JDK与Oracle JDK的关系



2.OpenJDK6、7、7u和8几个项目之间的关系



3.OpenJDK源码获取方式

        a.通过Mercurial代码版本管理工具从Repository中直接取得源码

        b.从Source Bundle Releases页面取得打包好的源码

        源码地址:

        Open JDK7:http://download.java.net/openjdk/jdk7/

        Open JDK8:http://download.java.net/openjdk/jdk8/

 

二.构建HotSpot虚拟机编译环境

        建议在编译实战的过程当中,采用英文版的操作系统和英文版的Visual Studio来完成编译。由于OpenJDK的mkFile里面许多判断版本以及路径的地方都使用了命令行的输出做为判断依据,由于相同软件在中文环境下和英文环境下它的输出内容不一样,在中文版本下经常会导致我们不得不通过修改mkFile才能让编译进行下去的情况,而在英文环境下则没有这些问题。如果不使用虚拟机并且当前安装的系统是中文版系统,务必在控制面板当中把当前系统的所在区域调成英国,以保证编译过程的正常完成。

1.环境搭建主要步骤

        下载Open JDK的源码。通过Repositories来了解Open JDK进程的变化是最完整的,比看什么都来的实在,但主要有两个缺点:一个是它的源码管理软件是SCN,不主流;另一个是网络带宽限制,克隆Repositories需要很长时间,且经常断线。因此在这采用直接下载源码Source来编译。

        准备一个较新版的JAVA IDE工具Eclipse,如下所示:


a.安装Visual Studio 2010

        对于编译HotSpot而言,使用免费版就足够,在Open JDK的编译文档当中,提示已经在Visual Studio 2003和Visual Studio 2010上测试过,实际经验采用Visual Studio 2012或Visual Studio 2013也是能正常完成编译的,对于Visual Studio 2015由于刚刚发布,还并未尝试。


b.安装Windows SDK7.1


c.安装引导JDK(用于编译Open JDK之中使用Java编写的源码)

d.安装CygWin软件

       在Windows平台下建设一个类似于Linux的命令行环境,以保证虛拟机之中使用C、C++所写的代码,它们的mkFile文件能够正常的运行。

        根据自已操作系统是32位的还是64位的,下载不同的Cygwin版本。

        安装时打开Open JDK中的说明,下载对应的Package。


e.构建环境变量


f.生成VS工程文件





三.跟踪调试HotSpot虚拟机源码



        建立研究Java虚拟机所必需的实验环境,给研究JVM和Java技术体系提供了一条最贴近本质的道路。直接阅读HotSpot源码可能比阅读书籍教程的门槛要高一些,但确是深入理解Java虚拟机的必经之路。

 

详细的搭建过程:http://www.jikexueyuan.com/course/1949_1.html?ss=1

  • 大小: 131.9 KB
  • 大小: 101.9 KB
  • 大小: 26.3 KB
  • 大小: 60.5 KB
  • 大小: 66.6 KB
  • 大小: 128 KB
  • 大小: 55.5 KB
  • 大小: 233.6 KB
  • 大小: 205.3 KB
  • 大小: 196.1 KB
  • 大小: 40.2 KB
  • 大小: 51.9 KB
  • 大小: 154.1 KB
  • 大小: 286.5 KB
  • 大小: 123.7 KB
分享到:
评论
2 楼 pzz2011 2016-04-28  
对了 我的cygwin下也没有cl.exe  不知道这么设置
1 楼 pzz2011 2016-04-28  
不是create.bat吗?
还有我的vsvars.bat并没有打印set xxxx
求解

相关推荐

    hsdis工具,hotspot虚拟机插件,反汇编jit编译代码

    HotSpot虚拟机是Oracle JDK和OpenJDK中的默认虚拟机,它通过动态编译技术提高了Java应用程序的运行性能。本文将深入探讨HSDis工具、HotSpot虚拟机以及反汇编在JVM中的应用。 HSDis全称为HotSpot Disassembler,是一...

    JDK10(JDK10底层C++源码及hotspot虚拟机源码)

    HotSpot虚拟机负责Java字节码的解释和即时编译(JIT),以提高程序的运行效率。在HotSpot源码中,我们可以找到以下关键部分: 1. **编译器(Compilers)**:HotSpot包含两个主要的编译器——C1(Client Compiler)...

    JDK9源码(底层C++源码及hotspot虚拟机源码)

    HotSpot虚拟机是Java程序运行的基础,它负责解释执行字节码、动态编译热点代码以及内存管理。在JDK9中,HotSpot虚拟机有以下几个重要的改进: 1. JEP 102:模块系统(Module System)引入:JDK9引入了全新的模块...

    HotSpot虚拟机主要参数表

    包含参数如下: 1. 内存管理参数 2. 及时编译参数 3. 类型加载参数 4. 多线程相关参数‘ 5. 性能参数 6. 调试参数

    JDK7底层C++源码及hotspot虚拟机源码

    《深入解析JDK7:基于C++的底层源码与HotSpot虚拟机剖析》 在IT领域,Java作为一门广泛使用的编程语言,其性能优化和内部机制一直是开发者关注的焦点。JDK7作为Java发展历程中的一个重要版本,引入了许多创新特性,...

    【译】Java 14 Hotspot 虚拟机垃圾回收调优指南(csdn)————程序.pdf

    Java 14 Hotspot 虚拟机的垃圾回收调优是提升应用程序性能的关键环节。本指南主要涵盖了垃圾收集器的优化目标、策略以及各种实现,旨在帮助开发者更好地理解如何调整 JVM 参数以满足特定的需求。 优化目标与策略...

    JDK6底层C++源码及hotspot虚拟机源码

    《深入解析JDK6底层C++源码与HotSpot虚拟机》 JDK(Java Development Kit)是Java编程语言的开发环境,其中包含了Java运行时环境、编译器以及各种工具。JDK6作为Java历史上的一个重要版本,其底层源码的分析对于...

    Java HotSpot虚拟机的部分参数翻译

    Java HotSpot虚拟机是Oracle公司开发的一款高性能的Java虚拟机,它是Java运行环境的重要组成部分,负责解释和优化Java代码,确保程序的高效运行。本文将深入探讨Java HotSpot虚拟机的部分参数及其作用,帮助开发者更...

    HotSpot虚拟机对象探秘-xmind脑图pdf

    《HotSpot虚拟机对象探秘》是一份详细探讨Java虚拟机内部对象创建、内存布局以及访问定位的资源。这份资料采用Xmind脑图的形式,旨在帮助读者深入理解JVM的底层原理,尤其聚焦于HotSpot虚拟机。内容涵盖对象实例化、...

    Hotspot 虚拟机源码 jdk8u

    VM是虚拟机的规范,HotSpot是jvm的具体实现。 HotSpot包括一个解释器和两个编译器(client 和 server,二选一的),解释与编译混合执行模式,默认启动解释执行。 编译器:java源代码被编译器编译成class文件(字节码...

    Java_HotSpot虚拟机的内存管理.pdf

    ### Java HotSpot虚拟机的内存管理 #### 一、引言 Java HotSpot虚拟机作为Sun Microsystems(现已被Oracle...随着技术的进步,未来的Java HotSpot虚拟机将会进一步优化内存管理机制,提供更高效、更稳定的运行环境。

    The_Java_HotSpot_Performance_Engine_Architecture

    Sun 公司不断通过制定各种工业标准和内部标准来提升 HotSpot 虚拟机的执行性能,这些改进适用于客户端和服务器端的 Java 虚拟机环境。 Java SE 平台包含了两种 HotSpot 虚拟机实现: 1. **Java HotSpot 客户端...

    JDK16-hotspot-virtual-machine-garbage-collection-tuning-guide

    JDK16-HotSpot虚拟机垃圾回收调整指南 Java平台的HotSpot虚拟机垃圾回收调整指南是Java开发人员和系统管理员不可或缺的参考手册。该指南详细介绍了HotSpot虚拟机的垃圾回收机制,包括垃圾回收算法、垃圾回收器的...

    jdk1.8 下载。 hotspot (包含源码)

    Java Development Kit(JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。JDK 1.8是Java 8版本的别称,这是一个重要的里程碑,因为它引入了许多创新特性,提升了开发...

    《HotSpot实战》

    1. **Java虚拟机概述**:HotSpot是基于Java虚拟机(JVM)的实现,它负责解析和执行Java字节码,为开发者提供跨平台的运行环境。HotSpot的主要任务包括内存管理、垃圾收集、类加载、线程管理和性能优化。 2. **...

    JVM HotSpot虚拟机 C++源码.zip

    优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人系统开发经验充足,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。...

    hotspot-jdk8u262-ga.tar.gz

    总结,深入研究JDK8u262的HotSpot虚拟机源码,不仅有助于我们理解Java运行时环境的内部机制,还能提升我们的代码优化和问题排查能力。在实际开发中,结合源码分析,我们可以更好地理解和利用HotSpot的特性,为我们的...

    Hotspot VM源码

    HotSpot正是目前世界上java虚拟机的最好的实现。 HotSpot的基础代码是许多人辛勤劳动的结晶,这个过程迄今已持续了超过10年的时间(当然时间长并不意味着一定好,一半一半吧)。所以到现在为止,他的体积是很大的。...

    hotspot1.7.rar

    Hotspot是Oracle公司开发的一款高性能的Java虚拟机(JVM),它广泛应用于Java应用程序的运行环境中。Hotspot的名字来源于它的核心特性,即能够“热点”代码检测和优化,通过即时编译(JIT)提高程序的运行效率。 ...

Global site tag (gtag.js) - Google Analytics