首页 > 编程语言 >第03章 Java概述

第03章 Java概述

时间:2022-09-28 11:02:37浏览次数:47  
标签:03 Java 语言 C++ 跨平台 开发 概述 JVM

第03章 Java概述

第01阶段 Java语言核心技术

1.Java的发展简史

Java的发展历史要追溯到20世纪90年代(1990年)出现了一种新型的技术-单片机系统,被许多商业公司发现是一个商机,将单片机系统植入到家电设备(电视机、电冰箱、微波炉、烤箱等等)中可以提高家电设备的智能化水平(类似于现在的智能家电),Sun公司为了抢占智能家电的市场,开启了Green计划,这个计划是Java之父詹姆斯·高斯林 (James Gosling)领导的项目小组。

詹姆斯·高斯林 (James Gosling)
詹姆斯·高斯林 (James Gosling)

项目小组首先考虑使用C++ 语言实现(C++ 语言于1983年诞生),但是C++ 过于复杂和庞大(消费电子产品所采用的嵌入式处理器芯片的种类繁杂),更不能支持跨平台,由于不同的家电设备的硬件不同,程序代码就需要不停的改。最后项目小组决定对C++ 进行修改和扩展,最终在1992年,他们开发了一种名为“Oak”(橡树)的面向对象语言。但是在注册商标的时候发现已经被使用了,所以后来正式更名为为Java(印度尼西亚爪哇岛)

Java
Java

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

(1)Java的发展简史-流行

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

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

得益于Java的跨平台的特性,而且可以制作支持Java的Web浏览器内运行的Java程序(Applet)而逐渐流行起来。

(2)Java的发展简史-生态

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

而且自从JDK1.4以后涌现出来了很多为了简化分布式系统开发的开源框架、中间件,例如MyBatis,Spring Framework,Spring Boot,Spring Cloud ,Spring Cloud Tencent,Netty,Dubbo,RocketMQ等等都是使用Java开发的。开发者可以通过阅读Java语言和框架、中间件的源码可以提高自己的技术水平。现如今Java人不仅仅是一门计算机语言,更是最流行的开发平台运行平台

Java的发展简史-开发平台

经过20多年的发展,1995年Sun公司正式对外发布了Java,逐步建立起了自己强大的生态体系,在大型分布式系统(淘宝、天猫、菜鸟物流、顺丰等等)、移动端的Android应用和大数据应用开发占据了广阔的市场。

Java的发展简史-运行平台

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

2.Java的特点

Java语言的语法与C语言和C++ 语言很接近,也可以说Java语言就是在此基础上演变而来的,Java舍弃了C语言很容易引起错误的指针,并且引入了垃圾回收机制,使得程序员在大部分应用场景下不需要手动的释放内存。与C语言和C++ 语言相比较而言,Java入门更加简单,容易学习,开发的效率非常的高,但是它的运行效率就会比较低。

Java是纯粹的面向对象的编程语言,面向对象技术使得应用程序的开发变得简单易用,节省代码。

Java语言是具有跨平台性的。这是因为Java是基于JVM(Java Virtual Machine)得以实现一次编译,到处运行(跨平台)。跨平台性指的是软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。也就是说在Windows上开发的Java程序不需要进行修改就可以在其他的安装了JDK的操作系统(macOS、Linux(CentOS、Ubuntu Server))正常的运行。这是软件发展的趋势和编程人员追求的目标,因为写一次程序就可以通过JDK适配多个操作系统,节省了大量的人力成本。可移植性就是来源于跨平台。

Java语言同时支持大型分布式系统开发的高并发、高可用、高性能的应用场景。

Java语言是体系结构中立的,其一就是JVM的实现只需要遵守Oracle官方提供的JVM规范即可,但是大部分Java应用都是使用Oracle官方提供的HotSpot虚拟机,除此以外还有一些互联网大厂会根据自己的需求来定制JVM,比如说阿里巴巴、腾讯、华为等等。其二,JVM除了可以识别Java编译器编译生成的字节码文件(.class结尾的文件)意外,还可以识别 Scala,Kotlin,Grovvy编程语言编译生成的字节码文件。

3.Java的技术体系平台

(1)JavaSE(Java Platform Standard Edition)标准版

JavaSE是Java平台的基础,此版本以前称为J2SE。 JavaEE和 JavaME都是从 JavaSE的基础上发展而来的,JavaSE平台中包括了运行Java程序所需要的环境以及核心类库,如集合、IO、数据库连接以及网络编程等。是为开发普通桌面和商务应用程序提供的解决方案。不过目前大多数的桌面应用都是使用C/C++ /C#,很少人会使用Java开发桌面应用(例如IntelliJ IDEA)。

(2)JavaEE(Java Platform Enterprise Edition)企业版

JavaEE是为开发企业级应用程序提供的解决方案,版本以前称为J2EE。所谓的企业应用就是那些商业组织、大型企业创建的系统、应用。例如阿里巴巴的淘宝、天猫、菜鸟物流等等就是基于JavaEE实现的。

(3)JavaME(Java Platform Micro Edition)微型版

JavaME是为开发电子消费产品在(有线电视机顶盒,移动电话等等)和嵌入式设备提供的解决方案,此版本以前称为J2ME。但是随着3G移动智能平台的时代到来,特别是以Java为核心编程语言的Android平台的快速普及,JavaME已经被淘汰了。

Java主要擅长的是大型分布式系统开发,大数据开发,Android应用开发三个开发方向。无论选择哪个开发方向首先必须要学习Java语言(JavaSE),所以说Java语言是这三个开发方向的基石语言,最后根据自己的兴趣和市场的需要来选择对应的开发方向。

根据现在的市场就业形势,大多数人会选择大型分布式系统开发,接着积累经验(2-3年),然后转向大数据的开发方向。

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

4. Java跨平台的原理

(1)什么是平台

平台就是操作系统(OS),目前PC端主流的操作系统是WindowsmacOS,服务端主流的操作系统是Linux(Ubuntu ServerCentOS

在我们今后的工作中开发Java项目,通常都是在开发环境开发Java项目,项目开发完成以后部署到测试环境进行测试,测试通过以后会部署到生产环境对外提供服务。

不同的环境使用的操作系统也是不同的:
开发环境使用的是Windows或者是macOS系统开发Java项目
测试环境和是生产环境都是使用Linux(Ubuntu ServerCentOS)来测试或者是部署Java项目

(2)Java跨平台的好处

Java语言的跨平台指的就是在Windows或者是macOS系统上开发的Java项目,不需要任何的修改就可以直接部署到任何安装了JRE(Java Runtime Environment)的Linux系统上,可以节省人力资源成本。

(3)Java跨平台原理

Java跨平台的原理是Java程序不是直接运行在操作系统上的。而是运行在JRE(Java Runtime Environment)之上的,JRE屏蔽了底层操作系统的差异性,从而实现了Java程序的跨平台。但是JRE本身不是跨平台的。

在Windows和macOS上搭建了Java的开发环境(Java8、Java17),但是在下载JDK的时候需要下载和自己电脑的系统版本对应的JDK。

不同版本的JDK

不同版本的JDK
不同版本的JDK

JDK包含了Java开发工具和JRE

Java11以后不再提供公共的JRE

Java跨平台的原理图

Java跨平台的原理图
Java跨平台的原理图

标签:03,Java,语言,C++,跨平台,开发,概述,JVM
From: https://www.cnblogs.com/javafairy/p/16737240.html

相关文章