zoukankan      html  css  js  c++  java
  • Java——Java是什么一门什么语言

    解释型语言

    1. 源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;
    2. 程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次;
    3. 解释性语言代表:Python、JavaScript、Shell、Ruby等
    4. 运行效率一般相对比较低,依赖解释器,跨平台性好;

    编译型语言

    1. 只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高;
    2. 编译性语言代表:C、C++;
    3. 程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;

    Java语言是编译性-解释性语言,因为其同时具备编译性和解释性两种特性;java文件先编译成与平台无关的.class的字节码文件,然后.class的字节码文件既可以在Windows平台上的java虚拟机(JVM)上进行解释运行,也可以在Linux平台上的JVM上解释运行;而JVM的翻译过程时解释性的,JVM从.class的字节码文件中读出一条指令,翻译一条指令,然后执行一条指令,这个过程就称为java的解释执行;

    JVM

    • JVM是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。
    • 可以这样理解JVM,就像两支不同的笔,但需要把同一个笔帽套在这两支笔上面,但是笔不同,肯定套不上去。这时候就需要一个转换器,这个转换器向上提供相同的接口,笔帽可以套在这个接口上面,向上提供不同笔的接口,这样可以套在不同的笔上面,在这里,同一个笔帽就相当于java的字节码文件(.class),转换器相当于JVM虚拟机

    一个java源文件可以包含多个类,但是最多只能有一个是public类定义,如果Java源文件里包含 public类定义,则该源文件的文件名必须与这个 public类的类名相同。

  • 相关阅读:
    hdu 1395 2^x(mod n) = 1(C++)(欧拉定理 分解素因数)
    6. 数论准备知识
    hdu 2973 YAPTCHA(C++)(威尔逊定理)
    牛客小白月赛12——B.华华教月月做数学
    牛客小白月赛12——A.华华听月月唱歌
    5. 卡特兰数(Catalan)公式、证明、代码、典例.
    4.质数判定和质数筛法(埃拉托色尼筛选法,线性筛法/欧拉筛法)
    3.牛顿迭代法求解方程的根
    Codeforces刷题
    刷题计划
  • 原文地址:https://www.cnblogs.com/wugongzi/p/11270322.html
Copyright © 2011-2022 走看看