当前位置: 首页 > 网络应用技术

教您建造,调试,开发Java虚拟机

时间:2023-03-08 00:55:32 网络应用技术

  Java虚拟机是Java开发人员最常用的平台。了解操作原则可以帮助我们成为更好的开发人员,并更快地遇到问题。对于许多虚拟机知识点,大多数人通常通过阅读或文章了解相关的知识。不利的是,知识已经通过了两个信息理解和传播,这是一个知识,可能会导致信息不准确,因此为什么不探索自己实施虚拟机的原理。知道您经常使用的工具原理,很容易更好地使用工具,就像知道轮胎更好的赛车手可以更好地驾驶汽车和驾驶汽车和对花盆和厨刀有更多了解的厨师可以发展更好的烹饪技巧。了解虚拟机的最直接方法是构建,调试和开发它!

  OpenJDK的代码在Mercurial中,慢慢下载。我们可以在GitHub上使用Mirror。在这里,我们选择一个相对较新的JDK14分支。有更多代码,下载时间将稍长。

  为了构建虚拟机和调试调试,需要编译代码。

  编译依赖项Xcode,只需通过appstore.com搜索和下载jdk需要较低版本的JDK作为启动JDK。对于JDK14,首先访问JDK官方网站下载并安装JDK13

  然后安装一些汇编所需的相关软件包

  取得成功

  从构建中验证热JDK

  OpenJDK中的代码包含Java(JDK各种JAR包)和C ++(热点虚拟机零件)。本文主要用于热点部分。现代IDE是阅读,开发和调试代码的好工具。这是Jetbrains(也开发Intellij Idea)提供的CLION。

  打开CLION后,选择文件 - >新的CMAKE项目。符号表等,等待加载。加载后,单击热点|在CLION的右上角进行调试,添加新的配置。

  单击配置自定义构建目标,然后单击添加目标。

  名称设置为构建OpenJDK,单击“构建”的右侧...创建外部工具,单击左下角的数字,创建一个工具,名称,程序填充,工作目录,保存。

  然后在“运行/调试配置”页面中,目标选择刚刚创建的目标。可靠从构建中选择JDK Java文件,即JDK14U/build/macoSX-x86-server-slowdebug/bin/java,-layer directory.program参数暂时填写-version.fin,单击“应用” OK保存。

  然后单击调试

  几次断点后,您可以看到熟悉的Java -version的结果

  我们只是打开几个CPP文件,发现其中有很多红色技巧,因此我对我不是一个痴迷的脉冲障碍感到有些不舒服。解决方案。这里的主要原因是一些代码路径问题。我们修改cmakelists.txt,首先添加这些行,然后单击“重新加载更改”。大多数代码都是正常的。如果您遇到其他事情,则可以以类似的方法解决它。即使是红色提醒,大多数代码也可以跳起来。

  在这里,我们对代码进行了一些简单的修改并验证修改过程。查看有关执行Java -version,Abstract_vm_version.cpp的相关代码,并在当前不熟悉的C ++语言中打印一个Hello World。再次调试按钮。

  根据JDK版本,编译主机环境不同。上述步骤可能会遇到其他一些问题,但是解决问题的定位问题和方法仍未改变。

  上一部分是OpenJDK的编译,调试和开发的简单过程。最好通过钓鱼给人们钓鱼。使用这些方法,检查实现并检查问题可能更方便。但最终,我们还必须提醒所有人保持其原始意图,不要沉迷于底层,不要盲目地崇拜和发展虚拟机器。

  每当有人告诉我编译器是不可预测的,但是对此渴望,我都会给他一个类比:制作编译器就像餐饮刀一样。铁匠不知道如何使用这把厨房来制作多次,使人们感到精神焕发,米其林级别的菜肴,因为这是厨师的作品。这是您自己选择食物或铁的选择。