什么是Java

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、 指针等概念, 因此Java语言具有功能强大和简单易 用两个特征。Java语言作为静态面向对象编程语言的 代表,极好地实现了面向 对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

JVM、JRE和JDK的关系

JVM

JVM(Java Virtual Machine),即Java虚拟机,运行在操作系统之上,存在于内存中,与内存打交道,与硬件没有直接 交互,是Java语言实现跨平台的核心。 JVM是一种抽象,虚拟出来的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它负责执行指 令,还要管理数据,内存和寄存器,指令集,寄存器,类文件的格式,栈,垃圾回收堆,存储区等。 Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字 节码文件的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能 识别的代码,然后由虚拟机来解释执行。 JVM主要负责运行Java编译器编译后的字节码文件(*.class文件)。这些字 节码只面向JVM,不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只 要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。把字节码解释成具体平台上的机器 码执行。JVM自己无法执行,必须要联合JRE中的Java基础&核心类库才能使用。

JRE

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

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三大特性

  1. 封装,是指隐藏对象的属性和实现细节,仅对外提供公共访问方式;

  2. 继承,从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力;

  3. 多态,一个方法可以有多种实现版本,即“一种定义, 多种实现”。

什么是封装

隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

什么是继承

继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的 功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用 以前的代码。

什么是多态

多态就是继承和重写。允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的 行为方式(发送消息就是函数调用)。猫狗都集成animal,实现各自的吃,跑的方法,表现为多态形式。