2.如何使用导航和取得进步?
在黑客日和讲习班开始之前我需要做些什么呢?
来之前你应该准备好你的笔记本电脑并搭建好当天需要的环境:
- 检查硬件要求/操作系统/软件要求
- 下载支撑软件
- 搭建或者下载虚拟机
- 搭建或者下载Docker镜像
- 检查虚拟机和Docker镜像是否正常工作
- 检查OpenJDK是否正常工作
在“参加黑客日和讲习班之前应该如何准备”中查看对于以上几点的详细解释。如果这个对你来说不适用或者你已经完成了这些工作,那么请看下面的部分。
活动当天如何在你的机器上搭建环境?
看完“参加黑客日和讲习班之前应该如何准备”之后,请看“活动当天如何在你的机器上搭建环境”。如果这个对你来说不适用或者你已经完成了这些工作,那么请看下面的部分。
- 我是学生/初学者,对Adopt OpenJDK一点都不熟悉,希望学习,以前从未参加过OpenJDK黑客日,我该如何开始?
请看“初等级别”中的步骤 - 我是学生/专业人士,对Adopt OpenJDK不是很熟悉,以前参加过OpenJDK黑客日,我该从哪里继续?
请看“中等级别”中的步骤 - 我是专家/专业人士,对OpenJDK黑客日很熟悉,对相关技术/Java/JVM/OpenJDK非常熟悉,我能从你们这里得到哪些好处?请看“高等级别”中的步骤
我在家有充裕的时间和带宽,我该如何利用?或者说参加完黑客日和讲习班后我应该做什么。
请看“利用你的时间去学习的最好方法”。
我有一些想法而且我希望分享,并且希望对这本书有所贡献?
请看“如何对这本书做出贡献”
2.1. 初等级别
我是学生/专业人士,对Adopt OpenJDK不是很熟悉,以前参加过OpenJDK黑客日,我该如何开始?
“Adopt OpenJDK – 入门指南” – 简单地阅读一下这些网页和子网页,当你在家的时候或者空闲的时候认真阅读。
“虚拟机” – 浏览这些网页并根据带宽和时间来建立和下载虚拟机。或者向辅助商(请在相关网页查看更详细的说明)索取虚拟机镜像。
“建立你自己的OpenJDK” – 浏览这个部分并用你通过前面几个步骤中搭建好的虚拟机来搭建不同版本的OpenJDK。
接下来请看“中等级别”
2.2. 中等级别
我是学生/专业人士,对Adopt OpenJDK不是很熟悉,以前参加过OpenJDK黑客日,我该从哪里继续?
•“搭建你自己的虚拟机”或“搭建你自己的轻量级虚拟机”然后看“在Host 与 Guest VM 之间共享文件”最后看“源代码”。
•如果想获取OpenJDK目录和文档结构的概览,请看“各个OpenJDK的文档结构”
•请先试一试“改变Random.java类”。
•在进行下一步之前请先阅读“如何使用JTReg… – JAVA回归测试工具”来了解JAVA的回归测试框架
•接着试试“改变StringBuffer.java类来添加一个新的方法”
•看看“OpenJDK项目”和“Adopt OpenJDK项目”
•“测试JAVA早期项目”
•“OpenJDK项目代码分析”和“OpenJDK代码覆盖率”(有趣)
•“补丁 – 如何创建和提交他们” – 如何创建补丁和提交给OpenJDK小组
•看一下“OpenJDK漏洞数据库 (JIRA)”
•“OpenJDK9 – jimage ”(有趣)
•最后请看“高等级别”
2.3.高等级别
我是专家/专业人士,对OpenJDK黑客日很熟悉,对相关技术/Java/JVM/OpenJDK非常熟悉,我能从你们这里得到哪些好处?
•”构建性能优化的命令行参数”
•好好看看“高级阶段”吧。
•最后如果你已经完成了上述步骤,看下“目录”,看看还有哪些你没有看的。
2.4. 有空有带宽
我在家有充裕的时间和带宽,我该如何利用?或者说参加完黑客日和讲习班后我应该做什么。
好好看看下面这几个部分吧:
•“Adopt OpenJDK 入门指南”
•“虚拟机”
•“二进制”
如果你完成了,看看“目录”然后还有没有你没有看过的
2.5. 如何对本书做出贡献
通过GitBook
在Gitbook.com上建立账户,申请成为Adopt OpenJDK GitBook的合作者
一些说明文档和如何安装GitBook应该会对你有帮助
通过GitHub
1.建立一个分支,浏览这个网站来看如何建立分支:
https://github.com/neomatrix369/adoptopenjdk-getting-started-kit#fork-destination-box
2.把你的版本复制到你的工作空间里
git clone git@github.com:{YOUR_GITHUB_ACCOUNT}/adoptopenjdk-getting-started-kit.git
3.添加Upstream
git remote add –track master upstream git://github.com/neomatrix369/adoptopenjdk-getting-started-kit.git
现在你就可以修改原是仓库中你的分支了 git fetch upstream和 git merge upstream/master
1.提交修改后的文件
git addgit commit -am "meaningful description about your changes"
2.推送文件 git push
3.建立一个pull请求,在GitHub中查看你的仓库:https://github.com/{YOUR_GITHUB_ACCOUNT}/adoptopenjdk-getting-started-kit/pulls点击New Pull Request按钮来新建
如何确认本书的修改
我们在repo的根文件夹中有两个脚本,可以产生哪里发生了改变的标记页,像这样。
生成哪里发生了改变的标记的脚本叫做 whatsChanged.sh和whatsChangedForAllLanguages.sh
请随意改进,以便使它能够持续不断地发挥它的作用甚至变得更好。
2.6. 参加黑客日和讲习班之前应该如何准备?
注:如果你遇到问题请参考“Known issu”,如果在那里无法找到解决方法,请“Contribute to this book”或者“报告给我们”。
硬件要求/操作系统/软件要求
以下是创建和使用虚拟机的硬件要求:
64-bit CPU running (> 2.0 Ghz)
64-bit OS (Linux, MacOS, Windows)
20-25 GB free disk space minimum
4-8 GB RAM minimum
平台/软件要求:
VirtualBox installed
Java 7 and 8 installed*
Vagrant installed
Docker installed (可选)
Boot2Docker installed(可选)
*取决于你是在本地构建OpenJDK 还是在虚拟机或者Vagrant或者Docker,你需要将它下载到虚拟机或者本机中
其他要求:
了解Java
了解如何创建系统, maven, git, 等…
Linux和bash的一些经验
关于OpenJDK的一些知识
关于vagrant (可选,除非你将要使用这项技术来工作)的一些经验
docker(可选,除非你将要使用这项技术来工作)的一些经验
下载支撑软件
VirtualBox (用来载入虚拟机): https://www.virtualbox.org/
Java (安装在虚拟机中): http://www.oracle.com/technetwork/java/javase/
Vagrant (用来启动vagrant boxes) https://www.vagrantup.com/
可选
Docker: https://docs.docker.com/installation/#installation
Boot2Docker: http://boot2docker.io/
IntelliJ: https://www.jetbrains.com/idea/
Eclipse: https://eclipse.org/
Netbeans: https://netbeans.org/
SonarQube: http://www.sonarqube.org/
下载和复制做好的虚拟机
下载下列虚拟机 – Ubuntu 12.04 VM with OpenJDK9 (jigsaw) with Sources and IntelliJ:
https://copy.com/tA0l06zDrJNNDKVL
帐号: openjdk
密码: openjdk123
你也可以通过移动硬盘将虚拟机镜像拷贝到本地磁盘
加载镜像可以通过 File | Import Appliances… VirtualBox main menu.
在本地或者云中创建OpenJDK
在“Building OpenJDK 9”中查看如何在运行在你电脑甚至是云里的操作系统(如Linux, MacOS或Windows)中构建OpenJDK
验证安装和环境
在你的本机或者虚拟机中,进入openjdk*文件夹,然后运行以下命令(见Build OpenJDK 9):
*openjdk – sources/jdk9 or dev/jdk9_dev
作为虚拟机,你可以下载或复制Vagrant boxes或Docker image,已经有创建好的镜像,你可以在讲习班继续使用无需修改基于代码的更新并重新编译。
bash get_source.sh
因此请不要在vagrant box或Docker containers虚拟机中运行上面的命令。因为这会导致等待镜像完成编译或者有时候编译中断,这会需要大量的投入和修复工作。
所以应该运行以下两段命令:
bash configure –disable-warnings-as-errors
make images
注:请同样避免 ‘make clean images’ 命令,除非真的必要,否则将需要等待到整个编译过程完成。
如果以上命令中的任何一个失败,那么OpenJDK环境
最后
完成后请进入“How to navigate and make progress ? ”,顺着流程进入下一步。
对于那些能够顺利完成以上步骤并且想了解Vagrant和Docker脚本的有经验的用户,可以查看“ Additional pre-hackday actions for experienced attendees”。
2.7. 有经验的参加者的额外动作
建立你自己的虚拟机
注:你需要很好的带宽来下载文件以及大量的时间来创建。不是通过wifi连接完成。
“Build your own VM ”
“Build your own light-weight VM”
检查虚拟机
将虚拟机载入VirtualBox
启动虚拟机
在虚拟机中运行一些程序
关闭虚拟机
下载/复制Docker镜像
一旦镜像下载完成,可以在不同的设备之间复制,详情见”Copy Images”
或者
创建镜像
在Docker images下的“Build Images”里查看
检验安装和环境
启动虚拟机或者Docker Container,进入jdk8或jdk9所在文件夹,运行以下命令:
bash configure
make clean images.
如果他们中的任何一个运行失败了就说明环境没有设置正确或者创建过程在OpenJDK master中中断
最后
完成后请进入“How to navigate and make progress ? ”,顺着流程进入下一步。
2.8. 当天如何设置你机器中的环境
注:如果你遇到问题请参考“Known issu”,如果在那里无法找到解决方法,请“Contribute to this book”或者“报告给我们”
在本地或者云中创建OpenJDK
注:除非你有很高的网络带宽,否则请不要尝试在本地创建OpenJDK
你无需复制任何东西,只需要在云服务提供商(如亚马逊或其他提供者)那里注册一下。
实例化一个运行你选择的系统的box,然后按照“Adopt OpenJDK Build Instruction”中提到的步骤(我们推荐Linux发行版如Ubuntu或Fedora或Centos)
在Virtualbox虚拟机中创建OpenJDK
将下列文件从移动设备中复制到你的机器
VirtualBox for Ubuntu/[binaries]
or
VirtualBox for MacOS/[binaries]
or
VirtualBox for Windows/[binaries]
OpenJDK VM Images/OpenJDK9_Jigsaw_vm
or
OpenJDK VM Images/OpenJDK VM with no IDE support
or
OpenJDK VM Images/OpenJDK VM with Eclipse
OpenJDK VM Images/OpenJDK VM passwords.txt
安装VirtualBox
运行VirtualBox (Oracle VirtualBox)
导入各自的虚拟机(不要创建新的VirtualBox设置)
启动虚拟机
最后进入“Building OpenJDK 9”这个章节
在Vagrant script创建的虚拟机中创建OpenJDK
将下列文件从移动设备中复制到你的机器: Vagrant/. Vagrant/openjdk-vagrant-images Vagrant/[binaries]
安装Vagrant并确保其在各自的环境中正常工作
解压Vagrant文件夹中的.tar.gz文件
阅读README.md来了解各个脚本文件是做什么的
确定之后使用这些脚本
注:不要通过执行Vagrantfile来创建镜像 – 这需要很长时间已经很高的网络带宽
注:没有针对Windows的脚本(欢迎贡献)
在Docker script创建的容器中创建OpenJDK
将下列文件从移动设备中复制到你的机器:
Docker/*.*
Docker/OpenJDK9
Docker/OpenJDK9-baseimage
安装Docker(和Boot2Docker)并确保其在各自的环境中正常运行
阅读README.md来了解各个脚本文件是做什么的
确定之后使用这些脚本
用loadImageToFile.sh脚本来加载docker镜像到你本地的仓库
注:不要通过执行Dockerfile 来创建镜像 – 这需要很长时间已经很高的网络带宽
注:没有针对Windows的脚本(欢迎贡献)
最后
完成后请进入“How to navigate and make progress ? ”,顺着流程进入下一步。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/117957.html