• 【JavaSE】第一个Java程序,“Write once, Run anywhere“——JDK、JRE、JVM的简单介绍


    第一个Java程序

    在之前的学习中,我们走进了Java的世界,安装了JDK并且配置了环境变量,完成这些之后我们就可以在我们的电脑上写一个简单的Java程序了。首先我们需要创建一个记事本并将记事本的文件后缀改为.java。
    在这里插入图片描述
    这样我们打开记事本就可以进行Java程序的编写了。
    在这里插入图片描述
    我们在文档中写下这样的代码,现在我们可能不知道这些代码的含义是什么,我们只需要照着我的代码敲一遍就好了,后面的讲解中会与大家讲解这些都是什么的,之后我们win+r cmd打开cmd命令行窗口
    在这里插入图片描述
    找到我们刚才创建Java文件的文件目录,使用cd进入该目录之后我们对Java文件进行编译和执行

    在这里插入图片描述
    我们可以看见Hello World 已经被我们打印出来了。

    可能会出现的问题

    大家在执行的时候可能会遇到一定的问题,例如:
    在这里插入图片描述
    我们在编译的时候可能会出现这样的错误,错误原因是什么呢?原因是类名和文件名不相同
    在这里插入图片描述
    上图对我们刚才写的代码进行了一个简单的分析,在Java文件中class定义的叫做类,后面的helloWorld就是类名。Java中对类名是有一定的规定的:

    1、类名必须是大驼峰MaxNum Max等类型的
    2、如果这个类是public class那么这个类的类名必须和文件名相同。

    所以我们看我们写的代码,类名既没有使用大驼峰也没有与文件名相同,所以我们编译的时候会报错,我们对代码进行修改。
    在这里插入图片描述
    这样就可以正常执行了。还有一些其他的问题,例如JDK没有配置好,没办法使用javac java命令,我们可以使用java -version查看自己的JDK安装和环境变量的配置是否出来问题。
    在这里插入图片描述
    向我这样的就是已经配置完成了,具体如何配置可以看一下博主的另一篇博客:JDK的安装与环境变量的配置
    还有一些语法上的问题例如:分号、大小写、中文字符等,大家对照我的代码自己进行修改就可以了。好了这样我们就完成了第一个Java程序的编写,是不是非常有成就感呢?

    如何实现"Write once, Run anywhere"

    在经过我的一系列操作之后想必大家一定很懵逼,也会有很多的问题,为什么我们不配置JDK就不能运行Java代码,javac java 这些命令的作用到底是什么呢?我们常说的Java口号"Write once, Run anywhere"究竟是什么呢?大家不要急,我慢慢与大家分享。
    我们来简单了解一下到底什么是JDK:

    JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。

    JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。

    JVM是整个Java实现跨平台的最核心的部分,Java虚拟机,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行

    由此我们可以总结出一些关系JDK包含了JRE,JRE包含了JVM
    在这里插入图片描述
    解释完JDK我们来说Javac Java这些命令是干什么的:

    首先我们输入的D:\Java>javac HelloWorld.java这条指令是对D盘下的Java文件夹中的HelloWorld.java文件进行编译,编译之后我们生成.class的字节码(二进制)文件。

    之后我们输入D:\Java>java HelloWorld是运行我们刚才编译后生成的.class文件

    在这里插入图片描述

    那么我们的字节码文件在哪里运行呢?编译的字节码文件是直接与机器的操作系统对应嘛,其实不是,编译生成的字节码文件需要经过JVM(Java虚拟机)的翻译之后在交给本地操作系统执行。这也就是Java的口号"Write once, Run anywhere"的由来,只要机器安装了JDK不管什么系统都可以运行同一Java程序,因为Java虚拟机在中间做了翻译工作。大家有没有感受到Java的魅力!

  • 相关阅读:
    高危安全漏洞风险提示:Oracle7月修复Weblogic Server严重RCE漏洞
    二叉树之路径
    C--六、字符串
    springboot基于java的校园二手书籍交易平台毕业设计源码131558
    Java的 super与this关键字图解
    Django4——配置使用django-ckeditor富文本编辑器超详细图文教程
    (附源码)计算机毕业设计Java巴州监控中心人事管理系统
    LeetCode每日一题(1706. Where Will the Ball Fall)
    Raft介绍
    SpringMVC之文件的上传下载(教你如何使用有关SpringMVC知识实现文件上传下载的超详细博客)
  • 原文地址:https://blog.csdn.net/weixin_64182409/article/details/127584187