当前位置 博文首页 > @王某人:java基础概念

    @王某人:java基础概念

    作者:[db:作者] 时间:2021-07-05 18:57

    1、Java起源与演变

    在这里插入图片描述

    1.1起源

    ????????SUN 公司为了抢占市场先机,在 1991 年成立了一个由詹姆斯·高斯林(java之父James Gosling)领导, 名为“Green”项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。
    ????????但 C++过于复杂和庞大,再加上由于消费电子产品所采用的嵌入式处理 器芯片的种类繁杂。
    ????????最后项目小组决定:既不用 C++编写,也不开发全新的编程语言,而是对 C++进行改造:去除了 C++复杂的指针和内存管理,并结合嵌入式系统的实时性要求,最终在 1992 年,他们开发了一种名 为“Oak”(橡树)的面向对象语言。
    ????????1995年,,OaK 正式更名为 Java。从此,Java 在互联网的推动下火了。

    2、Java体系结构与特点

    2.1 Java的开发平台

    ????JavaSE(J2SE)【Java2 Standard Edition】:标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。
    ????JavaEE(J2EE)【Java 2 Platform,Enterprise Edition】:企业版:以企业为环境而开发应用程序的解决方案
    ????JavaME(J2ME)【Java 2 Micro Edition】:java移动端开发平台 逐渐退出历史舞台微型版:致力于消费产品 和嵌入式设备的最佳解决方案
    ????Java Card: java做一些小型程序或者嵌入式方向开发

    2.2 java特性

    一种纯面向对象的编程语言。
    一种与平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境)
    一种健壮的语言,吸收了 C/C++语言的优点。
    有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)

    3、Java跨平台原理

    Java跨平台原理是因为我们编写的Java源代码可以通过编译变成Java字节码,然后通过jvm在不同的操作系统上执行。GVM可以理解为一个万能翻译机,可以实现Java字节码与操作系统之间的通信。
    在这里插入图片描述

    3.1、Java 技术的两种核心机制

    在这里插入图片描述

    3.2 Java 虚拟机(Java Virtual Machine)

    在这里插入图片描述
    JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统
    它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信
    对于不同的运行平台,有不同 的 JVM。
    JVM 屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

    3.3 JVM 垃圾回收器(Garbage Collection) GC

    不再使用的内存空间应当进行回收-垃圾回收。
    在 C/C++等语言中,由程序员负责回收无用内存。
    Java 语言消除了程序员回收无用内存空间的责任:
    JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间。 垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预。

    3.4 JavaSE组成概念

    在这里插入图片描述

    3.5、JDK

    ????????JDK 全称 Java Development ToolKit,是 Java 语言开发工具包。JDK 是整个 JAVA 的核心,包括了 Java 运行环 境(Java Runtime Environment),一堆 Java 工具(javac/java/jdb 等)和 Java 基础的类库(即 Java API 包括 rt.jar)。 它不提供具体的开发软件,它提供的是无论你用何种开发软件写 Java 程序都必须用到的类库和 Java 语言规范。
    ???????? JRE(Java Runtime Environment)Java 运行时环境
    ???????? JVM Java API (应用程序编程接口)
    ???????? Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化工具(javadoc.exe)及其它工具及资源
    ????????JRE 的三项主要功能:
    ???????? ? 加载代码:由类加载器(class loader)完成;
    ????????? 校验代码:由字节码校验器(byte code verifier)完成;
    ???????? ? 执行代码:由运行时解释器(runtime interpreter)完成。

    cs
    下一篇:没有了