JAVA学习第一天,java的运行方式

对未来很迷茫,不知道以后能出去干什么,好像掌握的东西很少,从今天开始学习学习java吧,让自己充实起来,记录一下。                                                                                            

java的源程序是.java文件,编译后的结果是.class文件,今天学习了两种文件之间的区别和联系,并且了解了java的运行过程。

因为机器只能识别机器语言,所以使用高级写的程序最后都要转为二进制文件才能被运行。但是大多数语言编译成的二级制文件只能在一个平台上运行,其他平台上不能运行,而java则是将编译得到的class文件放到java虚拟机上运行,所有支持java虚拟机的平台和操作系统都能够运行该二进制文件。

Java能够跨平台的原因

使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。

jdk、jre、jvm的区别

jdk,是java开发工具包。普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以及常用的Java基础类库等,是整个JAVA的核心

jre,是java运行环境。通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。

jvm,是java虚拟机,即编译得到的class文件是在jvm上运行的。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。

 java运行机制

Java程序的运行机制分为编写、编译和运行三个步骤。

1.编写

编写是指在Java开发环境中进行程序代码的编辑,最终生成后缀名为“.java”的Java源文件。

2.编译

编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件,该文件可以被Java虚拟机(JVM)的解释器正常读取。

3.运行
运行是指使用Java解释器将字节码文件翻译成机器代码,执行并显示结果。 字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。
 

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

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

相关文章

python结合excel数据轻松实现接口自动化测试

在刚刚进入测试行业的时候,最开始也是做功能测试,我想很多伙伴和我一样,觉得自动化测试都很高端,很神秘。迫不及待的想去学习作自动化测试。 以前比较常用数据库python做自动化,后面发现excel个人觉得更加适合&#x…

js的indexOf方法

一、数组调用 indexOf() 方法可返回数组中某个指定的元素位置。 该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start参数时)。如果找到一个 item,则返回 item 的第一…

新手如何快速上手HTTP爬虫IP?

对于刚接触HTTP爬虫IP的新手来说,可能会感到有些困惑。但是,实际上HTTP爬虫IP并不复杂,只要掌握了基本的操作步骤,就可以轻松使用。本文将为新手们提供一个快速上手HTTP爬虫IP的入门指南,帮助您迅速了解HTTP爬虫IP的基…

帆软报表-SQL片段报错处理

当发现好端端的 SQL 片段,在数据库命令行正常运作、但是在帆软报表预览各种报错的时候:请先停止复制你的 SQL 片段。 然后,在【帆软报表的数据源编辑器中】,【全部逐个手敲】一遍你需要的字段和逻辑。记得点击保存。帆软报表版本 …

新闻软文稿件媒体发布怎么做?纯干货

新闻软文稿件需要投放在正确的媒体上,才能获得更好的宣传推广效果,新闻软文稿件媒体发布怎么做?今天伯乐网络传媒就来给大家讲解一下,纯干货,建议收藏起来慢慢看。 一、媒体选择与分析 1. 确定目标媒体 在进行新闻软…

吃瓜神奇!企查查、天眼查、天眼销,到底哪家强?

最近,我发现很多人在讨论查企业信息的工具,什么企查查、天眼查、天眼销等,到底哪家强呢? 首先,我们来简单了解一下这些工具。企查查是一款可以帮助用户查询企业信息的工具,通过输入关键词,可以搜…

在Android平板上使用code-server公网远程Ubuntu服务器编程

文章目录 1.ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 1.ubuntu本地安装code-server 准备一台虚拟机,Ubuntu或者centos都可以,这里以VMwhere ubuntu系统为例 下载code server服务,浏览器…

代码随想录算法训练营第五十九天 |647. 回文子串、516.最长回文子序列、动态规划总结篇

一、647. 回文子串 题目链接/文章讲解:代码随想录 思考: 1.确定dp数组(dp table)以及下标的含义 如果本题定义dp[i] 为 下标i结尾的字符串有 dp[i]个回文串的话: 会发现很难找到递归关系,dp[i] 和 dp[i-1]…

SPA项目之主页面--数据表格的增删改查

SPA项目之主页面--数据表格的增删改查 一.增删改查1.样式准备2.增加3.删除4.修改5.查询二.表单验证1.在表单中使用验证规则 一.增删改查 1.样式准备 <template><div class"books" style"padding: 20px;"><el-form :inline"true"…

深度学习基础知识 学习率调度器的用法解析

深度学习基础知识 学习率调度器的用法解析 1、自定义学习率调度器**&#xff1a;**torch.optim.lr_scheduler.LambdaLR2、正儿八经的模型搭建流程以及学习率调度器的使用设置 1、自定义学习率调度器**&#xff1a;**torch.optim.lr_scheduler.LambdaLR 实验代码&#xff1a; i…

31 数据分析(中)numpy介绍

文章目录 工具excelTableauPower Queryjupytermatplotlibnumpy安装导入包快速掌握&#xff08;bushi&#xff09;array和list的相互转化 np的range多维数组的属性array的改变形状array升降维度array内元素的类型数和array的运算array之间的加减法认识轴切片条件与逻辑修改值app…

多测师肖sir_高级金牌讲师_python之作业006

&#xff08;已做)1、求出1 / 1 1 / 3 1 / 5……1 / 99的和 (1分之一1分之三1分支5…) 方法1&#xff1a; sum 0 for s in range(1,101,2): sum 1/s print(sum) 方法2&#xff1a; i1 sum0 while i<99: sum1/i i2 print(sum) 方法3&#xff1a; list1 [1/x for x i…