java程序运行机制

rongyupan      2022-05-07     677

关键词:

Java 程序运行机制

运行过程

  1. 源文件 (a.java)
  2. Java 编译器
  3. 字节码文件(a.class)
  4. 进入 JRE ,分别执行 类装载器-->字节码校验器-->解释器
  5. 系统平台,执行.

注释

  • JRE 中包含 JVM (JAVA虚拟机); 其中的字节码校验器也是 JAVA 安全性的一种体现.
  • 也正是因为有 JVM 的存在, 使得 JAVA 具有挂平台的特性; JVM 是和运行环境 OS 相联系的.
  • 计算机高级语言的类型主要有两种--编译型和解释型. JAVA 是两种类型的结合.

JDK, JRE, JVM

  • 总体关系: JVM (sqsubseteq) JRE (sqsubseteq) JDK
  • JVM: Java Virtual Machine. 用于执行 bytecode 字节码的 "虚拟计算机"; 如: JIT(Just In Time Compiler);
  • JRE: Java Runtime Environment. "Java 运行时环境". 包含: JVM, 库函数,运行 Java 应用程序时所必须的文件. 如: java, javaw, libs, rt.jar;
  • JDK: Java Development Kit. "Java 运行工具包". 包含: JRE, 程序编译器和调试器等用于程序开发的文件. 如: javac(将 .java 文件编译成 .class 字节码文件), jar, debugging, tools, javap;

第一个 JAVA 程序

  • 一个 .java 文件可以包含多个 class, 但是只能对其中一个 class 声明 public. 在编译时,会生成多个 .class 文件.
  • main 方法时 java 应用程序的入口, 有固定的书写格式 public static void main(String[] args) {...}

java命名规范

  • 所有变量、方法、类名的命名原则:见名知意(也就要求我们区分词性,应该用动词还是名词命名)
  • 类名:每个单词的首字母大写;如:Man;
  • 方法名:第一个单词小写;从第二个单词开始首字母大写,我们称之为“驼峰原则”。如:eat(), eatFood();
  • 类成员变量名:驼峰原则
  • 局部变量:驼峰原则
  • 常量:大写字母和下划线。如:MAX_VALUE;
  • java声明规范: 一行只声明 1 个变量

入门小游戏

  1. 概述:整个游戏的代码量很小, 主要使用了两个 Java 图形类中的几个常用方法;
  2. 使用的 Java 库有
    • import java.awt.*
    • import java.swing.*
  3. 插入图片
    • Image image = Toolkit.getDefaultToolkit().getImage("ImagePath")
  4. 加载窗口
    • public class BallGame extends JFrame() {...}
    • 很明显可以看出,这是继承了 JFrame 这个父类方法;
    • 为了实现动画效果, 采用的方法是: 间隔固定时间, 重画窗口;
  public class BallGame extends JFrame {

  private Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png");
  private Image desk = Toolkit.getDefaultToolkit().getImage("image/background.png");

  private double ball_abscissa = 100;
  private double ball_ordinate = 100;

  private double degree = 3.14/3;

  // Load Window
  private void launchFrame() {
      setSize(558, 320);
      // 以屏幕的左顶点为原点,向右为x正方向,向下为y正方向
      setLocation(50,50);
      setVisible(true);

      // 不断重画窗口
      while (true) {
      // repaint() 调用的 paint() 方法;
          repaint();

      // 间隔40ms重画一次窗口;
      // 需要加上异常处理机制,不然 sleep 方法会报错;
          try {
              Thread.sleep(40);
          } catch (Exception e) {
              e.printStackTrace();
            }  
      }
    }

    // Paint Window
    public void paint(Graphics graphics) {
        System.out.println("Once");
        graphics.drawImage(desk, 0, 0, null);
        graphics.drawImage(ball, (int)ball_abscissa, (int)ball_ordinate, null);

        ball_abscissa += 10*Math.cos(degree);
        ball_ordinate += 10*Math.sin(degree);

        // 5 代表球的半径
        // 40 代表窗口上边框的高度
        // 检测上下边界
        if (ball_ordinate < 5+40 || ball_ordinate > 320-5)
            degree = -degree;

        // 检测左右边界
        if (ball_abscissa < 5 || ball_abscissa > 558-5)
            degree = 3.14 - degree;
    }

    public static void main(String[] args) {
        BallGame game = new BallGame();
        game.launchFrame();
    }
  }

java入门(1)程序运行机制及运行过程

首先我们来看一下java程序在底层是怎么工作的:JAVA有两种核心机制:Java虚拟机(JavaVirtualMachine):1、java虚拟机可以理解成一个以字节码为机器指令的CPU。2、对于不同的平台,有不同的虚拟机。3、java虚拟机机制屏蔽了底层运行... 查看详情

