6、Java 9 代码编译、打包与运行全流程解析

Java 9 代码编译、打包与运行全流程解析

1. 编译源代码

编译是将源代码转换为一种特殊二进制格式(字节码)的过程。在 Java 中,使用 JDK 自带的 javac 程序来完成这一任务。以下是编译 Java 源代码的详细步骤:

1.1 编译过程概述

我们将 Welcome.java 和 module-info.java 作为输入提供给 Java 编译器,编译器会生成两个扩展名为 .class 的文件,这些文件被称为类文件,其格式为字节码,是 Java 虚拟机(JVM)的机器语言。

1.2 示例代码及编译步骤

假设在 Windows 系统下,两个源文件的保存路径如下:
- C:\bj9f\src\jdojo.intro\module-info.java
- C:\bj9f\src\jdojo.intro\com\jdojo\intro\Welcome.java

具体操作步骤如下:
1. 打开命令提示符,将当前目录更改为 C:\bj9f 。此时命令提示符应显示为:

C:\bj9f>
  1. 使用 javac 命令进行编译,其语法为:

        

相关推荐

java编译器和运行环境

关于 Java 编译器和运行环境,围绕编译过程、JVM 结构、垃圾回收、类加载机制等展开。

time_silence的博客 846

Android APK打包全流程解析与优化实践

APK打包是Android开发中的核心技术环节,涉及编译、资源处理和签名等关键步骤。Gradle构建系统作为现代Android开发的标准工具链,通过Android Gradle Plugin(AGP)实现自动化构建流程。理解aapt2资源编译、D8/R8代码优化、以及V2签名等底层原理,能有效解决构建失败、渠道包定制等实际问题。在工程实践中,结合productFlavors实现多渠道打包,配合ProGuard代码混淆和资源压缩,可显著提升APK安全性和发布效率。本文以Gradle构建系统为核心,详解从基础配

weixin_30417487的博客 393

Java 9 新特性解析与代码示例

Java 9是Java平台的一次里程碑式升级,其核心是通过Project Jigsaw引入模块化系统,解决了JRE膨胀和依赖混乱的“JAR地狱”问题,实现了强封装和轻量级运行时。此外,它还带来了JShell交互式编程、私有接口方法、Try-with-resources语法优化、现代化的HTTP/2客户端(孵化器)和增强的Process API等实用特性。这些变革不仅提升了开发效率和系统安全性,更奠定了Java向云原生和微服务时代演进的基础,是Java现代化进程的起点。

寒水馨 · 轻量级技术文档 · hanshuixin.org 453

9、Java编程基础:从项目运行到模块系统的全面解析

本文详细解析了Java编程的基础知识,涵盖从项目运行设置、Java编译与运行机制到模块系统的全面内容。文章介绍了如何在NetBeans中打开项目,深入探讨了字节码的生成与平台独立性原理,解析了JVM和Java API的运行机制,并对JDK 9模块系统进行了全面讲解,包括模块依赖、模块路径、命令行操作等。最后提供了丰富的练习题及详细解答,帮助读者巩固Java核心基础。

sql99的博客 65

Apache Tomcat6 源码编译与部署指南

本文还有配套的精品资源,点击获取 简介:本指南深入探讨了Apache Tomcat6编译过程中的核心知识点,包括如何获取源码、配置编译环境、执行编译步骤及部署运行。读者可掌握从源码编译到服务器部署的完整流程,以及通过编译了解Tomcat内部结构和进行定制优化的能力。 1. Apache Tomcat6概述与版本历史 在如今的Java Web应用世界中,Apa...

weixin_32242475的博客 1129

PIN限幅二极管在接收机中的应用

本文介绍了接收机保护限幅器的工作原理及应用,重点阐述了PIN二极管在雷达收发机中的关键作用。文章指出,限幅器能有效保护接收机灵敏元件免受大功率信号损害,主要通过反射而非耗散功率来实现保护功能。文章详细分析了PIN二极管的层结构特性及其阻抗变化机制,解释了多级限幅器的设计原理(包括清理级和粗限幅器的配合使用),并介绍了通过添加检波二极管降低阈值水平的方法。最后指出,实际应用中限幅器通常采用3级或更少的设计。

