Java简介

一、Java简介

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点 [2]  。Java可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序等。

二、发展历程

1.2.1、20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组帕特里克詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak面向对象语言

1.2.21992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。

1.2.31995年,互联网的蓬勃发展给了Oak机会。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBMApple、DEC、Adobe、HP、Oracle、Netscape微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。

1.2.41996年1月,Sun公司发布了Java的第一个开发工具包JDK 1.0,这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

1.2.51997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。4月2日,Java One会议召开,参会者逾一万人,创当时全球同类会议规模之纪录。9月,Java Developer Connection社区成员超过10万。

1.2.61998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。

1.2.71999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机

1.2.82000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。

1.2.92001年9月24日,J2EE1.3发布。

1.2.102002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。

1.2.112004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0内部版本号1.5.0),代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。

1.2.122005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME

1.2.132006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改 。

1.2.142009年,甲骨文公司宣布收购Sun 。

1.2.152010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。

1.2.162014年,甲骨文公司发布了Java8正式版 。

1.2.172017 年 9 月 22 日,Java 9正式发布,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。

1.2.18、2018 年 3 月 21 日,Oracle 公司发表 Java SE 10。

1.2.19、2018 年 9 月 25 日,Java SE 11 发布。

1.2.20、2019 年 3 月 20 日,Java SE 12 发布。

三、优势与劣势

3.1、优势

Java的优点可以用几个词来概括:优美、严谨、健壮、不易出错等。Java有8大特性,也就是它的8大优点

1、跨平台/可移植性

这是Java的核心优势之一,在设计之初Java就很注重可移植性和跨平台性。因为Java的运行是通过JVM来实现的,所以系统本身是什么无关紧要,只要安装对应的虚拟机即可,省去了大量的代码重复编写时间。

2、安全性

Java的安全模型基于一个可定制的“沙盒”,Java 软件程序可在其中安全运行,对系统或用户无潜在风险。

3、面向对象

Java是完全的面向对象语言,非常适合大型软件的设计和开发。

4、简单性

Java去掉了头文件,指针,结构,联合等内容,比起其他语言,更加简单易学。

5、高性能

Java在初期总是被人吐槽“性能低”,但是在Java语言发展过程中通过对虚拟机的优化,提升了很多的效率,现代Java低性能的问题已经完全被解决了。

6、分布式

Java是为分布式环境设计的,它可以处理TCP/IP协议。其还支持远程调用方法,使程序能够通过网络调用。

7、多线程

Java多线程的简单易用性使Java成为了最主流的服务器端开发语言,多线程的使用可以使资源利用率更高,程序设计在某些情况下更简单,程序响应更快。

8、健壮性

Java吸收了C/C++的优点,但是丢弃了指针等容易使程序崩溃的内容,提升了语言的健壮性。

3.2、缺点

1. Java的运行速度相对较慢

因为Java是靠虚拟机运行,所以相对于其他语言(汇编,C,C++)编写的程序慢,因为它不是直接执行机器码。

2.不能和操作系统的底层打交道

因为Java是跨平台的,所以不能和底层打交道。Java使用虚拟机来实现,不能接近操作系统,也就不能和操作系统的底层打交道了。

3.灵活性不高

不够灵活因为Java删 除了指针,所以不如C/C++等语言灵活。

三、jdkjrejvm三者之间的关系

3.1、JDK(java development kit)

JDK(java development kit):编译环境。Java 开发工具包。JDK 是整个 Java 开发的核心,它集成了 JRE 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。JDK包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

3.2、JRE (java runtime environment)

JRE (java runtime environment):运行环境。负责装载用户自定义的类(分为从本地装载和从网络装载两种)和java API类。

3.3、JVM (Java Virtual Machine )

平台软件,负责将字节码解释成机器码并提交操作系统执行。换句话说,JVM就是Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。jvm调用解释所需的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行(跨平台性:不同的浏览器安装不同的java虚拟机,jvm将字节码与对应操作系统相映射,达到java程序的跨平台性)。

3.4、三者关系

JDK = JRE + 开发工具集 + java标准类库

JRE = JVM + java标准类库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle)于1995年推出。它是一种跨平台的语言,可以在不同的操作系统上运行,如Windows、Mac和Linux。 Java语言程序设计主要有以下特点: 1. 简单易学:Java语法相对简单,与C++相比更容易学习和理解。 2. 面向对象:Java是一种纯粹的面向对象编程语言,支持封装、继承和多态等面向对象的特性。 3. 跨平台性:Java程序可以在不同的操作系统上运行,只需编译一次,即可在任何支持Java虚拟机(JVM)的平台上运行。 4. 安全性:Java提供了安全性机制,如内存管理、异常处理和安全检查等,可以防止程序崩溃和恶意攻击。 5. 大量的类库:Java拥有丰富的类库,提供了各种功能和工具,开发者可以直接使用这些类库来完成各种任务,提高开发效率。 6. 高性能:Java通过即时编译器(Just-In-Time Compiler)来优化代码执行速度,使得Java程序可以达到接近于C++的性能。 7. 多线程支持:Java内置了多线程支持,可以方便地实现并发编程,提高程序的效率和响应能力。 8. 开源:Java的开源实现OpenJDK提供了免费的开发工具和运行环境,使得开发者可以自由地使用和修改Java的源代码。 总之,Java语言程序设计是一种功能强大、易学易用、安全可靠的编程语言,广泛应用于企业级应用开发、移动应用开发、嵌入式系统等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清爽的暗之妖刀0369

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值