如何用OpenJDK源码执行HelloWorld

发布时间:2021-10-23 15:57:26 作者:柒染
来源:亿速云 阅读:245

这篇文章将为大家详细讲解有关如何用OpenJDK源码执行HelloWorld,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

java中用命令行执行HelloWorld

平时我们在运行java程序时, 一般有两种选择, 1是在服务器上直接用java -jar 命令来运行程序, 2是在idea中直接点击运行/debug,如下图所示:

如何用OpenJDK源码执行HelloWorld

那如果某一天,我们脱离了idea, 要用命令行来运行这个呢?

其实idea已经帮我们生成了,如下图第一行所示

如何用OpenJDK源码执行HelloWorld

我们从上截取出如下内容,然后复制到命令行中,就可以运行了

/Users/lixiang/soft/jdk-11.0.2.jdk/Contents/Home/bin/java   -Dfile.encoding=UTF-8  -classpath /Users/lixiang/code/tools/tools-java/out/production/classes com.platform.tools.jvm.Main

运行如下图所示:

如何用OpenJDK源码执行HelloWorld

Clion中运行java代码

在Clion中运行java代码,主要是前面的java命令,用我们自己编译的, 然后后面的参数等直接复制就可以了,如下图所示:

如何用OpenJDK源码执行HelloWorld

然后点击运行,就可以在ClionDebug面板中, 看到如下所示我们的java代码输出

如何用OpenJDK源码执行HelloWorld

JVM执行Java代码

这里我们要接着昨天的版本号输出继续往后讲,在java.c文件508行,可以看到加载main函数所在的类

如何用OpenJDK源码执行HelloWorld

点进去之后,可以看到. 实际上还是请求的java里面的类,如下图所示:

如何用OpenJDK源码执行HelloWorld

1,去找到这个类点进去之后可以看到是这个类sun/launcher/LauncherHelper

2,去找到上面那个类中的checkAndLoadMain这个方法

3,这个方法有Z(布尔值),I(整数类型),String 类型的入参

4,这个方法的返回值是Class类型

根据这个条件,我们可以在Idea中找到如下方法

如何用OpenJDK源码执行HelloWorld

然后我们一路跟踪下去, 可以看到,最终到了ClassLoader.java 中的defineClass1这个native方法,native方法和jdk源码的对应我们后面再一起学习.

如何用OpenJDK源码执行HelloWorld

LoadMainClass() 方法之后, 我们可以看到CreateApplicationArgs 创建应用的参数方法,去寻找Main方法,执行Main方法,如下所示:

如何用OpenJDK源码执行HelloWorld

关于如何用OpenJDK源码执行HelloWorld就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. CentOS 卸载OpenJdk
  2. 如何用源码分析Compile

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

openjdk helloworld

上一篇:如何快速理解C ++中的运算符重载

下一篇:如何解决高并发下重启服务接口调用老是超时的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》