第一章: Java语言概述

1. java语言简介

Java是有SUN 公司开发的一种编程语言.最初被命名为Oak,但因为Oak 已被注册, 因此在1995时以Java 的名称正式发布,随着互联网的高速发展,Java逐渐成为最重要的网络编程语言。

Java语言 介于编译型语言解释型语言之间。

编译型语言如CC++,代码是直接编译成机器码执行,但是不同的平台(x86ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。

解释型语言如PythonRuby没有这个问题,可以由解释器直接加载源码然后运行,代价是运行效率太低。

Java是将代码编译成一种“字节码”,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行.

这样就实现了“一次编写,到处运行”的效果。

当然,这是针对Java开发者而言。需要为每个平台分别开发对应的虚拟机。

为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。

也就是说, Java 其实就是一个平台, 由Java虚拟机(Java Virtual Machine, JVM)Java应用编程接口(Application Programming Interface,API)构成


2. Java的不同标准

随着Java的发展,SUN给Java又分出了三个不同标准的版本:

  1. Java SE:Standard Edition Java 平台标准版
  2. Java EE:Enterprise Edition Java 平台标准版
  3. Java ME:Micro Edition Java 平台微型版

三者之间的关系

┌───────────────────────────┐
│Java EE                    │
│    ┌────────────────────┐ │
│    │Java SE             │ │
│    │    ┌─────────────┐ │ │
│    │    │   Java ME   │ │ │
│    │    └─────────────┘ │ │
│    └────────────────────┘ │
└───────────────────────────┘

简单来说:

Java SE就是标准版,包含标准的JVM标准库,其中Java 语言基础, JDBC操作, I/O操作, 网络通信以及多线程等技术

Java EE是企业版,它只是在Java SE的基础上加上了大量的API,以便方便开发Web应用、数据库、消息服务等,Java EE的应用使用的虚拟机和Java SE完全相同。

Java ME就和Java SE不同,它是一个针对嵌入式设备的“瘦身版”,Java SE的标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版”。

毫无疑问,Java SE是整个Java平台的核心,而Java EE是进一步学习Web应用所必须的。

不幸的是,Java ME从来没有真正流行起来,反而是Android开发成为了移动平台的标准之一,因此,没有特殊需求,不建议学习Java ME


3. Java 语言的特点

java 语言的特点

  1. Java 语言是面向对象编程语言(oop)
  2. Java 语言是健壮的, 强类型机制, 异常处理, 垃圾自动收集等是Java 程序健壮性的重要保证
  3. Java 语言是跨平台的
  4. Java 语言是解释型语言

### 4. Java 编译器与Java虚拟器(JVM)

在Java语言特点中, 提到了两点,跨平台性解释性语言, 此两点都和java 虚拟机( JVM )有关

首先java 编译器会将原程序编译成java 字节码文件, 字节码就是使用二进制指令描述源文件, 是为 java虚拟机量身定制的语言.

然后通过java虚拟机解析会执行字节码文件

此时大家可能会存在疑问, 为什么直接编译成操作系统能识别的二进制指令呢?

C语言就是将程序编译为操作系统看的懂的可执行文件, 因为不同的操作系统机器指令不一样, 所以C语言需要为不同的操作系统编写不同的代码

如图所示:

C语言编译.png

java 却有所不同, 只需要编译一次就可以在不同的操作系统中使用, 前提是需要在不同的操作系统中安装能识别字节码的java 虚拟机
java编译器.png

这就是java的跨平台型.

需要注意的是Java虚拟机本身也是一个可执行的程序, 并不实现跨操作系统平台. 针对不同平台需要开发不同的java 虚拟机程序

但是不管那个平台的 Java 虚拟机, 他们在解释并执行 Java 程序的行为都是一致的.


5. 名词解释

初学Java, 会经常听到JDK, JRE等一系列名词, 他们到底是什么?

  1. JVM: Java Virtual Machine( java 虚拟机)
  2. JRE: Java Runtime Environment (Java 运行环境)
  3. JDK: Java Development Kit ( Java 开发工具包)

简单来说:

JVM 就是 Java 虚拟机, 定义了一套通用的虚拟指令集, 也叫做 JVM指令集, 可以理解为是有一种规范.

JRE 则是运行Java 字节码的运行环境. 包含 JVM(java 虚拟机), java 基础类库等

但是,如果只有Java源码,要将源码编译成Java字节码,就需要JDK,因为JDK除了包含JRE,还提供了编译器、调试器等开发工具。

三者关系如下:
java关系图.png

要学习Java开发,当然需要安装JDK了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值