千家信息网

如何用OpenJDK源码执行HelloWorld

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章将为大家详细讲解有关如何用OpenJDK源码执行HelloWorld,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java中用命令行执行Hel
千家信息网最后更新 2025年12月03日如何用OpenJDK源码执行HelloWorld

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

java中用命令行执行HelloWorld

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

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

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

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

/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

运行如下图所示:

Clion中运行java代码

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

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

JVM执行Java代码

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

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

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

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

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

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

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

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

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

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

方法 运行 命令 代码 源码 内容 类型 参数 文章 是在 更多 知识 程序 篇文章 输出 不错 一行 中用 函数 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 额温枪软件开发过程 软件开发 监理用表 阴阳师手游国际服怎么改服务器 广州软件开发驻场如何收费 wps快速生成表格数据库 网络暴力违反网络安全法的案例 搭建本地文件服务器 网络安全院士有哪些 数据库视图怎么设置时间权限 移动互联软件开发的职业要求 银行业网络安全宣传周 通信网络安全生产 邮件群发服务器搭建 用户管理服务器有哪些 sql数据库培训学校 对网络安全认识和理解作文 合肥学软件开发学校有哪些 软件开发工期保证措施方案 计算机网络技术的职业类型 数据库一次插入两条 数据库约束唯一约束代码 数据库的表设计器显示只读 列举自己所了解的网络安全 软件开发合同管辖权 塔科夫如何自己搭建服务器 产品的软件开发材料 逻辑关联数据库表 面试英文软件开发版自我介绍 向数据库加入数据的代码 上海专业软件开发代理商
0