作为一名程序设计人员,常常希望能够有一种语言,它具有令人赏心悦目的语法和易于理解的语义(C++不是这样的)。于许多其他的优秀语言一样,Java完全满足了这些要求。
有些语言提供了可移植性、垃圾收集等,但是,没有提供一个大型的库。如果想要有炫酷的绘图功能、网络连接功能或数据库存取功能,就必须自己动手编写代码。Java具备所有这些特性,它是一种功能齐全的出色语言,是一个高质量的执行环境,还提供了一个庞大的库
正是因为它集多种优势于一身,所以对广大的程序设计人员有着不可抗拒的吸引力
一 Java程序设计概述
1 Java语言主要特点
(1) 面向对象
- 两个基本概念:类、对象
- 三大特性:封装、继承、多态
(2) 健壮性
- 吸收了C/C++语言的优点,去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
(3) 跨平台性
- 通过JVM,通过Java语言编写的应用程序在不同的系统平台上都可以运行”Write once,Run Anywhere“
2 Java两种核心机制
(1) Java虚拟机(Java Virtual Machine)
- JVM具有指令集并使用不用的存储区域。负责执行指令,管理数据,内存,寄存器
- 对于不同的平台,有不同的虚拟机,实现跨平台性
- 层次:用户-字节码文件-JVM-操作系统-硬件
(2) 垃圾回收机制(Garbage Collection)
- Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可以被释放的内存空间
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精致控制和干预,但还会出现内存泄漏和内存溢出
3 Java技术体系平台
(1) JavaSE(Java Standard Edition)标准版
- 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE
(2) JavaEE(Java Enterprise Edition)企业版
- 是为开发企业环境下的应用程序提供的一套解决方案.该技术体系中包含如:Servlet/Jsp等,主要针对于Web应用程序开发.版本以前称为J2EE