Aliang's blog Aliang's blog
  • Java
  • 多线程
  • MySql
  • 常见面试问题
  • 技术文档
  • GitHub技巧
随笔
    • 分类
    • 标签
    • 归档
    • 音乐
    • 友链
    • 关于
GitHub (opens new window)

Aliang

你永远不会过度准备
  • Java
  • 多线程
  • MySql
  • 常见面试问题
  • 技术文档
  • GitHub技巧
随笔
    • 分类
    • 标签
    • 归档
    • 音乐
    • 友链
    • 关于
GitHub (opens new window)
  • Java

    • Java简介
    • JDK 安装步骤 ( windows + linux )
    • 什么是反射
    • JAVA8 新特性
    • Java动态代理
    • 神奇的正则表达式
    • QPS、PV、UV 等常用术语介绍
    • HashMap 的 7 种遍历方式与性能分析
    • HashMap 相关问题总结
    • 为什么建议你使用 LocalDateTime ,而不是 Date ?
    • 无比强大的JMH基准测试工具
  • 多线程

  • SpringBoot

  • MySql

  • Redis

  • Lombok

  • Maven

  • Git

  • 常见面试问题

  • 编程
  • Java
Aliang
2020.12.07
0
目录

Java简介

# 起源

  Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(高司令,人称Java之父)在上个世纪90年代初开发的一种编程语言,最初被命名为Oak, 目标是针对小型家电设备的嵌入式应用,结果市场没啥反响。 谁料到互联网的崛起,让Oak重新焕发了生机,于是SUN公司改造了Oak,在1995年以Java的名称正式发布,原因是Oak已经被人注册了,因此SUN注册了Java这个商标。 随着互联网的高速发展,Java逐渐成为最重要的网络编程语言。   Java介于编译型语言和解释型语言之间。编译型语言如C、C++,代码是直接编译成机器码执行,但是不同的平台(x86、ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。解释型语言如Python、Ruby没有这个问题,可以由解释器直接加载源码然后运行,代价是运行效率太低。而Java是将代码编译成一种“字节码”,它类似于抽象的CPU指令,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。

随着Java的发展,SUN给Java又分出了三个不同版本:

  • Java SE:Standard Edition
  • Java EE:Enterprise Edition
  • Java ME:Micro Edition

这三者之间有啥关系呢?

┌───────────────────────────┐
│Java EE                    │
│    ┌────────────────────┐ │
│    │Java SE             │ │
│    │    ┌─────────────┐ │ │
│    │    │   Java ME   │ │ │
│    │    └─────────────┘ │ │
│    └────────────────────┘ │
└───────────────────────────┘
1
2
3
4
5
6
7
8
9

简单来说,Java SE就是标准版,包含标准的JVM和标准库,而Java EE是企业版,它只是在Java SE的基础上加上了大量的API和库,以便方便开发Web应用、数据库、消息服务等,Java EE的应用使用的虚拟机和Java SE完全相同。

Java ME就和Java SE不同,它是一个针对嵌入式设备的“瘦身版”,Java SE的标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版”。

毫无疑问,Java SE是整个Java平台的核心,而Java EE是进一步学习Web应用所必须的。我们熟悉的Spring等框架都是Java EE开源生态系统的一部分。不幸的是,Java ME从来没有真正流行起来,反而是Android开发成为了移动平台的标准之一,因此,没有特殊需求,不建议学习Java ME。

# Java版本

从 1995 年发布1.0版本开始,到目前为止,最新的Java版本是 Java 18 :

时间
版本
2022/3 18
2021/9 17
2021/3 16
2020/9 15
2020/3 14
2019/9 13
2019/3 12
2018/9 11
2018/3 10
2017/9 1.9 / 9.0
2014 1.8 / 8.0
2011 1.7 / 7.0
2005 1.6 / 6.0
2004 1.5 / 5.0
2002 1.4
2000 1.3
1998 1.2
1995 1.0
编辑 (opens new window)
更新于: 2022-06-19 23:45:47
JDK 安装步骤 ( windows + linux )

JDK 安装步骤 ( windows + linux )→

Theme by Vdoing | Copyright © 2020-2022 Aliang
京ICP备2021015997号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式