0 警告
Java从入门到放弃。
1.1概述
- Java 语言是 SUN(Stanford University Network,斯坦福大学网络公司)于 1995 年推出的一门高级编程语言。
- Java 语言是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏览器中运行。这些 Java 程序被称为 Java 小程序(applet)。~~applet ~~使用现代的图形用户界面和 web 用户进行交互。~~applet ~~内嵌在 HTML 代码中,目前 ~~applet ~~已废弃。
- 随着 Java 技术在 web 方面的不断成熟,已经成为 web 应用程序的首选开发语言
1.2 Java 技术体系平台
- Java SE(Java Standard Edition)标准版:支持面向桌面级应用(如 windows 下的应用程序)的 Java 平台,提供了完整的 Java 核心 API 。此版本以前称为 J2SE 。
- Java EE(Java Enterprise Edition)企业版:是为开发企业环境下的应用程序提供一套解决方案。该技术体系中包含的技术如:Servlet 、JSP 等,主要针对于 web 应用程序的开发。此版本以前称为 J2EE 。
1.3Java 语言的主要特性
Java 语言是易学的
。Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用 Java 。
Java 语言是强制面向对象的
。Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements )。
Java 语言是分布式的
。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口( java net ),它提供了用于网络应用编程的类库,包括 URL 、URLConnection 、Socket 、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java 语言是健壮的
。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。
Java 语言是安全的
。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader ),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
Java 语言是体系结构中立的
。Java 程序(后缀为.java
的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为.class
的文件),然后可以在实现这个 Java 平台的任何系统中运行。
Java 语言是解释型的
。Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统的解释器中运行。
Java 是性能略高的
。与那些解释型的高级脚本语言相比,Java 的性能还是较优的。
Java 语言是原生支持多线程的
。在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。
1.4Java 语言的特点
- ① 面向对象:
- 两个基本概念:类、对象。
- 三大特性:封装、继承、多态。
- ② 健壮性:
- 吸收了 C、C++ 语言的优点,去掉了其影响程序健壮性的部分(如指针、内存的申请和释放等),提供了一个相对安全的内存管理和访问机制。
- ③ 跨平台性:
- 跨平台性:通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。
- 原理:只要在需要运行 Java 应用程序的操作系统上,先安装一个 Java 虚拟机( JVM ,Java Virtual Machine )即可,由 JVM 来负责 Java 程序在该系统中的运行。
1.5 跨平台性
- 因为有了 JVM ,同一个 Java 程序在三个不同的操作系统中都可以执行,这样就实现了 Java 程序的跨平台性。
1.6Java 的两种核心机制
1.6.1Java 虚拟机(Java Virtual Machine)
- JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
- 对于不同的平台,有不同的虚拟机。
- 只有某平台提供了对应的 Java 虚拟机,Java 程序才可以在此平台上运行。
- Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“
一次编译,到处运行
”。
1.6.2 垃圾收集机制(Garbage Collection)
- 不再使用的内存空间应回收---垃圾回收。
- 在 C 、C++ 等语言中,由程序员负责回收无用内存。
- Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程,跟踪存储空间的分配情况,并在 JVM 空间的时候,检查并释放那些可被释放的存储空间。
- 垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。