01-JAVA基础_1 邂逅爪哇

温性提示: 浏览器调整为90%阅读更佳,点我查看效果

早起的鸟儿有虫吃,瞎写的代码有Bug!
01-JAVA基础_1 邂逅爪哇_第1张图片

1.java起源与演变

1.1 起源

01-JAVA基础_1 邂逅爪哇_第2张图片

1.2. 演变

01-JAVA基础_1 邂逅爪哇_第3张图片
01-JAVA基础_1 邂逅爪哇_第4张图片

1999 年 4 月 27 日,HotSpot 虚拟机发布。HotSpot 是由一家叫“Longview Technologies”的小公司开 发的,后来被 SUN 公司收购。HotSpot 虚拟机发布时是作为 JDK 1.2 的附加程序提供的,后来它成 为了 JDK 1.3 及之后所有版本的 Sun JDK 的默认虚拟机 。

2000 年 5 月,JDK1.3、JDK1.4 和 J2SE1.3 相继发布,J2SE1.3 是对 J2SE1.2 的补充和扩展,从应 用领域的角度分析,JavaSE1.3 已经涵盖了数据库、WEB、网络、图形、多媒体、电话、影像等大 部分的信息技术领域。

2002 年 2 月 26 日,J2SE1.4 发布。与 J2SE1.3 相比,多了近 62%的类和接口。在这些新特性当中, 还提供了广泛的 XML 支持、安全套接字(Socket)支持(通过 SSL 与 TLS 协议)、全新的 I/OAPI、 正则表达式、日志与断言。

2004 年 9 月 30 日,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要 性,J2SE 1.5 更名为 Java SE 5.0(内部版本号 1.5.0)。Java SE 5.0 包含了从 1996 年发布 1.0 版 本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化 I/O 及可变参数。

2005 年 6 月,在 Java One 大会上,Sun 公司发布了 Java SE 6。此时,Java 的各种版本已经更名, 已取消其中的数字 2,如 J2EE 更名为 JavaEE,J2SE 更名为 JavaSE,J2ME 更名为 JavaME。

2011 年 7 月 28 日,收购 Sun 公司的 Oracle 发布了 Java SE 7,引入了二进制整数、支持字符串的 switch 语句、棱形语法、多异常捕抓、自动关闭资源的 try 语言等新特性。

2014 年 3 月 18 日,Oracle 公司发布 Java SE8,这次版本升级为 Java 带来了全新的 Lambda 表达 式、流式编程等大量新特性,这些新特性使得 Java 变得更加强大。

2017 年 9 月 22 日,Oracle 公司发布 Java SE 9,这次版本升级强化了 Java 的模块化系统,让 Java 语言更轻量化,且采用了更高效、更智能的 GI 垃圾回收器,并在核心类库上进行大量更新,可进一 步简化编程。

2018 年 3 月 21 日,Java SE 10 发布,Java 10 版本带来了很多新特性,其中最备受广大开发者 关注的莫过于局部变量类型推断。此外,还包垃圾收集器改善、GC 改进、性能提升、线程管控等新 特性。

2018 年 9 月 26 日,Java SE 11 发布。这是 Java 大版本周期变化后的第一个长期支持版本(LTS 版本持续支持到 2026 年 9 月)。Java11 带来了 ZGC、Http Client 等重要特性,一共包含 17 个 JEP (JDK Enhancement Proposals,JDK 增强提案)。

2019 年 3 月 20 日,Java SE 12 发布。Java 12 是短期支持版本,可在下一个版本发布之前获得 Oracle 的商业支持。

2019 年 9 月 23 日,Java SE 13 发布,此版本中添加了“文本块”,文本块是一个多行字符串文字, 避免对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

2.java体系和特点

Java SE:Java Platform,Standard Edition
标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。

Java EE:Java Platform,Enterprise Edition
企业版:以企业为环境而开发应用程序的解决方案

Java ME :Java Platform, Micro Edition
微型版:致力于消费产品 和嵌入式设备的最佳解决方案

Java 可以做什么?

  • 开发桌面应用程序
    银行软件、商场结算软件

  • 开发面向 Internet 的 web 应用程序
    门户网站(工商银行)、网上商城、阿里巴巴、电子商务网站

  • 提供各行业的解决方案
    金融、电信、电力…

  • 嵌入式开发
    移动电话、可视电话、数字机顶盒和汽车导航系统

3.java特性

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

4. Java 跨平台原理

01-JAVA基础_1 邂逅爪哇_第5张图片

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

  • Java 虚拟机(Java Virtual Machine)
  • JVM 垃圾回收器(Garbage Collection) GC
    01-JAVA基础_1 邂逅爪哇_第6张图片

4.2、Java 虚拟机(JVM)

01-JAVA基础_1 邂逅爪哇_第7张图片
JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统

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

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

4.3、垃圾回收器(GC)

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

4.4 .Java SE 的组成概念图

01-JAVA基础_1 邂逅爪哇_第8张图片

4.5 JDK || JRE

JDK【【JRE】【java API】】

JDK(Java Development Kits)-- Java 开发工具集
 JRE(Java Runtime Environment)Java 运行时环境

JRE

  1. 加载代码(由类加载器(class loader))完成
  2. 校验代码(由字节码校验器(bytecode verifier ))完成
  3. 执行代码(由运行时解释器(runtime interpreter))完成

JVM Java API (应用程序编程接口)
 Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化化工具(javadoc.exe)及其它工具及资源

5、 Java 程序开发的三个步骤

01-JAVA基础_1 邂逅爪哇_第9张图片

6. 第一个java程序

//关机和取消关机 
package com.kkb.demo;
import java.io.IOException;
public class Demo1 {
//代码分为结构定义语句&&功能执行语句 分号结尾
public static void main(String[] args) throws IOException {
	//关机
//		Runtime.getRuntime().exec("shutdown -s -t 100000000");
	//取消关机
	Runtime.getRuntime().exec("shutdown -a");
	}
}

系列文章 《和我一起学Java》

你可能感兴趣的:(#,和我一起学java,java)