一、JAVA是什么?
JAVA是一种优秀的程序设计语言,它具有其独特的语法和易于理解的语言。是一种现在被广泛应用的编程语言。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和 跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。(简单来说就是一种编程语言,可以来进行开发)
二、JAVA语言的重要性
下图来自Tiobe2021年数据。
1.
语言广泛使用程度
![](https://img-blog.csdnimg.cn/84cdb86b8f8144c2906da977916bb040.png)
注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景。
从上图来看,JAVA一直占据着热门的地位。
三、工作领域
我们学习一门语言,都是未来以后的应用,可以从事什么岗位(心里话:可以拿多少工资)。Java语言目前在IT领域的应用是非常广泛的,掌握Java语言可以从事不少IT行业的相关开发岗位,具体包括:
企业级系统
比如大型复杂的企业级软件系统,
Java
的安全机制以及跨平台性的优势,其在分布式系统领域开发中有广泛应用,涉及到金融、电信、交通、电子商务、ERP
系统等。
Web
开发领域
Java
语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较好的扩展性,Java
语言一直是大型互联网平台的重要解决方案。
android
平台应用
Android
是一种智能手机操作系统,
Java
是一门非常流行的编程语言。
Android
上的应用程序就是大多是用Java
编写的,
Android
的
SDK
大部分就是直接将
Java SDK
翻译过来的,所以具有
Java基
础,也可以快速 上手Android
开发。
大数据平台开发
大数据相关的各类框架,比如:
Hadoop
、
spark
、
storm
、
flflink
等,以及各种中间件
flflume,
afka
、 sqoop等,这些框架以及工具等大多数是用
Java
语言开发的,随着大数据技术的落地应用,
Java
在大数 据领域的应用前景也是比较广阔的。
除上述开发领域外,Java
在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好 Java,将来就业的选择也会非常广泛。
四、JAVA语言发展简史
Java 语言源于
1991
年
4
月,
Sun
公司
James Gosling
博士
领导的绿色计划
(Green Project)
开始启动,此计划最 初的目标是开发一种能够在各种消费性电子产品(
如机顶盒、冰箱、收音机等
)
上运行的程序架构。这个就是
Java
的 前身: Oak (
得名与
Java
创始人
James Gosling
办公室外的一棵橡树
)
,但由于这些智能化家电的市场需求没有预期 的高,Sun
公司放弃了该项计划。随着
1995
年代互联网的发展
,
Sun
公司看见
Oak
在互联网上应用的前景,于是改
造了
Oak
,于
1995
年
5
月以
Java
的名称正式发布,并提出
“Write once, Run anywhere"
的口号
。
五、JAVA语言特性
以下
Java
语言特性来自于
Java
白皮书:
1.
简单性
Java
语法是
C++
语法的一个
“
纯净版本
”
,相当于对
C++
做了一个减法。这里没有头文件、指针运算(甚至指针 语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java
开发环境远远超出大多数其他编程语言的开 发环境。
2.
面向对象
什么是面向对象?
在
Java
的世界里,一切皆对象
。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间 的交互来完成事情,比如:人用手机网上购物,狗吃骨头...
Java
的面向对象特性与
C++
旗鼓相当,与
C++
的主要不同点在于多重继承。在
Java
中,取而代之的是更简单的接口概念。而且与C++
相比,
Java
提供了更丰富的运行时自省功能。
3.
分布式
(
微服务
)
Java
有丰富的例程库,用于处理像
HTTP
和
FTP
之类的
TCP/IP
协议。
Java
应用程序能够通过
URL
打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
4.
健壮性
Java
与
C++
最大的不同在于
Java
采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug
而引起内存冲突的人来说,一定很喜欢
Java
的这一特性)。不仅如此,
Java
编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
5.
安全性
Java
适用于网络
/
分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用
Java
可以构建防病毒、防篡改的系统 从一开始,Java
就设计成能够防范常见的各种攻击:
运行时堆栈溢出。蠕虫和病毒常用的攻击手段。
破坏自己进程空间之外的内存。
未经授权读写文件
6.
体系结构中立
Java
编译器通过生成与特定计算机体系结构无关的字节码指令来实现
这一特性
。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。这就是为什么可以:“Wrice once
,
Run anywhere”
。
![](https://img-blog.csdnimg.cn/a52a68d462e64af18a00d9ae0232ebc3.png)
而且其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成
.class
文件,也可以在
JVM
上运行。
7.
可移植性
与
C/C++
不同,
Java
规范中没有
“
依赖具体实现的地方
”
。
基本数据类型的大小以及有关运算都做了明确的说
明
。例如,
Java
中的
int
永远是
32
位的整数,而在
C/C++
中,
int
可能是
16
位整数、
32
位整数,也可能是编译器 提供商指定的其他大小。在Java
中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
8.
解释性
Java
为了实现与平台无关,自己维护了一套基于栈架构的指令集,
Java
源代码经过编译之后,字节码文件中的指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为Java
程序在执行时,Java
解释器会逐条的将字节码文件中的指令翻译成
CPU
的指令集。
9.
高性能
边解释边执行,垃圾会说等导致了
Java
代码运行效率偏低,近年来
JVM
也在不断的优化,比如:
JIT(
即时编译器)
,热点代码探测,让
Java
程序的执行效率大幅提高,在有些场合不亚于
C/C++
。
10.
多线程
Java
在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java
在这方面表现出色,可以很好的管理这个工作。
11.
动态性
Java
与
C/C++
相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java
中找出运行时类型信息十分简单(反射的特性,后续会学到)
因此:Java
不仅仅是一门编程语言,也是一个由一些列计算机软件和规范组成的技术体系
。
六、总结
不论什么编程语言,只是一个工具而已,所以无论我们学的是什么语言,都需要自己脚踏实地的认真学习,提升自己的技术。所以,还是要卷!学习JAVA的话,也要认真卷起来!
加油!!!!!!!!!!!