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 程序运行过程中自动进行,程序员无法精确控制和干预。



















