现在人们谈论Java的时候,它所表示的含义发生了一些变化,Java不只是一门高级计算机语言,更是最流行的开发平台和运行平台。
在20世纪90年代(1990年)出现了一种新型的技术-单片机系统,被很多商业公司发现是一个商机,将单片机系统植入到家电设备(电视机、电冰箱、微波炉、烤箱)中可以提高家电设备的智能化水平->智能家电
Sun公司为了抢占智能家电的市场,开启了Green项目,该项目由James Gosling领导。
一开始James Gosling决定使用C++语言实现(1983年诞生了C++语言),但是那会儿的C++不支持跨平台,因为不同的家电设备的硬件不同,如果更换了家电设备,程序的代码需要更改。
因此James Gosling决定在C++的基础之上进行扩展和修改,但是最终重新设计了一门计算机语言-Oak(橡树),但是后来在注册商标的时候发现已经有人使用了,所以改成了Java(印度尼西亚爪哇岛)
在2009年的时候Oracle以74亿美金收购了Sun公司,这样也就意味着Sun公司的Java、MySQL、Solaris都是属于Oracle。
在20世纪90年代中后期,Java赶上了互联网的发展潮流,而互联网的特点和家电设备的特点有点类似:不同计算机的硬件设备也不同。
当时业界为了使得死板、单调的静态网页能够灵活起来,急需要一种技术开发动态的网页,这种程序可以通过互联网访问,还能够跨平台。
得益于Java的跨平台,而且可以制作Applet(一种将小程序嵌入到网页中执行的技术)逐渐流行起来
经过20多年(1995年Sun公司正式对外发布了Java)的发展,逐步建立起自己强大的生态体系,尤其是自从JDK1.4以后涌现出来了非常多的为了简化开发的开源框架和中间件,例如MyBatis,Spring Framework,Spring Boot,Spring Cloud,Spring Cloud Alibaba等等。
Java在大型分布式系统的后台(淘宝、天猫、支付宝、菜鸟物流、顺丰物流)、移动端的Android应用开发以及大数据开发占据了广阔的市场(一哥)
Java的程序是在JVM(Java Virtual Machine)上运行的,这就是Java能够跨平台的本质原因,由于Java是开放的,有越来越多的计算机语言编写的程序也可以运行在JVM之上,例如Scala,Kotlin,Grovvy等等。
由于Java语言是开源的,也得到了很多大公司(Alibaba,Tencent,HUAWEI,Oracle,Amazon,Google)的支持,逐渐发展成了具有开源、跨平台、高性能、安全可靠、支持多线程、分布式等等诸多的特点的开发平台和运行平台。
Java是基于C/C++的基础之上发展而来的,不同于C/C++的是Java是纯粹的面向对象的语言
面向对象就是当我们去做一件事情的时候不自己做,而是让别人做,而且我们只关心结果不在乎过程。例如去饭店吃饭,用洗衣机洗衣服等等。
Java舍弃了C语言中特别容易引起错误的指针,并且引入了垃圾回收机制,这样在大部分场景下不需要手动释放内存,而且Java还舍弃了C++语言中一些特别复杂的语法,例如运算符重载、多继承等等。Java相比C/C++而言更加简单易学(入门简单)
开源指的就是开放源代码,例如QQ、微信是不开源的,而Linux,Visual Studio Code等等都是开源的。
Java开源的好处就是开发者可以通过阅读Java语言以及相关框架、中间件的源码查看具体的实现过程,从而提高自己的技术水平。
在企业面试的时候面试官也会经常问是否阅读过Java语言以及相关框架、中间件的源码
平台就是操作系统(OS),目前桌面端主流的操作系统就是Windows,macOS,服务端的操作系统是Linux(CentOS,Ubuntu Server)
我们以后去公司开发Java项目,首先在开发环境开发Java项目,项目开发完成以后,然后部署到测试环境进行相关的测试,测试通过以后部署到生产环境对外提供服务。
不同的环境使用的操作系统也是不同的
跨平台的含义就是在Windows上开发的Java项目不需要做任何的修改就可以直接在其他安装了JDK的操作系统(macOS,Linux)上运行。
跨平台的好处就是节省人力成本,因为开发一次项目通过JDK适配多个操作系统。
体系结构中立有两层含义
自从1998年以后Java被分成了三个版本,这三个版本分别是JavaSE,JavaEE(JakartaEE),JavaME,每个版本都是有自己的应用场景(开发方向)
由于Java主要是擅长大型分布式系统的后台开发、大数据系统开发、Android应用开发三个开发方向
而Java语言是这三个开发方向的基石语言,无论选择哪个开发方向,首先必须要学习Java语言,然后根据市场的需求再结合自己的兴趣选择对应的开发方向。
根据现在的市场就业形势,一般大部分人都会选择大型分布式系统的后台开发,然后积累2-3年工作经验以后有兴趣可以转向大数据系统开发。
基本的学习路线:JavaSE->JavaEE->大数据
Oracle Java SE Support Roadmap 访问地址 https://www.oracle.com/java/technologies/java-se-support-roadmap.html
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版本
选择JDK版本的时候分两种情况
页面更新:2024-04-02
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号