1-Java跨平台原理/编译运行机制 基本语法

平台相关性

  • window系统只能运行的可执行文件(exe)

  • linux系统只能运行linux系统中, 反之亦然

  • 问题: 如何做到街机游戏的跨平台性

    • 游戏包: 与平台无关(在不同平台可以移植)

    • 游戏模拟器: 与平台有关(只需要开发一次)

Java的跨平台性原理

  • 高级语言中, 代码叫源代码, 存放代码的文件叫源文件

  • 通过JavaC编译工具编译成字节码文件

    • 字节码文件(class文件)

      • class文件只能被VM识别,程序员看不懂

      • 和任何平台无关, 不能直接运行在window / linux / mac系统

    • Java虚拟机(JVM): 可识别字节码文件

  • 启动JVM, 并指定加载哪一份字节码文件

    • 启动JVM的工具: Java
  • 总结

    • 编译之后会生成与平台无关的字节码文件

    • 得依赖不同平台的虚拟机(JVM, JVM不跨平台)

JDK - JRE - JVM

  • JRE概念: Java运行环境, 需要JRE支持,包含JVM

  • JVM概念

    • Java虚拟机, 是运行所有Java程序的虚拟计算机, 好比街机游戏的模拟器

    • JVM是Java语言的运行环境, 用于读取并处理编译过的与平台无关的字节码(class)文件, 从而实现Java的可移植性

Java编译和运行机制

1-Java跨平台原理/编译运行机制 基本语法_第1张图片
编译过程
  • Java语言: 编译性语言, 解析性语言

Java基本语法

  1. Java语言严格区别大小写

  2. 一个Java源文件里可以定义多个Java类, 但其中最多一个类被定义为 public 类, 若源文件中包括了 public 类, 源文件必须和该public类同名

  3. 一个源文件中包含N个Java类时, 成功编译后会生成N份字节码文件, 即每个类都会生成单独的一个class类, 且字节码文件名和其对应的类名相同

  4. 若一个类必须运行,则必须拥有main方法, 因为main方法是程序的入口

    • public static viod main(String[], args){}
编程建议
  1. 一个Java源文件只定义一个类, 不同类采用不同源文件定义

  2. 将每个源文件中单独定义的类都定义为 public, 保持Java源文件的主文件名与源文件的类名一致(针对初学)

Java基础

  • 注释类型: 多种类型注释不能嵌套

    1. 单行 // 我是单行注释

    2. 多行 /*多行注释*/

    3. 文档 /**文档注释 */

        ##### 关键字
        *   定义: 一些事先定义, 有特殊含义和用途的单词(小写开头)
      
        ##### 标识符
        *   定义: 增强代码的可读性会定义很多名字, 如: 类名, 方法名, 变量名
      
        *   命名规则
            1.  由字母, 数字, 下划线, $符组成. 但不能以数字开头
            2.  大小写敏感
            3.  不能使用Java中关键字和保留字
            4.  类名首字母大写, 不能使用Java内置类名
      

你可能感兴趣的:(1-Java跨平台原理/编译运行机制 基本语法)