Java

1 Java的历史

1.1 Java的起源

​ 1990年单片式计算机系统诞生,SUN公司在1991年由詹姆斯·高斯林领导成立“Green”的项目小组开发一种能够在各种在各种电子产品运行的程序架构。

​ 在编程语言的选择上因为过于复杂和庞大而放弃了当时流行的C++,选择了“oak”(像素)的面向对象语言。

​ 1996年1月,推出了 JDK1.0版本。JDK包括两大部分:开发环境和运行环境。

​ 1997年2月,推出了JDK1.1版本。包含的代表性技术:JDBC、Javabeans、RMI、JAR文件格式、Java语法的内部类和反射。

​ 1998年12月8日,推出了JDK1.2。发布J2EE。

​ 1999年6月,SUN公司把Java体系分成了三个方向:

​ J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;

​ J2SE(Java2 Standard Edition,Java 2平台的标准版),应用于桌面环境;

​ J2EE(Java2 Enterprise Edition,Java2平台的企业版),应用于基于Java的应用服务器;

​ 2004年9月30日,J2SE1.5发布,成为Java发展史的里程碑,更名为java SE 5.0。

​ 2005年6月,SUN公司公布Java SE 6,Java各种版本更名取消数字2:JavaEE、JavaSE、JavaME。

​ 2014年3月18日,Oracle公司发布Java SE8,上一个长期支持版本,国内使用最多版本。

​ 2018年9月26日,JavaSE11发布。大版本变化后第一个长期支持版本。

2 JAVA的体系与特点

1.java的体系

1.1 java SE

标准版:主要应用于桌面开发和低端商务应用解决方案

1.2 java EE

企业版:以企业为环境而开发

1.3 java ME

微型版:主要应用于嵌入式

2.Java 的特性

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

2.1 跨平台原理

3 Java虚拟机(JVM)

面试题1:JVM是什么?

JVM可以理解成一个可运行的Java字节码的虚拟计算机系统。

  • 他有一个解释器组件,可以实现Java字节码和计算机操作系统之间的沟通。
  • 对于不同的运行平台有不同的JVM。

JVM屏蔽了底层运行平台的差别,实现了一次编译,随处运行。

4 垃圾回收器

​ Java语言消除了程序员回收无用内存空间的责任。

​ JVM提供了一个系统线程,跟踪存储空间的分配情况,检查并释放哪些可以被释放的存储空间。垃圾回收器在Java程序运行过程中自动启动,程序员无法精确控制和干预。

5 JDK

​ jdk包含两个部分:

  • jre
    • JVM
    • Java API
  • Java编译器、java运行时解释器、Java文档化工具和其他工具及资源。

​ jre主要有三个功能:

  • 加载代码:由类加载器完成;
  • 校验代码:有字节码校验器完成;
  • 执行代码:有运行时解释器完成;