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的形式存在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/210278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苍穹外卖项目笔记(8)— 缓存商品、购物车功能

前言 代码链接: Echo0701/take-out⁤ (github.com) 1 缓存菜品 1.1 问题说明 【注】很多时候系统性能的瓶颈就在于数据库这端 1.2 实现思路 通过 Redis 来缓存数据,减少数据库查询操作 【注】Redis 基于内存来保存数据的,访问 Redis 数据…

LeetCode208.实现Trie(前缀树)

我一开始想题目叫前缀树,是要用树吗?但是不知道用树怎么写,然后我就花了10多分钟,用了HashMap解了。map的key是word,value是一个放了word的所有前缀的set,这样search方法就非常简单了,只要看has…

Leetcode—2048.下一个更大的数值平衡数【中等】

2023每日刷题&#xff08;五十四&#xff09; Leetcode—2048.下一个更大的数值平衡数 实现代码 class Solution { public:int nextBeautifulNumber(int n) {for(int x n 1; ; x) {vector<int> cnt(10, 0);for(int y x; y > 0; y / 10) {cnt[y%10];}bool ok tru…

C++ Div3、Sqrt 函数高性能实现(带汇编指令集)

均采用魔法数字&#xff08;Magic Number&#xff09;实现&#xff0c;一个是经典求平方根函数所使用的魔法数字&#xff1a;0x5f375a86、0x5f3759df。 float Sqrt(float x) noexcept { /* 0x5f3759df */float xhalf 0.5f * x;int32_t i *(int32_t*)&x;i 0x5f375a86 - …

TP5上传图片压缩尺寸

图片上传&#xff0c;最简单的就是&#xff0c; 方法一&#xff1a; 修改上传限制&#xff0c;不让上传大于多少多少的图片 改一下size即可&#xff0c;默认单位是B换算成M还需要除以两次1024 方法二&#xff1a; 对上传的图片进行缩放&#xff0c;此办法网上找了不少的代码…

如何在 Azure Cosmos DB 中使用缓存

Cosmos DB 是微软在 Azure 云中发布的新 NoSQL 数据库。与关系数据库不同&#xff0c;Cosmos DB 是一种托管数据库服务&#xff0c;因此具有可扩展性&#xff0c;因此在高事务性 .NET 和 .NET Core 应用程序中很受欢迎。 但是&#xff0c;使用 Cosmos DB 时&#xff0c;您需要…

pytorch 钩子函数hook 详解及实战

文章目录 1. 介绍1.1 pytorch hook 函数种类1.2 pytorch hook 种类1.3 hook的执行顺序2. torch.Tensor.register_hook()2.1 功能2.2 语法2.3 案例3. nn.Module.register_forward_pre_hook3.1 功能3.2 语法3.3 案例4. nn

连通分量提取

图像形态学操作中的提取连通分量是一种用于分离图像中相互连接的像素区域的技术。这些像素区域通常代表着图像中的不同物体、目标或者区域。连通分量提取通常用于图像分割、对象识别、特征提取等领域。 原理&#xff1a;   连通分量提取基于图像中像素的连接性。在这个过程中…

ECharts标题字体大小自适应变化

我们在做自适应Echarts的时候,字体大小在配置项里是如下配置的, title 标题组件,包含主标题和副标题。 以下是常用的对标题的设置: title:{//设置图表的标题text:"主标题",link:"baidu.com", //设置标题超链接target:"self",

HCIP —— BGP 基础 (下)

BGP 的状态机 --- 建立对等体之间的TCP会话&#xff1a;指定建立对等体的对象 六种状态机 Idle状态 Idle 等待状态&#xff08;相当于OSPF的down状态&#xff09;--- 采用TCP单播建邻 Idle 状态下&#xff0c;启动BGP协议后必须指定建立对等体的目标之后&#xff0c;才能进入…

yaml工作常用语法总结

文章目录 yaml中的| 符号 和 > 符号yaml中的 - 符号工作中常遇到的问题- 命令行中有冒号加空格&#xff0c;导致yaml解析报错 yaml中的| 符号 和 > 符号 在 YAML 中&#xff0c;| 符号表示标量块&#xff08;Scalar Block&#xff09;的开始。它用于表示长文本块或保持多…

代码随想录算法训练营第四十六天| 139 单词拆分

目录 139 单词拆分 139 单词拆分 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {vector<bool>dp(s.size() 1);//长度为i的字符串时能否成功拆分unordered_set<string>set(wordDict.begin(),wordDict.end());dp[0] t…

数据结构 | 查漏补缺之哈希表、最短路径、二叉树与森林的转换

哈希表是什么&#xff1f; 或者说 设图采用邻接表的存储结构&#xff0c;写对图的删除顶点和删除边的算法步骤 删除边 删除点 最短路径问题 参考博文 迪杰斯特拉(Dijkstra)算法_dijkstra算法-CSDN博客 Dijkstra(迪杰斯特拉&#xff09;算法 定义一个点为源点&#xff0c;算源…

5G+AI开花结果,助力智慧安检落地

“请带包的乘客过机安检&#xff01;”&#xff0c;深圳地铁、腾讯共同打造的5GAI智慧安检辅助系统亮相福田枢纽站&#xff0c;进一步解放了人力&#xff0c;提高安检效率&#xff0c;为交通安全保驾护航&#xff0c;让智慧出行成为现实。 传统的安检设备均为人工肉眼辨识&…

java面试题汇总-目录

坚持记录和总结一些面试过程中遇到的面试题&#xff0c;以及总结出自己的回答技巧。不用死记硬背也能完整的回答出来。会持续更新&#xff0c;欢迎提出问题和疑问&#xff0c;大家一起总结经验。 1.Hashmap、Hashtable、ConcurrentHashMap原理 2.谈谈sql优化-mysql 3.ArrayList…

2023年9月13日 Go生态洞察:WASI支持在Go中的实现

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

21、命令执行

文章目录 一、命令执行概述1.1 基本定义1.2 原理1.3 两个条件1.4 命令执行漏洞产生的原因1.5 管道符号和通用命令符 二、远程命令执行2.1 远程命令执行相关函数2.2 远程命令执行漏洞的利用 三、系统命令执行3.1 相关函数3.2 系统命令执行漏洞利用 四、命令执行漏洞防御 一、命令…

Vue笔记(三)深入组件

组件注册 组件注册有两种方式&#xff1a; 全局注册 可以使用Vue应用实例的.component()方法&#xff0c;让组件在当前Vue应用中全局可用&#xff0c;.component()方法可以被链式调用。全局注册的组件可以在此应用的任意组件的模版中使用。import { createApp } from vue imp…

阿里云生态离线数仓

1. 大数据开发治理平台 DataWorks 功能齐全&#xff1a;10多年大数据建设沉淀完整的平台&#xff0c;覆盖数据开发治理的全生命周期 简单易用&#xff1a;全图形化界面&#xff0c;SQL为主的数据开发方式 安全稳定&#xff1a;双11日千万级任务稳定调度&#x…

一:C语言常见概念

一&#xff1a;C语言常见概念 1.认识C语言&#xff1a; ​ C语言是人和计算机交流的语言 ​ C语言是一门面向过程的语言&#xff0c;而C&#xff0c;Java&#xff0c;Python等是一门面向对象的语言 ​ 软件开发&#xff08;项目&#xff09;&#xff1a;面向过程面向对象 …