当前位置: 首页 > news >正文

IDEA中.java .class .jar的含义与联系

当使用IntelliJ IDEA这样的集成开发环境进行Java编程时,通常涉及.java源代码文件.class编译后的字节码文件以及.jar可执行的Java存档文件


1. .java 文件:

1.这些文件包含了Java源代码,以文本形式编写。它们通常位于项目中的源代码目录中。
2.在IntelliJ IDEA中,你可以创建、编辑和组织这些.java文件。这是你编写应用程序逻辑的地方。
3.例如,在IDEA中创建一个简单的Java类HelloWorld.java:

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, world!");}
}

2. .class 文件:

1.当你在IDEA中编写并保存.java源文件时,IDEA会自动将其编译成.class文件。这些文件包含了Java源代码编译后的字节码。
2.默认情况下,编译生成的.class文件会存储在项目的输出目录中(如out或target目录)。
3.以上示例中的HelloWorld.java在编译后生成HelloWorld.class文件。

3. .jar 文件:

1..jar文件是Java应用程序的存档文件,它包含了编译后的.class文件、资源文件和其他必要的内容。
2.在IDEA中,你可以使用构建工具(如Maven或Gradle)或IDEA自身提供的功能来打包项目生成.jar文件。
3.例如,通过IDEA的“Build”功能或使用Maven构建插件,你可以将项目编译后的.class文件打包成一个可执行的.jar文件,这样其他人就可以运行你的程序。

联系和工作流程:

1.IDEA通过编写、编辑和保存.java文件来创建Java源代码。
2.一旦你保存.java文件,IDEA会自动编译它们成.class文件。
3.这些.class文件最终被打包成.jar文件,以便在其他环境中运行和分发你的应用程序

举个例子,假设你有一个包含HelloWorld.java的项目。在IDEA中编辑和保存这个文件后,IDEA会在项目的输出目录生成HelloWorld.class文件。然后,你可以使用IDEA的构建工具将这个.class文件打包成HelloWorld.jar文件,从而创建一个可执行的Java存档文件。
这种工作流程使得你能够在IDEA中开发、编译和打包Java应用程序,方便地分享和部署你的代码。

上课讲的:

IDEA的好处 IDEA可以反编译出源码, 也就是将.class文件自动转换为.java文件 这样就不需要导入源码了!!!

方法一定在jar包里

.java->.class->编译好了以jar的形式存在

相关文章:

  • iptables(二)
  • Vue.delete
  • 面向对象中的单例模式
  • 智能优化算法应用:基于蚁狮算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 一文说清google最新大模型Gemini
  • 常见位运算的公式大全(建议收藏,以防走丢)
  • 人工智能技能要求
  • 基于Java个人作品管理系统
  • Plantuml之类图语法介绍(十六)
  • 低多边形游戏风格3D模型纹理贴图
  • 爱智EdgerOS之深入解析如何应用爱智的视频流模块完成拉流
  • tf.debugging 模块介绍
  • 网络规划的组成
  • scikit-learn实现线性回归
  • Zabbix自定义飞书webhook告警媒介2
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 2018一半小结一波
  • Angular2开发踩坑系列-生产环境编译
  • export和import的用法总结
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Java程序员幽默爆笑锦集
  • Node + FFmpeg 实现Canvas动画导出视频
  • Object.assign方法不能实现深复制
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • spring security oauth2 password授权模式
  • Webpack 4x 之路 ( 四 )
  • 测试开发系类之接口自动化测试
  • 警报:线上事故之CountDownLatch的威力
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 微服务入门【系列视频课程】
  • 正则表达式小结
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ###项目技术发展史
  • #include到底该写在哪
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (LeetCode) T14. Longest Common Prefix
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (一)80c52学习之旅-起始篇
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net mvc总结
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .Net6 Api Swagger配置
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .NET业务框架的构建
  • // an array of int
  • @EnableAsync和@Async开始异步任务支持
  • @JsonSerialize注解的使用
  • [100天算法】-不同路径 III(day 73)
  • [16/N]论得趣