Java概述
什么是Java语言?
Java语言是美国Sun公司(Stanford University NetWork),在1995年推出的高级编程语言。 所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于各大领域。
主要特点:
- 跨平台,一次编译,到处运行
- 编译型语言,语法严格,扩展性强,面向对象
- 开源项目多,解决方案多
具体的内容可以百度百科查询
Java语言发展史
1995年Sun公司发布Java1.0版本
当时Sun公司的James Gosling带领的工程师小组想要设计一种小型的计算机语言,主要应用对象是像有线电视转换盒这类消费设备。一开始该项目组成员准备采用C++语言,但感觉C++语言太过复杂,安全性也差,无法满足项目的需要,最后决定基于C++语言设计一种新的编程语言,临时起名叫Oak,但后来发现Oak是一种已有的计算机语言的名称,于是改名为Java(来自一个项目组成员的咖啡),并以咖啡作为图标
1997年发布Java1.1版本
1998年发布Java1.2版本
2000年发布Java1.3版本
2002年发布Java1.4版本
2004年发布Java 5 版本
2006年发布Java 6版本
2009年Oracle甲骨文公司收购Sun公司,并于2011年发布Java 11版本
2014年发布Java 8版本
2017年发布Java 9版本
2018年发布Java 10版本
Java的版本
Java分为三个版本:
- JavaSE:Java标准版,允许开发和部署在桌面、服务器、嵌入式环境中使用Java应用程序。JavaSE包含了支持Java Web服务开发的类,并为JavaEE提供了基础
- JavaEE:Java企业版,帮助企业开发和部署可移植、健壮、可伸缩且安全的服务端Java应用程序。JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构和web应用程序
- JavaME:Java微型版,为在移动设备和嵌入式设备上运行的程序提供一个健壮且灵活的环境
Java的特点
- 跨平台性
所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。 而在Java语言中, Java自带的虚拟机很好地实现了跨平台性。 Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令。 Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。
- 面向对象
面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。
- 安全性
安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入www jxzxmr net,并经由字节码校验器校验之后才可以运行。 Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。
- 多线程
多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。 Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。
- 简单易用
Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。
Java语言的跨平台性
JVM:Java Virtual Machine,Java虚拟机,是运行所有Java程序的假想计算机,是java程序的运行环境。 我们编写的java代码,都运行在JVM之上。
跨平台:软件的运行,要运行在操作系统上,而不同操作系统的软件运行方式是不一样的,但是Java为每个系统提供了一个虚拟机,java代码可以运行在这个虚拟机上,而不管系统的具体情况,实现了只编写一次代码,就能在众多操作系统上运行。
当然,因为JVM的存在,java程序的运行速度收到了一定的影响
JDK、JRE、JVM
- JRE:Java Runtime Environment,Java运行时环境,包含JVM和运行时所需要的类库
- JDK:Java Development Kit,Java开发工具包,包含JRE和开发人员使用的工具(编译器等)
如果是想要运行一个程序,只需要JRE即可 如果要开发程序,编译java代码,则需要JDK