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)
上一篇 2022年7月7日 下午1:16
下一篇 2022年7月7日 下午1:16


相关推荐

  • selenium 和 IP代理池

    selenium 和 IP代理池3.1seleniumselenium:Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作(模拟浏览器操作)同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬Selenium支持非常多的浏览器,如Chrome、Firefox、PhantomJS等浏览器对象的初始化并将其赋值为browser对象。接下来,我们要做的就是调用…

    2022年5月2日
    121
  • 一定能解决ROS系统 rosdep update超时问题de简单方法

    一定能解决ROS系统 rosdep update超时问题de简单方法rosdepupdate 命令使用 1 首先将下面仓库的内容 clone 到本地 gitclonehttp github com ros rosdistro git 记录 rosdistro 存放地址 例如 home gec rosdistro 如果是自己的改成 home user rosdistro 其中 user 表示用户名 2 修改 usr lib python2 dist packages rosdep2 rep3 py 文件 cd usr lib python2 dist packages ros

    2026年3月18日
    2
  • 树莓派命令连接wifi_使用命令行设置树莓派的wifi网络「建议收藏」

    树莓派命令连接wifi_使用命令行设置树莓派的wifi网络「建议收藏」如果你没有登录到常用的图形用户界面,这种方法就适合用来设置树莓派的wifi。尤其是在你没有屏幕或者有线网络,仅使用串口控制线的时候。另外,这种方法也不需要额外的软件,所有需要的东西都已经包含进了树莓派。GETTINGWIFINETWORKDETAILS(获取wifi网络详情)为了扫描wifi网络,可以使用sudoiwlistwlan0scan命令。这个命令会列出所有可使用的wifi网络…

    2022年5月5日
    274
  • “常数变易法”有效的原理

    “常数变易法”有效的原理常数变易法 有效的原理常数变易法为什么写这篇文章什么是常数变易法 错误的理解常数变易法的原理基本计算总结参考资料常数变易法为什么写这篇文章学过 常数变易法 的同学请直接点击 常数变易法的原理 这里只讲述常数变易法的原理 为什么要用常数变易法请参见参考资料 常数变易法的解释 在学习高数的过程中 关于为什么在解一阶线性微分方程的时候要使用常数变易法 为什么可以使用常数变易法 常数变易

    2026年3月20日
    2
  • 数域相关概念「建议收藏」

    数域相关概念「建议收藏」现在开始密码学的学习阶段了,数学知识是必不可少的。数环:定义:设S是复数集的非空子集。如果S中的数对任意两个数的和、差、积(没有商)仍属于S,则称S是一个数环。例如整数集Z就是一个数环,有理数集Q、实数集R、复数集C等都是数环。性质:1.任何数环都包含数零(即零环是最小的数环)。2.设S是一个数环。若a∈S,则na∈S(n∈Z)。3.若M

    2025年7月12日
    6
  • platform device driver

    platform device driverplatform总线是在linux2.6内核中加入的一种虚拟总线。platform机制有两部分组成platform_device和platform_driver.structplatform_device{   constchar   *name;   int      id;   structdevice   dev;   u32      num_resources;   structresource   *resource;};plat

    2022年7月24日
    13

发表回复

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

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