weixin_49761275的博客 2377

随机森林模型及案例(Python)

1 集成模型简介 集成学习模型使用一系列弱学习器(也称为基础模型或基模型)进行学习,并将各个弱学习器的结果进行整合,从而获得比单个学习器更好的学习效果。 集成学习模型的常见算法有Bagging算法和Boosting算法两种。 Bagging算法的典型机器学习模型为随机森林模型,而Boosting算法的典型机器学习模型则为AdaBoost、GBDT、XGBoost和LightGBM模型。 1.1 Bagging算法简介 Bagging算法的原理类似投票,每个弱学习器都有一票,最终根据所有弱学习器的投

qq_42433311的博客 4万+

轻量级替代方案:用AIFlowy + Ollama在本地快速搭建一个可用的AI智能体平台

本文介绍了如何使用AIFlowy和Ollama在本地快速搭建轻量级AI智能体平台,涵盖从环境准备到智能体集成的全流程。通过简化部署步骤和优化性能,15分钟内即可完成搭建,适用于原型验证和小团队协作,显著提升开发效率。

weixin_29207533的博客 223

【GPIO模拟串口通信协议】

由于这段时间搞了个安卓相关的项目,需要和安卓进行Uart通信。但是选用的芯片并没有自带uart功能,所以在充分评估项目后,考虑波特率不高的情况下,决定使用GPIO去模拟串口通信协议了。

学海无涯苦作舟 2638

保姆级教程:在S32K312上配置C40驱动,实现Flash读写(基于RTD 4.4.2)

本文详细介绍了在S32K312微控制器上配置C40驱动实现Flash读写的全流程,基于RTD 4.4.2库。内容涵盖环境搭建、外设配置、Flash操作实战代码及高级应用场景,特别针对LLD驱动和FLS存储操作中的常见问题提供了解决方案,帮助开发者快速掌握嵌入式Flash存储技术。

weixin_28684757的博客 260

国科大学习资料--模式识别与机器学习(黄庆明)--2020期末考试题

国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 ============================================================================================================================================================

无名何许人的博客 2608

NPU性能榨取手把手教程:RK3588上YOLOv5s多线程部署与120FPS极限探索

RK3588 YOLOv5s多线程部署优化指南 本教程深入解析RK3588芯片上YOLOv5s模型的高性能多线程部署方案。RK3588作为瑞芯微旗舰AIoT芯片,内置三核NPU(6TOPS算力)和硬件加速器(RGA/VPU),为AI推理提供强大支持。通过线程池技术,我们将视频处理的读取、推理、后处理等环节解耦并行,显著提升系统吞吐量。教程详细介绍了从PyTorch到RKNN格式的模型转换流程、INT8量化方法,以及基于RKNN C++ SDK的YOLOv5推理核心实现,帮助开发者最大化发挥RK3588的AI

LXY_LOVE36的博客 974

《四》:LBE,VR 大空间系列——Pico的空间扫描方式

(这里有个选项叫高精度扫描模式,这个功能在下方详细补充)系统会根据绘制的顶点,将区域分割成若干个4X4米的小方格,我们只需要根据提示,首先进入一个方格子空间内部,然后依次凝视每个区域上下左右前后六个面的小方格组,每一面4个,直至全部消失, 消失后地面会出现一个方形行走路径,我们沿着边缘正或反走一圈即可,完成后此块区域即自动消失。不过由于pico有一个高精度扫描圈,如图加粗的圆环,这个圆环的意思是在在内部的区域扫描精度较高,越远离原点的区域误差越大,所以为了更有效的利用,建议原点设置在场地中心区域。

unitygroup的博客 2888

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 3、探索生物启发认知架构中的核心概念与应用
下一篇: 7、Java 9 模块系统:使用与实践
sql99
博客等级 码龄19年 168粉丝 1905原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值