java运行机制是什么_JAVA运行机制

java运行机制是什么_JAVA运行机制这一篇我们来简单理解一下JAVA的运行机制大概可以分为三大部分1.编写程序2.编译程序3.运行程序1.编写程序编写程序就是我们前面说的源代码这些源代码都有特殊的语法例如main函数他是jdk中一个比较特殊的函数他必须要使用特定的语法来编写(在前面加上public等关键字来修饰)源代码就像是程序的灵魂,程序的实现是由源代码来就决定的就像一块橡皮泥,你想把它变成什么样子完成由你来决定2.编译程序…

大家好,又见面了,我是你们的朋友全栈君。

这一篇我们来简单理解一下JAVA的运行机制

大概可以分为三大部分

1.编写程序

2.编译程序

3.运行程序

1.编写程序

编写程序就是我们前面说的源代码

这些源代码都有特殊的语法

例如main函数

他是jdk中一个比较特殊的函数

他必须要使用特定的语法来编写

(在前面加上 public  等关键字来修饰)

源代码就像是程序的灵魂,

程序的实现是由源代码来就决定的

就像一块橡皮泥,

你想把它变成什么样子完成由你来决定

2.编译程序

为什么要编译?

因为 JAVA和大多数语言一样是一种高级语言

我们编写好的代码都被保存成为一个.java的文件

然而我们计算机并不认识(不能运行)这些文件

这就需要把我们编写好的文件(源代码)变成计算机可以运行的机器码(二进制码)

这个过程就叫做编译

注意:编译就是我们前面用到的 javac 命令

它可以将.java文件编译成一个.class文件(字节码)

并且class文件是一种与平台无关的文件

3.运行程序

上面说到把源代码编译成字节码。

那么就到运行字节码了

其实我们的JAVA语言有一个非常大的特点就是跨平台

用他们话说就是:一次编译,到处运行

前面说过class文件是一种与平台无关的文件

它也不可直接运行

那我们怎么运行呢?

这就要讲到一个东西jvm(JAVA虚拟机)

它可以将我们的class文件解释成计算机可以运行的二进制

那我们的jvm是如何运行的呢

我们都知道所有程序只有在内存中才能运行

所以我们在运行JAVA文件的时候(java命令)

首先会在内存中创建一个jvm

然后把硬盘里的class文件加载进来

利用jvm去解释这些class文件

最后运行程序。

PS:为什么说JAVA跨平台

1.因为编译后的class文件只能被jvm所解释

2.任何平台只要有jvm(JAVA运行环境)就可以解释这个class文件

3.无论什么平台解释同一个class文件最后的结果都是一样的

也就是说我用Windows系统编译好的class文件,拿来Android(前提要有环境)上运行也是一样的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156329.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1024程序员游戏(我与什么之间的故事)

    代码虐我千万遍,我待代码如初恋!!!

    2022年4月14日
    48
  • 计算机错误代码0X000000be,Win7系统出现蓝屏代码0x000000BE的解决方法「建议收藏」

    计算机错误代码0X000000be,Win7系统出现蓝屏代码0x000000BE的解决方法「建议收藏」蓝屏是我们日常使用电脑的时候经常会碰到的故障,这不就有很多win732位系统用户反映说电脑出现蓝屏错误代码0x000000BE,该怎么解决这样的问题呢,接下来给大家讲解一下Win7系统出现蓝屏代码0x000000BE的解决方法吧。原因分析:0x000000BE错误表示硬件设备的驱动程序试图向只读内存错误地写入数据。这个错误一般是因为硬件设备驱动程序存在BUG或安装不正确引起的。解决方法:按开机按…

    2022年10月8日
    4
  • 建立友好城市有什么用_缔结友好城市

    建立友好城市有什么用_缔结友好城市原题连接Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。输入格式第1行,一个整数N,表示城市数。第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和

    2022年8月8日
    4
  • Raid5磁盘阵列修复方法介绍「建议收藏」

    Raid5磁盘阵列修复方法介绍「建议收藏」  在RAID5中,数据条带化后存储在分布式奇偶校验的多个磁盘上。分布式奇偶校验的条带化意味着它将奇偶校验信息和条带化数据分布在多个磁盘上,这样会有很好的数据冗余。而有时候raid5磁盘阵列损坏,我们该如何修复呢?  1.若单个硬盘失效,尝试热插拔,即拔下来再插上去;如果不能解决,则进入RAID配置界面,将该硬盘进行ForceOnLine操作;如果不能解决,尝试更换-其它硬盘…

    2022年4月28日
    1.4K
  • @RequestBody出现请求415问题

    @RequestBody出现请求415问题首先之前也遇到过这样的问题,但是稀里糊涂的最后虽然bug修复了,但是不知道是啥原因,今天又遇到了同样的问题。问题:在前端向后台发送一个json对象(字符串),后端用@RequestBody匹配接受的时候就会出现415,如果不用@RequestBody,那么前端发送来的数据是不能被正确解析成对象里的属性的。因为用公司的框架写项目的时候,也遇见了这个问题。请教了学长,学长让我用公司自己封装的p…

    2022年6月3日
    34
  • Android开发project师,前行路上的14项技能

    Android开发project师,前行路上的14项技能

    2021年8月30日
    72

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号