1  ,下载源代码  nuget

2,说明文档

http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html

2,安装 Cygwin

http://www.cygwin.com/

输入源 :

http://mirrors.163.com/cygwin/https://mirrors.163.com/.help/cygwin.html

3, 转换文件格式

find common/autoconf/ -name "*" | xargs dos2unix

bash ./configure --enable-debug --with-target-bits=64  --with-freetype=/cygdrive/c/freetype-2.9.1  --with-tools-dir="/cygdrive/C/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin"

bash ./configure --enable-debug --with-target-bits=64  --with-freetype=/cygdrive/c/freetype-2.9.1

完成

JVM VS 项目生成

https://www.jianshu.com/p/5a5eaff760dd

调试

https://www.jianshu.com/p/e85f93cc74cb

-Djava.class.path=C:\JavaCode Test1

├─agent                            Serviceability Agent的客户端实现

├─make                             用来build出HotSpot的各种配置文件

├─src                              HotSpot VM的源代码

│  ├─cpu                            CPU相关代码(汇编器、模板解释器、ad文件、部分runtime函数在这里实现)

│  ├─os                             操作系相关代码

│  ├─os_cpu                         操作系统+CPU的组合相关的代码

│  └─share                          平台无关的共通代码

│      ├─tools                        工具

│      │  ├─hsdis                      反汇编插件

│      │  ├─IdealGraphVisualizer       将server编译器的中间代码可视化的工具

│      │  ├─launcher                   启动程序“java”

│      │  ├─LogCompilation             将-XX:+LogCompilation输出的日志(hotspot.log)整理成更容易阅读的格式的工具

│      │  └─ProjectCreator             生成Visual Studio的project文件的工具

│      └─vm                           HotSpot VM的核心代码

│          ├─adlc                       平台描述文件(上面的cpu或os_cpu里的*.ad文件)的编译器

│          ├─asm                        汇编器接口

│          ├─c1                         client编译器(又称“C1”)

│          ├─ci                         动态编译器的公共服务/从动态编译器到VM的接口

│          ├─classfile                  类文件的处理(包括类加载和系统符号表等)

│          ├─code                       动态生成的代码的管理

│          ├─compiler                   从VM调用动态编译器的接口

│          ├─gc_implementation          GC的实现

│          │  ├─concurrentMarkSweep      Concurrent Mark Sweep GC的实现

│          │  ├─g1                       Garbage-First GC的实现(不使用老的分代式GC框架)

│          │  ├─parallelScavenge         ParallelScavenge GC的实现(server VM默认,不使用老的分代式GC框架)

│          │  ├─parNew                   ParNew GC的实现

│          │  └─shared                   GC的共通实现

│          ├─gc_interface               GC的接口

│          ├─interpreter                解释器,包括“模板解释器”(官方版在用)和“C++解释器”(官方版不在用)

│          ├─libadt                     一些抽象数据结构

│          ├─memory                     内存管理相关(老的分代式GC框架也在这里)

│          ├─oops                       HotSpot VM的对象系统的实现

│          ├─opto                       server编译器(又称“C2”或“Opto”)

│          ├─prims                      HotSpot VM的对外接口,包括部分标准库的native部分和JVMTI实现

│          ├─runtime                    运行时支持库(包括线程管理、编译器调度、锁、反射等)

│          ├─services                   主要是用来支持JMX之类的管理功能的接口

│          ├─shark                      基于LLVM的JIT编译器(官方版里没有使用)

│          └─utilities                  一些基本的工具类

└─test                             单元测试

http://hllvm.group.iteye.com/group/topic/26998

常见错误

1,

Vi 下显示

^M

VS 看到的

2,VS 2010用英文的  ,用中文的有些问题,没深究,换也英文的

参考:

http://www.cnblogs.com/lighten/p/5906359.html

https://my.oschina.net/langxSpirit/blog/1624428

