Java 程序运行机制

目录

  • Java 程序运行机制

    • 运行过程
    • 注释
    • JDK, JRE, JVM
    • 第一个 JAVA 程序
    • java命名规范
    • 入门小游戏

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();
    }
  }

原文地址:https://www.cnblogs.com/rongyupan/p/12670443.html

时间: 2024-08-29 00:35:28

Java 程序运行机制的相关文章

Java程序运行机制及运行过程

Java运行机制 Java虚拟机(Java Virtual Machine):Java虚拟机可以理解成一个以字节码为机器指令的CPU:对于不同的运行平台,有不同的虚拟机:Java虚拟机机制屏蔽了底层运行平台的差别,真正实现了“一次编译,随处运行”. Java垃圾回收(Garbage Collection):不用使用的内存空间应该回收:在C/C++等语言中,由程序员负责回收无用的内存:Java语言消除了程序员回收无用内存的职 责,它提供一种系统级线程跟踪存贮空间的分配情况,并在JVM空闲的时候,检

Java程序运行机制

高级语言的运行机制 计算机高级语言按程序的执行方式可以分为编译型和解释型两种. 编译型语言是指使用专门的编译器,针对特定平台,也就是操作系统将某种高级语言源代码一次性翻译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序 的格式,这个转换过程称为编译,编译生成的可执行性程序可以脱离开发环境,在特定的平台上独立运行. 有些程序编译结束后,还可能需要对其他编译好的目标代码进行连接,即组装两个以上的目标代码模板生成最终的可执行性程序,通过这种方式实现低层次的代码复用. 因为编译型语言是

1、java基础之java程序运行机制

计算机高级语言按程序的执行方式可以分为编译型和解释型两种. 我们可以通过helloworld来理解这几个缩写词的具体含义: 1 public class HelloWorld { 2 public static void main(String[] args) { 3 System.out.println("helloworld"); 4 } 5 } HelloWord 编译之后, 我们得到了HelloWorld.class(图中的"Your program's class

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

首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. 2.对于不同的平台,有不同的虚拟机. 3.java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”. 垃圾收集机制(Garbage collection) 1.不再使用的内存空间应回收——垃圾收集 2.Java语言相对于C/C++而言消除了程序员回收无用内存空间的责任:提供了一种系统

java语言运行机制及运行过程

java语言的特点 1.面向对象     1.1 两个基本概念:类.对象      1.2 三大特性:封装.继承.多态 2.健壮性     吸收了c/c++语言的优点,但是去掉了影响程序健壮性的部分(如指针.内存的申请与释放等),提供了一个相对安全的内存管理和访问机制 3.跨平台性     3.1 通过java语言编写的应用程序在不同的系统平台上都可以运行.           Write once,Run Anywhere      3.2 原理:只要在需要运行java应用程序的操作系统上,先

Java的运行机制概括

这次随笔主要记录一下我对Java的平台无关性一些新的理解,以前只知道是Java是一门很容易跨平台的语言,正如 "Compile once, run anywhere" 这句话,也知道Java会先加载class字节码文件的机制,但对此是一知半解,所以我觉得有必要深入的总结一下它的加载机制. 你所了解的Java机制 编写源码 编译为字节码 通过JVM将字节码解释为机器码 这的确是Java代码的基本加载过程,因此有时候我们称"Java是解释执行的",但最近看了一篇相关文章

什么是JDK,JRE以及Java的运行机制和环境变量path,classpath的区别

1,JDK SUN公司提供了一套Java开发环境,简称JDK,它是整个Java的核心,其中包括Java编译器,Java运行工具,Java文档生成工具,Java打包工具等. 2,JRE SUN公司除了提供JDK,还提供了一种JRE工具,它是Java的运行环境,只需要运行事先编写好的程序,因此JRE工具中只包含Java运行工具,不包含Java编译工具. 3,为了方便使用,SUN公司在其JDK工具中自带了一个JRE工具,也就是说开发环境中包含了运行环境,这样一来,开发人员只需要在计算机上安装JDK,不

Java的运行机制

Java语言是当前流行的一种程序设计语言,因其安全性.平台无关性.性能优异等特点,受到广大编程爱好者的喜爱. 想学习Java语言的同学对于Java的运行机制的运行机制是必须要了解的. Java程序运行时,必须经过编译和运行两个步骤.首先将后缀名为Java的源文件进行编译,最终生成后缀名为.class的字节码文件.然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来. 为了方便理解Java程序运行的过程,我们把具体步骤写下来. ①编写一个 Hello world.Java的文件. ②使用“

java程序运行原理

一.JRE.JDK.JVM 要了解java程序运行原理,首先需要了解知道jre.jdk.jvm这三者是什么,他们之间又有什么联系. JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台.所有的Java 程序都要在JRE下才能运行. JDK(Java Development Kit,java开发工具包)是程序开发者用来来编译.调试java程序用的开发工具包.JDK的工具也是Java程序,也需要JRE才能运行.为了保持JDK的独立性和完整性,在JDK的安装过程