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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 配置JDK环境变量(最简单手把手教程)[通俗易懂]

    配置JDK环境变量(最简单手把手教程)[通俗易懂]​目录简介JDK卸载准备JDK环境配置校检配置简介本文博客只为自己记忆,就新手最简单手把手教程JRE(JavaRuntimeEnvironment)Java运行环境,用来运行

    2022年6月30日
    25
  • 操作系统银行家算法C语言代码实现「建议收藏」

    操作系统银行家算法C语言代码实现「建议收藏」计算机操作系统课设需要,写了两个下午的银行家算法(陷在bug里出不来耽误了很多时间),参考计算机操作系统(汤子瀛)实现过程中不涉及难度较大的算法,仅根据银行家算法的思想和步骤进行实现。以下为详细步骤

    2022年7月4日
    21
  • 10v转16v_颜色代码转rgb

    10v转16v_颜色代码转rgb/*  NV12ToARGBcolorspaceconversionCUDAkernel  ThissampleusesCUDAtoperformasimpleNV12(YUV4:2:0planar)  sourceandconvertstooutputinARGBformat*/#include

    2022年9月24日
    0
  • pycharm 搜索快捷键_打开搜索窗口的快捷键

    pycharm 搜索快捷键_打开搜索窗口的快捷键搜索/替换快捷键序号快捷键作用1CTRL+F查找2F3查找下一个3SHIFT+F3查找上一个4CTRL+R替换5CTRL+SHIFT+F指定路径下查找6CTRL+SHIFT+R指定路径下替换注释快捷键序号快捷键作用1CTRL+?注释操作代码序号快捷键作用1…

    2022年8月27日
    0
  • Spring面试题(2020最新版)「建议收藏」

    Spring面试题(2020最新版)「建议收藏」文章目录Spring概述(10)什么是spring?Spring框架的设计目标,设计理念,和核心是什么Spring的优缺点是什么?Spring有哪些应用场景Spring由哪些模块组成?Spring框架中都用到了哪些设计模式?详细讲解一下核心容器(springcontext应用上下文)模块Spring框架中有哪些不同类型的事件Spring应用程序有哪些不同组件?使用Spring有哪些方式…

    2022年5月7日
    34
  • matlab矩阵存为txt_matlab数据批量处理

    matlab矩阵存为txt_matlab数据批量处理fileID=fopen(‘Data.txt’);A=textscan(fileID,’%f%*f%*f%*f%f%f%f’);fclose(fileID);Matrix=cell2mat(A);textscan中,%*f表示不读取该列数据。

    2022年9月5日
    1

发表回复

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

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