Build OpenJdk的更多相关文章

  1. Tilera 服务器上OpenJDK的安装尝试

    一.起因 这两天比较有意思,客户那里的代码遇到了一个jvm的bug崩溃了,所以老板让我升级JVM,这是一个处理器架构和x86不同的处理器,我改怎么安装呢? 我百度了OpenJDK,并且按照http:/ ...

  2. 乘风破浪,Java遇见OpenJDK GA(Build By Microsoft),即将晋升为Azure云管理服务默认JVM

    什么是Microsoft Build of OpenJDK Java Development Kit (JDK) 是Sun公司(已被Oracle收购)针对Java开发员的软件开发工具包.自从Java推 ...

  3. CentOS 6.5移除openJDK及JDK安装环境变量配置及JDK版本切换

    一.查找已经安装的open JDK [root@localhost ~]# rpm -qa|grep jdk java--openjdk-.el6_3.x86_64 java--openjdk-1.7 ...

  4. OpenJDK 编译-Linux环境

    说明:笔者是在Ubuntu 16.04虚拟机中编译 OpenJDK 8 源码下载 http://download.java.net/openjdk/jdk8/ 推荐直接下载openjdk-8-src- ...

  5. Linux服务器oraclejdk与openjdk共存并配置JavaEE开发环境

    由于本人学业的需要,需要在linux中搭建JavaEE开发环境,与windows的同学协同开发. JDK 由于fedora默认使用openjdk,移除多多少少会出现点问题,由于很多开源软件默认使用到它 ...

  6. Linux 下编译openjdk

    操作系统ubuntu14.04 openjdk版本 7u4 openjdk7u4可以在https://jdk7.java.net/source.html下载   一.构建编译环境 sudo apt-g ...

  7. centos7删除自带openjdk

    一些开发版的centos会自带jdk,我们一般用自己的jdk,把自带的删除.先看看有没有安装java -version [root@java-test-01 ~]# java -version ope ...

  8. openjdk 完全编译指南

    从openjdk.java.net下载openjdk的软件包,你就获得了所有相关的源码. 强烈建议首先仔细看懂 README-builds.html 指南. 在执行 make all 之前,首先要 执 ...

  9. CentOS卸载OpenJDK并安装Sun JDK

    第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java versi ...

随机推荐

  1. MFC连接MySQL

    其实,以前弄过sql,mysql应该是顺理成章很简单的事情,但很无奈,傻傻地弄了很久,还请教了别人,别人告诉我的跟我在网上查到的都是一样的,但还是不行,归根接地就是“mysql-connector-o ...

  2. s5-1 CPU调度

    基本概念 通过多道程序设计得到 CPU 的最高利用率 (CPU-- I/O 脉冲周期 - - 进程的执行包括进程在 CPU 上执行和等待 I/O ) 进程的执行以 CPU 脉冲开始,其后跟着 I/O ...

  3. s5-14 链路状态路由选择

    为什么DV逐渐让位于LS? DV  站的不高,看得不远  完全相信邻居 LS  想办法站得高,看更远  多高.多远?  怎么做? 链路状态路由(Link State) 主要思想 发现 它的邻 ...

  4. int -2147483648 ----- 2147483647

    int最大值+1为什么是-2147483648最小值-1为什么是2147483647   今天一个新手学编程就问到这个问题,很多人第一次学编程肯定会遇到这个问题,大部分都知道是溢出之类的,用源码和补码 ...

  5. nginx proxy_pass后的url加不加/的区别

    在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走. 下面四种 ...

  6. HTTP 错误 404.17 - Not Found和 HTTP 错误 404.2 - Not Found 解决办法

    HTTP 404.2 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决办法: 使用aspnet_regiis.exe注册.NET Fr ...

  7. iptables简单应用

    可以修改/etc/rc.d/boot.local让规则重启后也能生效,如: /sbin/iptables -F /sbin/iptables -A INPUT -i eth0 -p tcp --spo ...

  8. 工作中的小tips(持续更新)

    1.在工作的时候一定要留下痕迹,这样即使乙方抵赖,或者说领导认为你没干活的时候留下证据(电话没有微信,邮件之类的文字类有效果) 2.每天晚上下班之前将一天的工作总结一下,把第二天的工作给罗列出来,以方 ...

  9. 协程之gevent

    迭代器:     一个实现了__iter__方法和__next__方法的对象,就是迭代器. 生成器:     生成器是一类特殊的迭代器     简单来说:只要在def中有yield关键字的 就称为 生 ...

  10. shell脚本-成长之路

    我对shell脚本的认识,除了执行过同事写的shell 脚本外,其他一无所知,为了让自己强大,我决定自己研究shell脚本,也许在你看来很简答,没必要说这么多废话,但是我希望在我的技术log里记录下来 ...