zoukankan      html  css  js  c++  java
  • JAVA运行机制

    这一篇我们来简单理解一下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(前提要有环境)上运行也是一样的

  • 相关阅读:
    基于SVM的数字识别
    Python3 uniform() 函数
    使用贝叶斯分类器从个人广告中获取区域倾向
    logistic回归预测病马死亡率
    python3报错解决办法:TypeError: 'range' object doesn't support item deletion
    python机器学习实战 getA()函数详解
    python中的scatter()方法
    Python split()方法
    Python strip()方法
    贝叶斯垃圾邮件过滤
  • 原文地址:https://www.cnblogs.com/menghujava/p/9587844.html
Copyright © 2011-2022 走看看