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

【Java基础】认识Java,Java程序的生命周期,运行Java程序

【Java基础】认识Java,Java程序的生命周期,运行Java程序

  1. java的开发环境:

  • 想要运行java程序必须安装jdk
  • 再安装相应支持编写java源程序的软件

JDK 是Java开发工具包,就跟Go和Python一样有SDK这种工具包
编写Java需要的软件,例如:eclipse、IDEA等;

  1. Java的加载与执行:一个完整的java程序

2.1 Java的生命周期

  • 编译阶段
  • 运行阶段

2.2 编译阶段:

  • 编译生成的程序被称为:字节码程序(.class)
  • 编译生成的文件是:xxx.class文件,不符合java语法规则则无法生存字节码文件

.class字节码文件不是纯粹的二进制,这种文件无法在操作系统中直接执行。

2.2.1 编译阶段过程:

程序员需要在硬盘的某个位置新建一个.java扩展名的文件,该文件被称为java源文件。

  • 源文件当中编写的是java 源代码/源程序。
  • 这个源程序是不能随意编写的,必须符合java语法规则 (语法规则是需要记忆的)
  • java程序员需要使用jdk当中自带的javac.exe命令进行java程序的编译。
    • javac怎么用?在哪用呢?
      • javac的使用规则:
        javac java源文件的路径
      • 在dos命令窗口中使用
    • javac是一个java编译器工具/命令

一个java源文件可以编译生成多个.class文件。
字节码文件.class是最终要执行的文件,所以说class文件生成之后

  • java源文件删除并不会影响java程序的执行。

但是一般java源程序不要删除,因为class文件生成的效果可能不是我们想要的,需要回头去源程序进行修改,然后将java源程序重新编译生成新的class文件,然后再运行这个.class程序,生成新的效果。

  • 编译结束之后,可以将.class文件拷贝到其他操作系统当中————跨平台特性
  • 编译和运行可以在不同的操作系统中完成。

2.3 运行阶段:

  • JDK安装之后,除了javac.exe之外,还有另一个工具/命令,叫做java.exe;
    Java.exe命令主要负责运行阶段。
2.3.1 java.exe在哪里用?怎么用?
  • 在Dos窗口中使用。

打开Dos命令行步骤:

  1. win+r
  2. 再打开的窗口中输入cmd
2.3.2 java.exe 怎么用?
  • java 类名

A.class,那么就可以这样用:java A
B.class,那么就可以这样用:java B
错误写法:java A.class [不加.class]

2.3.3 运行阶段的过程:
  • 打开DOS命令窗口
  • 输入: java 类名
  • java.exe命令会启动jvm,jvm会启动 类 加载器classLoader
  • ClassLoader会去硬盘搜索 类名.class文件,找到该文件则该字节码文件装载到jvm当中。
  • 然后jvm将 类名.class字节码文件解释成二进制数据
  • 然后操作系统执行解释后的二进制数据和底层硬件平台进行交互。

大致步骤:编写java源程序 > 由javac文件进行编译创建.class文件 >编译无误后启动java.exe调出类启动器ClassLoader> ClassLoader在硬盘中查找类名.class文件 >找到该文件装载进jvm(java虚拟机)中> jvm将.class文件解释成二进制数据 > 再由操作系统执行和底层硬件平台进行交互

  1. 编写第一个Java程序

3.1 准备环节:

编写java所需要的东西

  • 支持java语言的编写软件
  • JDK<java开发工具包>
  • JRE<java开发环境>
  • JVM<java虚拟机>
3.1.1 JDK、JRE、JVM三者关系
  • 在JDK中包含了JRE
  • 在JRE中包含了JVM

下载JDK后无需再下载独立的JRE跟JRE,同理下载了JRE也无需下载独立的JVM;

3.1.2 开发跟运行的差别
  • 开发:安装JDK就好,比较JDK是开发工具包;
  • 运行:只运行那么安装独立的JRE即可;
3.1.3 差异性:
  • JDK体积较大若是只运行的话还是安装JRE更好
  • JRE比JDK的体积小所以更加方便安装等操作

3.2 编写第一个java程序:

  • 含义内容:
    • void:无返回类型;
    • static:静态的;
    • println:换行打印;
    • String:字符串;
    • print:打印;
    • out:输出设备;
    • System:系统的;
      —— HelloWorld.java文件
public class HelloWorld{ public static void Main(String[] args){ System.out.println("Hello,World"); } }
3.2.1 dos命令窗口快捷指令:

