java基本介绍
Java发展:
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总 称。由 “Java 之父”-James Gosling (詹姆斯 · 高斯林)和同事们共同研发,并在 1995 年正式推出。
Java语言的主要特点:
1.跨平台性:所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。
2.面向对象:面向对象是指以对象为基本粒度,其下包含属性和方法。对象的
说明用属性表达,而通过使用方法来操作这个对象。
3. 安全性:安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。
4. 多线程:多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。
5. 简单易用:Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。

Java语言的几大特性:

  1. 封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。
  2. 继承:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 Java继承是使用已存在的类的定义作为基础建立新类
    的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父
    类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用
  3. 多态: 按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作 多态的话,我觉得是更好的利用了继承这一特性,然后为什么能实现多态,因为可以重写父类的方法。说重写可能不清楚,具体来说就是子类父
    类可以存在分别存在名字相同的属性或者方法,然后可视声明的类去调用相应的方法等。
    4.抽象: 抽象是通过分析与综合的途径,运用概念在人脑中再现对象的质和本质的方法,我觉得理解 成一种方法比较好。就是我们通过对事物的认知,将某一或者一类事物的属性变化成JAVA语言能识别的类。

Java的核心机制:

  1. Java 虚拟机(Java Virtual Machine)简称:JVM;
  2. 垃圾收集机制(Garbage collection)简称:GC;
    垃圾收集的目的在移除不再使用的对象,当对象建立的时候垃圾收集期,就开始监控对象的动态情
    况,垃圾收集主要是对内存的释放。创建对象的时候申请一个空间
    . 再使用的内存空间应回收 - 垃圾收集;
    . Java 消除了程序员回收无用内存空间的职责;提供一种系统级线程跟踪存储空间的分配情 况。在 JVM 的空闲时,检查并释放可被释放的存储器空间;

原码:用第一位表示符号,其余位表示值。因为第一位是符号位,所以8位二进制数的取值范围就是[1111 1111,0111 1111]即[-127,127],原码是容易被人脑所理解的表达方式
反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。例如正数1的原码是[0000 0001],它的反码是其本身[0000 0001],-1的原码是[1000 0001],其反码是[1111 1110]
补码:正数的补码是其本身,负数的补码是这其反码的基础上+1。例如正数1的原码是[0000 0001],它的补码是其本身[0000 0001],-1的补码是[0000 0001]

JRE、JDK、JVM 之间的区别与联系
JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了jre 和开发工具包。
JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。
JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。jvm是 Java 能够跨平台的核心。
这三者的关系是:一层层的嵌套关系,JDK 包含 JRE,JRE 包含 JVM