Java 语言简要介绍(JDK、JRE、JVM、JIT)

1. Java 语言的简要历史

Java之父:James Gosling 詹姆斯·高斯林

Java的前身是Oak语言;Oak去除了留在C++的一些不太实用及影响安全的成分,并结合了嵌入式系统的实时性要求

简要发展:

  • 1995 年 Oak改名为Java,Java语言第一次面世
  • 1996 年1 月 JDK 1.0发布,JVM为Sun Classic VM
    (Sun Classic VM已经被淘汰,是第一款商用虚拟机,但只能使用纯解释器(没有JIT—Just in time编译器)的方法来执行Java代码)
  • 1997 年 2 月 JDK 1.1发布
    内部类、反射、jdbc、javabean、rmi
  • 2014 年 Java 8发布
    Lambda表达式 函数式接口 方法引用 默认方法 Stream;
  • 2017 年 Java 9发布 新增了模块化
  • 2018 年 Java 11发布,并且设计为长期支持的版本

目前市场上所用的多位Java 8和Java 11版本,本博及以后讨论的内容也主要集中在这两个版本。

2. Java 语言的特点

1. Java 能够做什么

  • Web开发
  • Android开发
  • 游戏设计
  • 软件开发

2. Java 语言的优势
1. 简单

Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:

  1. Java的风格类似于C++,保留了面向对象的特点。

  2. Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。

  3. Java提供了丰富的类库。

2. 面向对象

面向对象可以说是Java最重要的特性。

3. 分布式

Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。为分布环境尤其是Internet提供的动态内容无疑是一项非常宏伟的任务,但Java的语法特性却使我们很容易地实现这项目标。

4. 健壮

Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大缩短了开发Java应用程序的周期。Java提供 Null指针检测数组边界检测异常出口字节代码校验。

5. 结构中立

另外,为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。

6. 安全

Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。Java语言在机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。

7. 可移植的

JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU–JVM,而不是某一实际的CPU。JVM 能避免不同CPU之间的差别,使J-Code能运行于任何具有JVM的机器上。

作为一种虚拟的CPU,JVM对于源代码(Source Code) 来说是独立的。我们不仅可以用 Java语言来生成J-Code,也可以用其他语言来生成。源代码一经转换成J-Code以后,JVM就能够执行而不区分它是由哪种源代码生成的。这样做的结果就是CPU可移植性。 将源程序编译为J-Code的好处在于可运行于各种机器上,而缺点是它不如本机代码运行的速度快。

同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。Java 中基本数据类型的范围是明确规定的,不依赖于具体实现,也将为程序的移植带来很大便利。

8. 解释的

Java解释器(运行系统)能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花上更多的时间。

9. 高性能

如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令。解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。

10. 多线程

多线程功能使得在一个程序里可同时执行多个小任务。Java实现的多线程技术,比C和C++更键壮。多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(UNIX, Windows, Macin

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值