前言
- 系统全面讲解核心概念,语法,重要特性和开发开发方法
第1章概述Java语言的特色功能;
第2章详细论述如何下载和安装JDK以及本书的程序示例;
第3章开始讨论Java 语言,包括变量、循环和简单的函数;
第4章介绍面向对象两大基石中极要的一个概念——封装,以及Java语言实现封装的机制,即类与方法;
第5章介绍面向对象的另一个重要概念——继承,继承使程序员可以使用现有的类,并根据需要进行修改;
第6章展示如何使用Java的接口(可帮助你充分获得Java的完全面向对象程序设计能力)、lambda表达式(用来表述可以在以后某个时间点执行的代码块)和内部类;
第7章讨论异常处理,并给出大量实用的调试技巧;
第8章概要介绍泛型程序设计,使程序更可读、更安全,可基于泛型使用强类型机制来抛弃不安全的强制类型转换
第9章讨论Java平台的集合框架,以及如何充分利用内建的标准集合;
第10章介绍GUI程序设计(包括如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格式化文本,以及如何显示图像)和编写代码来响应事件(如鼠标点击事件和按键事件);
第11章详细讨论Swing GUI工具包,以建立跨平台的图形用户界面,包括各种按钮、文本组件、边框、滑块、列表框、菜单以及对话框的有关内容;
第12章讨论并发。本书最后还有一个附录,其中列出了Java语言的保留字。
- 卷I介绍Java基本概念和UI设计的基础
- 卷II介绍企业特性和高级的UI设计知识
概述
- Java是一个完整的平台,包含庞大的库以及一个提供诸如安全性,跨OS的可移植性以及自动垃圾回收等服务的执行环境
- Java白皮书的关键术语
简单性 面向对象
分布性 健壮性
安全性 体系结构中立
可移植性 解释型
高性能 多线程
动态性
-
简单性:
- 剔除C++难用特性,而又遵循基本惯例
- 支持开发能够在小型机器上独立运行Java程序
-
面向对象: 面向对象技术将重点放在数据(对象)和数据的接口上(方法)
-
分布性 健壮性:异常处理机制
- Java采用的指针模型能消除重写内存和损坏数据的可能性(减少指针BUG)
-
安全性: 防范如下攻击:
- 运行时堆栈溢出
- 破坏自己进程空间以外的内存
- 未经授权读写文件
-
体系结构中立:编译器生成一个中立的目标文件格式(与OS无关的字节码指令),有Java运行时系统,代码即可运行
- 字节码可以在不同机器解释运行,且能动态转换为本地机器代码
- 属于解释型虚拟机指令,比全速运行机器指令慢很多,但JVM可以将频繁执行的字节码序列转换为机器码,此过程即为即时编译
- JVM可以检查指令序列,增强安全
-
可移植性
- Java规范中没有依赖具体实现的地方,基本数据类型大小有明确说明
- 例如int永远为32位,二进制数据以固定的格式进行存储与运输,消除字节顺序困扰,字符串采用标准的Unicode格式存储
- 作为系统组成的类库,定义可移植的接口,不同系统来实现同一个抽象的window类
-
解释型
- Java解释器可以在任何移植了解释器的机器上直接执行Java字节码
- 由于连接是一个增量式且轻量级的过程,所以Java支持快捷而具有探索性的开发(try然后很快看到结果,jshell提供的支持)
-
高性能
- 生成的字节码可以在运行时动态转化成对应运行这个应用的特定CPU的机器码
- 根据代码执行的频繁程度自动优化
- 消除函数调用(即内联),即时编译器知道哪些类已经加载,基于当前加载的类集合,如果一个特定的函数不会被覆盖,就可以使用内联
-
多线程
-
动态性
- 运行时修改代码的case
- 库中可以自由添加新方法和实例变量,且对客户端没有影响
- 在Java中找到运行时类型信息十分简单
- 动态语言可以很容易地实现运行程序的演进