Java程序的运行机制

Java程序的运行机制

Java运行的两种类型

  1. 编译型

    • 编写是指在Java开发环境中进行程序代码的编辑,最终生成后缀名为“.java”的Java源文件
    • 在程序运行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序时,就不用再进行翻译了
  2. 解释型

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

    • 是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。

      二者之间最大的区别就在于是否存下目标机器码:编译会把输入的源程序以某种单位(例如基本块/函数/方法/trace等)翻译生成目标机器码,并存下来(无论是在磁盘上或是内存中)后续执行可以复用;解释则是把源程序中的指令逐条解释执行,边解释边执行,不存下目标代码,后续执行没有可以复用的信息。
      
  3. 程序运行机制:

截图1

JAVA两种核心机制

  1. JAVA虚拟机(Java Virtual Machine)
    Java虚拟机可以理解成一个字节码为机器指令的CPU

    对于不同的运行平台,有不同的虚拟机

    Java虚拟机屏蔽了底层平台的差别,实现了“一次编译,到处运行”

截图二

  1. 垃圾回收机制(Garbage collection)
    不再使用的内存空间应回收–—垃圾收集

    在C/C++等语言,有程序员负责回收无用内存

    Java语言消除了程序员回收无用内存空间的责任,它提供一种系统级线程跟踪存储空间的分配情况,并在JVM空闲的时候,检查并释放那些可以被释放的内存空间:垃圾收集在Java程序运行中自动运行,程序员无法精确控制

Java Application初步

- 局部变量:方法或者语句块内部定义的变量 (local variable)
- 成员变量:方法外部、类内部定义的变量,也叫做全局变量 (glbal caliable)
- 一个源文件中最多只能有一个public类,其他类的个数不限。程序的入口是:
  public static void main(String[] args){}
  Java 语言严格区分大小写和格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值