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

[初始java]——java为什么这么火,java如何实现跨平台、什么是JDK/JRE/JVM

java的名言:

”一次编译、到处运行“

一、编译语言与解释语言

编译:

是将整份源代码转换成机器码再进行下面的操作,最终形成可执行文件

解释:

是将源代码逐行转换成机器码并直接执行的过程,不需要生成目标文件

java是半编译半解释型语言,由java编译器编译成字节码文件、jvm解释运行

像C、C++都是编译语言,JavaScript、PHP、python是解释型语言

所以C程序每次运行前都要重新编译源文件、JavaScript只要选中你要运行的几行代码就好了

二、认识JDK、JVM、JRE

    JDK是Java开发工具包,它包含了JVM和Java的开发工具,如编译器、调试器、文档生成器等。JDK还包含了Java的标准类库,开发人员可以使用这些类库来实现各种功能。

    JVM是一个虚拟机,它提供了一个独立于硬件和操作系统的运行环境,使得Java程序可以在不同的操作系统上运行(就像手机模拟器一样,安装了模拟器可以在任何电脑的操作系统下运行手机上的程序)。JVM可以解释Java字节码并将其翻译成机器语言,从而执行Java程序。JVM还提供了垃圾回收、内存管理等功能,使得Java程序开发变得更加方便和安全。

    JRE是Java的运行环境,它包含了JVM和Java的运行时库。JRE不包含Java的开发工具,仅包含Java的运行时库。如果要运行Java程序,只需要安装JRE即可。

总结:只要开发java程序,就要用JDK,只运行java字节码文件,有JRE即可,所以说在你电脑上的一份java代码,编译生成字节码文件后,我只要有JRE,就可以直接运行。

三、java的跨平台性

Java的跨平台性就是由JVM实现的,无论什么操作系统,我只要有JVM,你的字节码文件的执行结果就是一样的,因为字节码文件是已经编译好的二进制文件

四、第一个java程序

例如:

打印Hello world,可以试着敲一下

e1f867ec6e3c4df790027f9ba07c3b9b.png

f57d11d380304186b9e691116d76cfbf.png

javac 编译文件、生成字节码文件(.class)

e99ba074e2dd42ab94fa55c225b1893d.png 

 java运行字节码文件,输出hello world

cd25a32e604f4474aa225c4327700527.png

我删除源文件,还是可以运行字节码文件的

e4da53910be24eaca3508d32a22f8c69.png

 

http://www.lryc.cn/news/194717.html

相关文章:

  • R语言手动绘制NHANSE数据基线表并聊聊NHANSE数据制作亚组交互效应表的问题(P for interaction)
  • C++引用(起别名)
  • Ubuntu:VS Code IDE安装ESP-IDF【保姆级】(草稿)
  • 子序列(All in All, UVa 10340)rust解法
  • AI时代,当项目经理遇到ChatGPT,插上腾飞的翅膀!
  • Springboot项目中加载Groovy脚本并调用其内部方代码实现
  • 为什么要做数据可视化
  • 0基础学习VR全景平台篇 第108篇:全景图细节处理(下,航拍)
  • linux查看文件内容命令more/less/cat/head/tail/grep
  • VBA窗体跟随活动单元格【简易版】
  • epiiAdmin框架注意事项
  • 数据仓库与ETL
  • Centos7安装Gitlab--gitlab--ee版
  • 主题教育问题清单及整改措施2023年-主题教育对照六个方面个人剖析材料
  • php新手实战:自定义书源下载api
  • 数据结构 - 5(二叉树7000字详解)
  • xshell使用方法(超详细)
  • 【数据库系统概论】第三章关系数据库标准语言SQL
  • 云计算是什么?学习云计算能做什么工作?
  • ES6 -- 模块化(CommonJS、AMD、ES Module)
  • c# xml 参数读取读取的简单使用
  • gym原来是这样用的
  • 百度SEO优化技巧与布局(提升网站排名的5种有效方法)
  • 文案配音软件哪个好?(适合新手使用)
  • excel映射xml方法
  • 2023/10/15
  • Linux系统中如何开启和配置OpenGauss数据库的远程连接
  • 【Docker】Docker网络及容器间通信详解
  • TikTok国际版 使用特网科技Bluestacks模拟器安装方法
  • 【Hello Algorithm】暴力递归到动态规划(四)