什么是Java {#heading-1}
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、 指针等概念, 因此Java语言具有功能强大和简单易 用两个特征。Java语言作为静态面向对象编程语言的 代表,极好地实现了面向 对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
JVM、JRE和JDK的关系 {#heading-2}
JVM {#heading-3}
JVM(Java Virtual Machine),即Java虚拟机,运行在操作系统之上,存在于内存中,与内存打交道,与硬件没有直接 交互,是Java语言实现跨平台的核心。 JVM是一种抽象,虚拟出来的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它负责执行指 令,还要管理数据,内存和寄存器,指令集,寄存器,类文件的格式,栈,垃圾回收堆,存储区等。 Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字 节码文件的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能 识别的代码,然后由虚拟机来解释执行。 JVM主要负责运行Java编译器编译后的字节码文件(*.class文件)。这些字 节码只面向JVM,不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只 要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。把字节码解释成具体平台上的机器 码执行。JVM自己无法执行,必须要联合JRE中的Java基础&核心类库才能使用。
JRE {#heading-4}
JRE(Java Runtime Environment),即Java运行环境,支持Java程序运行的标准环境,包含JVM标准实现及Java核心类 库。 JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行 Java程序的必要组件。通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。JRE=JVM+Java 基础和核心类库。
JDK {#heading-5}
JDK(Java Development Kit),即Java开发工具包,是一个编写Java应用程序的开发环境,是java的核心所在。 JDK是整个Java的核心,包括了JRE(Java运行环境),同时在jdk文件夹bin(通常我们配置jdk的环境变量的根目录) 目录中包含了一些Java开发工具(例如:jconsole、javac、java、javadoc、native2ascii、jar等)。JDK=JRE+Java 开发工具(编译器、反编译器、调试器等)。
java三大特性 {#heading-6}
-
封装,是指隐藏对象的属性和实现细节,仅对外提供公共访问方式;
-
继承,从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力;
-
多态,一个方法可以有多种实现版本,即"一种定义, 多种实现"。
什么是封装 {#heading-7}
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
什么是继承 {#heading-8}
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的 功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用 以前的代码。
什么是多态
多态就是继承和重写。允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的 行为方式(发送消息就是函数调用)。猫狗都集成animal,实现各自的吃,跑的方法,表现为多态形式。