跟光磊学Java-Java概述

本文思维导图

1. Java的发展简史

现在人们谈论Java的时候,它所表示的含义发生了一些变化,Java不只是一门高级计算机语言,更是最流行的开发平台和运行平台。

1.1 Java的发展简史-起源

在20世纪90年代(1990年)出现了一种新型的技术-单片机系统,被很多商业公司发现是一个商机,将单片机系统植入到家电设备(电视机、电冰箱、微波炉、烤箱)中可以提高家电设备的智能化水平->智能家电

Sun公司为了抢占智能家电的市场,开启了Green项目,该项目由James Gosling领导。

James Gosling

一开始James Gosling决定使用C++语言实现(1983年诞生了C++语言),但是那会儿的C++不支持跨平台,因为不同的家电设备的硬件不同,如果更换了家电设备,程序的代码需要更改。

因此James Gosling决定在C++的基础之上进行扩展和修改,但是最终重新设计了一门计算机语言-Oak(橡树),但是后来在注册商标的时候发现已经有人使用了,所以改成了Java(印度尼西亚爪哇岛)

java logo


在2009年的时候Oracle以74亿美金收购了Sun公司,这样也就意味着Sun公司的Java、MySQL、Solaris都是属于Oracle。

1.2 Java的发展简史-流行

在20世纪90年代中后期,Java赶上了互联网的发展潮流,而互联网的特点和家电设备的特点有点类似:不同计算机的硬件设备也不同。

当时业界为了使得死板、单调的静态网页能够灵活起来,急需要一种技术开发动态的网页,这种程序可以通过互联网访问,还能够跨平台。

得益于Java的跨平台,而且可以制作Applet(一种将小程序嵌入到网页中执行的技术)逐渐流行起来

1.3 Java的发展简史-生态

经过20多年(1995年Sun公司正式对外发布了Java)的发展,逐步建立起自己强大的生态体系,尤其是自从JDK1.4以后涌现出来了非常多的为了简化开发的开源框架和中间件,例如MyBatis,Spring Framework,Spring Boot,Spring Cloud,Spring Cloud Alibaba等等。

1.4 Java的发展简史-开发平台

Java在大型分布式系统的后台(淘宝、天猫、支付宝、菜鸟物流、顺丰物流)、移动端的Android应用开发以及大数据开发占据了广阔的市场(一哥)

1.5 Java的发展简史-运行平台

Java的程序是在JVM(Java Virtual Machine)上运行的,这就是Java能够跨平台的本质原因,由于Java是开放的,有越来越多的计算机语言编写的程序也可以运行在JVM之上,例如Scala,Kotlin,Grovvy等等。

2. Java的特点

由于Java语言是开源的,也得到了很多大公司(Alibaba,Tencent,HUAWEI,Oracle,Amazon,Google)的支持,逐渐发展成了具有开源、跨平台、高性能、安全可靠、支持多线程、分布式等等诸多的特点的开发平台和运行平台。

2.1 Java是面向对象的

Java是基于C/C++的基础之上发展而来的,不同于C/C++的是Java是纯粹的面向对象的语言

面向对象就是当我们去做一件事情的时候不自己做,而是让别人做,而且我们只关心结果不在乎过程。例如去饭店吃饭,用洗衣机洗衣服等等。

2.2 Java是简单易学的

Java舍弃了C语言中特别容易引起错误的指针,并且引入了垃圾回收机制,这样在大部分场景下不需要手动释放内存,而且Java还舍弃了C++语言中一些特别复杂的语法,例如运算符重载、多继承等等。Java相比C/C++而言更加简单易学(入门简单)

2.3 Java是开源的

开源指的就是开放源代码,例如QQ、微信是不开源的,而Linux,Visual Studio Code等等都是开源的。

linux kernel

Java开源的好处就是开发者可以通过阅读Java语言以及相关框架、中间件的源码查看具体的实现过程,从而提高自己的技术水平。

在企业面试的时候面试官也会经常问是否阅读过Java语言以及相关框架、中间件的源码

2.4 Java是跨平台的

平台就是操作系统(OS),目前桌面端主流的操作系统就是Windows,macOS,服务端的操作系统是Linux(CentOS,Ubuntu Server)

我们以后去公司开发Java项目,首先在开发环境开发Java项目,项目开发完成以后,然后部署到测试环境进行相关的测试,测试通过以后部署到生产环境对外提供服务。

不同的环境使用的操作系统也是不同的

Windows


macOS


跨平台的含义就是在Windows上开发的Java项目不需要做任何的修改就可以直接在其他安装了JDK的操作系统(macOS,Linux)上运行。

跨平台的好处就是节省人力成本,因为开发一次项目通过JDK适配多个操作系统。

2.5 Java是体系结构中立的

体系结构中立有两层含义

  1. JVM的实现只需要遵守Oracle官方提供的JVM规范即可,不过大部分的Java应用都是使用Oracle官方提供的HotSpot虚拟机,除此以外一些互联网大厂(阿里巴巴、腾讯、华为)会根据自己的需求来定制JVM(定制JDK)
  2. JVM除了可以识别Java编译器(javac)编译生成的字节码文件(.class结尾的文件)以外,还可以识别Scala,Kotlin,Grovvy等等计算机语言生成的字节码文件。

3. Java的技术体系平台

3.1 Java的技术体系平台介绍

自从1998年以后Java被分成了三个版本,这三个版本分别是JavaSE,JavaEE(JakartaEE),JavaME,每个版本都是有自己的应用场景(开发方向)

3.2 Java的学习路线

由于Java主要是擅长大型分布式系统的后台开发、大数据系统开发、Android应用开发三个开发方向

而Java语言是这三个开发方向的基石语言,无论选择哪个开发方向,首先必须要学习Java语言,然后根据市场的需求再结合自己的兴趣选择对应的开发方向。

根据现在的市场就业形势,一般大部分人都会选择大型分布式系统的后台开发,然后积累2-3年工作经验以后有兴趣可以转向大数据系统开发。

基本的学习路线:JavaSE->JavaEE->大数据

4. JDK和JRE

4.1 JDK和JRE的介绍

4.1 Oracle Java SE Support Roadmap

Oracle Java SE Support Roadmap 访问地址 https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Oracle Java SE Support Roadmap



LTS表示Oracle官方长期支持的版本,例如Java8,Java11,Java17,Java21,其中Java8官方支持到2030年12月,Java17官方支持到2029年9月,Oracle官方每3年发布一个LTS版本

non-LTS表示非Oracle官方长期支持的版本(测试版),例如Java9,Java10,Java12等等都是non-LTS版本,Oracle官方每半年发布一个non-LTS版本

4.2 如何选择JDK版本

选择JDK版本的时候分两种情况

  1. 我们在学习Java的时候可以选择高版本的JDK,但是必须是LTS版本,例如Java17
  2. 我们以后去公司开发项目的时候,公司已有的项目用什么JDK版本,那么你就优先使用什么JDK版本,公司从0开始开发项目,那么优先选择稳定而且是官方长期支持的版本,例如Java8或者Java17,目前大部分的互联网公司的Java项目都是使用Java8
展开阅读全文

页面更新:2024-04-02

标签:家电   简史   语言   版本   环境   程序   项目   官方   平台   公司

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top