美文网首页
1-Java跨平台原理/编译运行机制 基本语法

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

作者: 前端雨 | 来源:发表于2019-01-14 17:26 被阅读0次

平台相关性

  • 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编译和运行机制

编译过程
  • 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跨平台原理/编译运行机制 基本语法

    平台相关性 window系统只能运行的可执行文件(exe) linux系统只能运行linux系统中, 反之亦然 问...

  • 网络协议(一)

    以下内容来自于小码哥"网络协议从入门到底层原理" C\C++跨平台的原理: C\C++跨平台: 使用平台相关的编译...

  • Java面试基础题(一)

    什么是跨平台性?原理是什么? 所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。实现...

  • Cmake 简单使用

    一. CMake编译原理   CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主...

  • Flutter和原生应用性能对比

    我们知道flutter跨平台的原理是采用dart语言预编译的方式直接编译出各个平台的原生代码,而不需要类似RN用J...

  • java运行原理

    了解Java的工作原理以帮助自己深入理解java 1.java程序运行图示: 跨平台说明:java编译器 (编译)...

  • linux, windows, mac, ios等平台GCC预编

    写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码。而跨平台c/c++编程,GCC基本在各...

  • Java跨平台原理

    本文参考:Java跨平台原理 如图所示: 接下来我们再比较下两种方式的差异:第一,C语言是编译执行的,编译器与平台...

  • 【转载】APP常用跨端技术栈深入分析

    导读本文主要针对常用跨端技术Flutter、ReactNative、Weex、H5,从技术特点、基本架构、编译原理...

  • libtool的简单描述

    有一些开源的跨平台项目很喜欢用libtool来编译程序没去深入研究它,简单理解了下它的流程和基本原理 文件之间的关...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/seejdqtx.html