java语言概述

java语言的历史

Sun在1996年发布了Java 1.0,但是用Java1.0开发的应用程序运行速度很慢,所以Java 1.0并不适合做真正的应用程序开发,直到Java 1.1,应用程序的运行速度才有了明显的提升。

2009年,Sun公司被Oracle公司收购。从Java 10开始Oracle公司加快了Java的发布速度,大约每6个月发布一个新版本。到本书编写时,Oracle 公司已经发布了 Java 17。

20世纪90年代正处于互联网发展的起步阶段,硬件和软件系统差别很大,应用程序需要能够跨平台运行,而Java语言具有“一经编写到处运行”的跨平台能力。

java语言的特点

1 简单
Java的设计目标之一就是方便学习,使用简单。Java语言与C++语言很相似,但是它摒弃了 C++ 中容易引发程序错误的功能,如指针、内存管理、运算符重载和多继承等。这样的设计一方面让当时的C++程序员可以很快从C++迁移到Java,另一方面没有C++编程经验的初学者也能很快学会 Java。

2面向对象
面向对象是Java最重要的特性。Java是彻底的、纯粹的面向对象语言,在Java中,“一切都是对象”。Java完全具有面向对象的三个基本特性:封装、继承和多态。

3 分布式
Java语言就是为分布式系统而设计的。JDK(Java Development Kit, Java开发工具包)中包含了支持HTTP和FTP等基于TCP/IP协议的类库。Java应用程序可以凭借URL打开并访问网络上的对象,其访问方式与本地文件系统几乎完全相同。

4 体系结构中立
Java应用程序需要在很多不同的网络设备中运行,这些设备中有很多类型的计算机。为了使Java应用程序能在网络的任何地方运行,Java编译器编译生成了与机器结构(CPU和操作系统)无关的字节码(byte-code)文件。

5 可移植性
体系结构中立也使得Java应用程序具有可移植性。针对不同的CPU和操作系统,Java虚拟机有不同的版本,这就能保证相同的 Java字节码文件可以移植到多个不同的平台上运行。

6 解释执行
为实现跨平台,Java设计者将其设计为解释执行的,即Java源代码文件首先被编译为字节码文件,这些字节码本身包含了许多编译时生成的信息,Java解释器负责在运行时将字节码文件解释为特定的机器码进行运行。

7 健壮性
Java摒弃了C++中的指针操作。指针是一种特殊的数据类型,能够直接访问内存单元,但同时也很复杂,如果操控不好,会引起内存分配错误、内存泄漏等问题。

8 多线程
Java 是为网络编程而设计的,这就要求Java能够并发处理多个任务。Java支持多线程编程。多线程机制可以实现并发处理多个任务,且互不干涉,不会由于某一任务处于等待状态而影响了其他任务的执行,这样就可以较为容易地实现网络上的实时交互操作。

java平台

Java不仅是一种编程语言,还是一个开发平台。根据Java应用领域的不同,Oracle 公司将Java分成三个平台:Java SE、Java EE和Java ME。

1 Java SE

Java SE 是Java Standard Edition 的简写,主要是为台式机和工作站桌面应用程序(application)开发的版本。
Java SE中主要包含了JRE(Java RuntimeEnvironment,Java运行环境)、JDK和Java核心类库。如果只是运行Java应用程序,不考虑开发Java应用程序,那么只安装JRE就可以了。JRE中包含了Java应用程序运行所需要的Java虚拟机(Java Virtual Machine,JVM)。JDK 中包含了JRE和一些开发工具,这些工具包括编译器、文档生成器和文件打包等工具。
另外,Java SE中还提供了Java应用程序开发需要的基本类库和核心类库,这些类库包括字符串、集合、输入/输出、网络通信和图形用户界面等。事实上,学习Java就是在学习Java语法和Java类库的用法。

2 Java EE
Java EE 是Java Enterprise Edition的简写,主要目的是简化企业级系统的开发、部署和管理。Java EE 是以 Java SE 为基础的,并提供了一套服务、API 接口和协议,能够开发企业级分布式系统、Web应用程序和业务组件等,其中包括JSP、Servlet、EJB、JNI和Java Mail等。

3 Java ME
Java ME是Java Micro Edition的简写,主要面向消费类电子产品,为消费类电子产品提供一个Java的运行平台,方便Java应用程序在手机、机顶盒、PDA等产品上运行。在早期的诺基亚塞班手机系统中有很多基于Java ME开发的应用程序。

java虚拟机

不同软硬件平台的Java虚拟机是不同的,Java虚拟机运行在操作系统之上,和硬件没有直接的交互,使用或开发时需要下载不同的JRE或JDK版本。Java虚拟机之上是Java应用程序,Java 虚拟机屏蔽了不同软硬件平台,因此Java应用程序不需要修改,不需要重新编译,可以直接在其他平台上运行。

首先由编译器将Java源文件(.java文件)编译为字节码文件(.class文件),然后再由Java 虚拟机中的解释器将字节码解释为机器码去执行。

这就是利用java打印菱形的办法,希望对您有所帮助
感谢阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值