关于目录切换命令:cd

  • cd 命令的语法格式:
    cd 路径
    路径分为:
  • 绝对路径:
    C:/Users/Administrator
    D:/用户目录/收藏夹
    F:/tools/CamtasiaStudio-v6.00

    从硬盘的根路径作为出发点。
  • 相对路径:
    从当前所在的位置作为起点的路径。
    自动补全:
  • cd e 【然后按tab键,当前所在的目录下所有以e开始的目录自动补全路径,当这个自动补全的路径不是自己想要的路径,可以继续使用tab键】
    回到上级目录:cd …
  • cd …/…/…/

…是一个路径,代表当前路径的上级路径
直接回到根路径:cd /
查看当前目录下所有的子文件和子目录:

  • dir

不要把相关重要的资料放到桌面上,因为桌面是属于C盘系统盘。
如果C盘过满,会降低系统的运行速度
不使用 cd 命令,切换盘符:

  • c: 回车
  • d: 回车
  • e: 回车
  • f: 回车

直接在dos命令里输出盘符即可
打开注册表:

  • regedit
    文件 -version:
  • 查看文件的版本号
    将源程序通过javac工具进行编译:
  • 首先先确定javac命令工具是否可用;
  • 打开dos命令窗口,直接输入javac,然后回车

‘javac’ 不是内部或外部指令,也不是可运行的程序或批处理文件。
如果出现以上问题是因为:windows未找到文件

  • 怎么解决以上问题?
    /* windows是如何搜索某个命令的呢?
    • 首先从从当前目录下搜索
    • 当前目录搜索不到,会从环境变量path指定的路径当中搜索某个指令
    • 如果都搜索不到,则报以上的错误。
      解决:只需切换目录直接指定文件即可

3.3 运行java程序:

  • 使用方式:
    java 类名

    《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

述](https://i-blog.csdnimg.cn/direct/92a6ab8e26034045b97ae8ac36b2a650.png)

以上资料如何领取?

http://www.jsqmd.com/news/871896/

相关文章:

  • Keil调试问题排查:无法设置断点与查看变量的解决方案
  • 医学影像AI落地实战:从临床痛点到人机协同
  • Linux平台Autodesk Fusion 360跨平台技术实现深度解析
  • Midjourney V6对比度失控?92%用户忽略的--stylize参数与--contrast双变量协同机制揭秘
  • 初创团队如何利用Taotoken统一API与多模型能力加速产品原型开发
  • 从冷启动到DAU破500万:AI Agent社交裂变引擎的12小时极速部署手册(含可运行Docker镜像)
  • 【2026年华为暑期实习(AI)-5月22日-第一题- 选择题】(题目+思路+JavaC++Python解析+在线测试)
  • AI Agent驱动的管理咨询实战手册(麦肯锡/BCG未公开方法论首次披露)
  • 2026年国内环保包装袋头部企业排行:合规与产能双维度评测 - 资讯焦点
  • 医疗影像诊断Agent已通过NMPA三类证审批(国内首个获批临床辅助决策Agent技术白皮书限时开放)
  • 原来6000平展厅的灯光设计竟然这么讲究?
  • 3步搞定中文文献管理:茉莉花插件让你的Zotero效率提升300%
  • LivePortrait人像动画:如何用AI让静态照片“活“起来
  • 【2026年华为暑期实习(AI)-5月22日-第二题- 随机森林交易风控算法】(题目+思路+JavaC++Python解析+在线测试)
  • Unity直连西门子PLC实现毫秒级工业仿真
  • 3步完成智能抢票系统配置:告别手速比拼的终极指南
  • Topit:重新定义macOS多任务处理,300%效率提升的窗口置顶神器
  • Unity WebGL文本输入解决方案:WebGLInput原理与集成指南
  • 携程任我行礼品卡回收,目前行情+回收渠道分享! - 圆圆收
  • 如何快速构建数学可视化:Manim交互式开发完整教程
  • YgoMaster终极指南:免费畅玩离线游戏王大师决斗的完整方案
  • Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLM+ML协同训练的4大范式演进
  • 大模型MoE架构中活跃参数量的真相与工程实践
  • 2026年湖南口碑好的灯光设计企业,究竟有哪些呢?
  • 机器学习数据切分三大策略:随机、分组、时间序列
  • 海口闲置名包出手实用攻略 理清配件价值减少损失 - 奢侈品回收测评
  • FModel实战指南:UE4/5游戏pak资源提取与3D模型导出
  • 大模型MoE架构解析:参数稀疏激活与硬件协同设计
  • 五分钟完成Python调用Taotoken大模型API的配置教程
  • 中石化加油卡回收,最新回收价格+操作流程! - 圆圆收