java程序运行机制

Java程序运行机制编译型(compile)它有一个负责翻译的程序(编译器),将我们写的Java源代码转为计算机可执行的代码举个例子:把一本中文书翻译成英文书应用:操作系统、C、C++ 解释型编写一次则解释一次举个例子:翻... 查看详情

java应用程序的运行机制

...  java正是这两种类型的结合:  (1)编辑器编写java源程序→源文件名:主类名.java  (2)将源程序编译为字节码→:字节码文件:源文件.class  (3)利用虚拟机解释执行。运行过程:载入、代码校验、解释执行 查看详情

java程序运行机制

举个例子: 一个人叫中国,一个人叫美国,当中国人用中文写了一本书,美国人想看时,需要通过将这本书编译成英文,这个过程可以理解为编译型。聘请一位翻译官进行实时翻译,可以理解为解释型。  查看详情

java应用程序的运行机制

计算机高级语言类型主要有编译型和解释型两种,java是两种类型的结合。 机制:利用编译器(javac)将源文件(后缀名.java)编译成字节码文件(后缀名.class),最后利用虚拟机(jvm,解释器)解释执行。 查看详情

java的运行机制

Java的运行机制Java语言是当前流行的一种程序设计语言,因其安全性、平台无关性、性能优异等特点,受到广大编程爱好者的喜爱。想学习Java语言的同学对于Java的运行机制的运行机制是必须要了解的。Java程序运行时,必须经过... 查看详情

java的运行机制,java小白必看!

Java的运行机制Java语言是当前流行的一种程序设计语言,因其安全性、平台无关性、性能优异等特点,受到广大编程爱好者的喜爱。想学习Java语言的同学对于Java的运行机制的运行机制是必须要了解的。Java程序运行时,必须经过... 查看详情

java程序运行机制

高级语言的运行机制计算机高级语言按程序的执行方式可以分为编译型和解释型两种。编译型语言是指使用专门的编译器,针对特定平台,也就是操作系统将某种高级语言源代码一次性翻译成可被该平台硬件执行的机器... 查看详情

java程序的运行机制是怎么样的?

Java程序的运行机制可以分为以下几个步骤:编写Java源代码:首先,程序员需要使用Java编程语言编写源代码。Java源代码是以.java为扩展名的文本文件,包含了Java程序的逻辑和功能。编译Java源代码:Java源代码需要通过Java编译器... 查看详情

程序语言运行机制

程序语言运行机制编译型解释型 故事理解中国人写了一本小说,美国人想看采用的方式把中文版小说给翻译成英文版如果小说更新,则需要对正本小说进行全本翻译这种方式称为:编译型美国人雇佣一个翻译官进行实施翻译... 查看详情

[学习笔记]java程序运行机制及运行过程

...   吸收了C/C++语言的优点,但去掉了其他影响程序健壮性的部分(如指针、内存的申请与释放等),提供了 查看详情

java运行机制

Java程序运行机制 例子:一个外国人想看中文书编译型:整个编译(更新需要重头编译) 整本书翻译书更新了需要整本书翻译 解释型:编译一句执行一句(重复执行需要重新编译) 有感染翻译官看一段翻译一段... 查看详情

java垃圾回收机制

...回收自动进行内存释放。Java运行时内存区域划分JVM将Java程序运行时内存区域划分成以下几个部分:程序计数器(ProgramCounterRegister,PC)java虚拟机栈本地方法栈java堆方法区,方法区中包括运行时常量池 java运行时内存区域划... 查看详情

java基础_异常机制

1.异常的概念异常(Exception也称例外)就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序当Java程序出现异常时,就会在所处的方法中产生一个异常对象。这个异常对象包括异常的类型,异常出现时程序的... 查看详情

java异常异常处理机制

任何一种程序设计语言设计的程序在运行时都有可能出现错误。捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。对于这些错误,一般有两种解决方法:  遇到错误就终止程序的运行。  由程序员在编写... 查看详情

类加载机制与反射

JVM和类当调用java命令来运行某个Java程序时,该命令会启动一个Java虚拟机进程,不管该Java程序有多么复杂,该程序启动了多少个线程,它们都处于该java虚拟机进程里。正如刚所说,同一个JVM所有线程、所有变量都处于同一个进... 查看详情

java反射机制

1、java反射机制:Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获... 查看详情

浅谈java放射机制

...法的功能称为java语言的反射机制。JAVA反射(放射)机制:程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是 查看详情