标题：Java学习宝典
内容简介
《Java学习宝典》以一个Java[1]程序员学习Java技术的成长路线为大纲组织内容，全书分为5篇：第1篇Java语言基础，第2篇面向对象程序设计，第3篇Java开发中的高级技术，第4篇Java Web开发，第5篇项目案例开发实践。希望通过《Java学习宝典》能逐步提升读者的开发能力，完成初学者向高级技术人员的蜕变。
《Java学习宝典》以Java技术学习权威指南为目标，全面覆盖Java技术的高级主题和项目开发方法，包括：多线程、集合框架、网络API、数据库编程、分布式对象等主题，同时涉及JDK的新内容以及项目开发实践中的具体技术。《Java学习宝典》适合Java开发新手，以及高等院校的学生和教师参考。
目录
第1篇 Java语言基础
Java语言和目前流行的C语言以及C++语言语法结构很相似。之所以说Java语言是简单的，是因为Java语言虽然继承了C语言以及C++语言很多优点，但是Java语言摒弃了C++语言的复杂性，比如运算符重载、多继承、数据类型自动转换等。
这使得Java语言的学习非常简单，如果读者具备一定的C或者C++语言的基础，在掌握了JDK基本使用的基础上，在本篇的指导下将可以轻松掌握。本篇内容详尽，即使读者没有任何Java基础，也可以按步骤学习，假以时日，掌握Java语言毫无问题。
第1章 Java开发基础 
1.1 什么是Java 
1.1.1 Java语言的产生 
1.1.2 Java平台 
1.2 Java语言的特点 
1.3 Java与其他面向对象语言的区别 
1.3.1 Java与C++的区别 
1.3.2 Java与C#的区别 
1.4 Java语言的发展前景 
1.5 搭建开发环境 
1.5.1 下载和安装JDK 
1.5.2 获取帮助文档 
1.5.3 设置Path环境变量 
1.5.4 设置ClassPath环境变量 
1.5.5 使用命令行工具 
1.5.6 使用集成开发环境 
1.6 第一个Java应用程序 
1.6.1 编写源代码 
1.6.2 使用命令行工具编译 
1.6.3 使用命令行工具执行 
1.7 第一个Java小应用程序 
1.7.1 编写源代码 
1.7.2 使用命令行工具编译 
1.7.3 编辑HTML网页文件 
1.7.4 运行HTML网页文件 
小结 
第2章 数据类型和程序流程控制 
2.1 关键字与标识符 
2.1.1 关键字 
2.1.2 标识符 
2.1.3 如何做到规范命名 
2.2 常用基本数据类型 
2.2.1 整型 
2.2.2 浮点型 
2.2.3 字符型 
2.2.4 布尔型 
2.3 常量与变量 
2.3.1 常量 
2.3.2 变量 
2.3.3 常量与变量的区别 
2.4 运算符 
2.4.1 算术运算符 
2.4.2 关系运算符 
2.4.3 逻辑运算符 
2.4.4 位运算符 
2.4.5 赋值运算符 
2.4.6 其他运算符 
2.4.7 运算符的优先级别 
2.5 类型转换 
2.5.1 自动类型转换 
2.5.2 强制类型转换 
2.6 注释符 
2.7 Java程序的基本结构 
2.7.1 类是一个基本单元 
2.7.2 main方法 
2.7.3 自定义方法 
2.7.4 System.out.println的使用 
2.7.5 一个简单而完整的程序 
2.8 顺序结构 
2.9 分支结构 
2.9.1 if…else分支结构 
2.9.2 if…else嵌套 
2.9.3 switch语句 
2.9.4 编程实例 
2.1 0循环结构 
2.1 0.1 while循环 
2.1 0.2 do…while循环 
2.1 0.3 for循环 
2.1 0.4 编程实例 
2.1 1跳转结构 
2.1 1.1 break 
2.1 1.2 continue 
2.1 1.3 编程实例 
小结 
第3章 数组和字符串 
3.1 Java中的数组 
3.1.1 一维数组 
3.1.2 二维数组 
3.1.3 多维数组 
3.2 数组的length属性 
3.3 Arrays数组工具类的用法 
3.4 编程实例 
3.5 String字符串 
3.5.1 构造方法 
3.5.2 String常用方法 
3.6 StringBuffer字符串 
3.6.1 构造方法 
3.6.2 StringBuffer常用方法 
3.7 String与StringBuffer的区别 
3.8 equale与==的区别 
3.9 编程实例 
小结 
第2篇 面向对象程序设计
面向对象是目前最流行的程序设计方式，具备封装、多态性和继承等机制。在现实世界中，任何实体都可以看成是一个对象，对象具有属性和行为两大特征，Java语言完全采用这种方式，同样也提供了类、接口和继承等概念。本篇不但让读者细致掌握Java面向对象等特性，还介绍了异常处理等Java语言所具备的特色技术。
第4章 类和对象 
4.1 传统过程程序设计概述 
4.2 面向对象程序设计概述 
4.2.1 抽象 
4.2.2 封装 
4.2.3 继承 
4.2.4 多态 
4.3 类 
4.3.1 类的定义 
4.3.2 类的访问权限修饰符 
4.3.3 构造方法 
4.3.4 成员变量的定义 
4.3.5 成员变量访问权限修饰符 
4.3.6 成员方法的定义 
4.3.7 方法的访问权限修饰符 
4.4 对象 
4.4.1 对象的概念 
4.4.2 类与对象的区别 
4.4.3 new关键字 
4.4.4 对象引用成员变量 
4.4.5 对象引用成员方法 
4.4.6 对象的销毁 
4.4.7 JVM垃圾回收 
4.5 类中的静态成员 
4.5.1 静态成员变量 
4.5.2 静态成员方法 
4.5.3 静态成员与非静态成员的区别 
小结 
第5章 继承与多态 
5.1 继承与多态的概述 
5.2 类的继承 
5.2.1 类继承的实现 
5.2.2 变量与方法的继承 
5.2.3 子类对父类构造方法的继承和调用 
5.2.4 关于类的继承的进一步说明 
5.3 最终类final 
5.4 super关键字 
5.5 this关键字 
5.6 方法的覆盖 
5.7 成员变量的隐藏 
5.8 方法的重载 
5.9 父类与子类的转换 
小结 
第6章 抽象类与接口 
6.1 抽象类概述 
6.2 接口的概述 
6.3 抽象类与接口的区别 
6.4 抽象类的定义 
6.4.1 abstract关键字 
6.4.2 抽象方法的定义 
6.5 抽象类的使用说明 
6.6 接口的定义 
6.6.1 关键字interface 
6.6.2 接口的使用规则 
6.6.3 接口多态的应用 
6.7 接口的使用说明 
小结 
第7章 内部类与匿名类 
7.1 内部类概述 
7.2 内部类的语法及应用 
7.2.1 实例内部类 
7.2.2 静态内部类 
7.2.3 局部内部类 
7.3 匿名类概述 
7.4 匿名类的语法及应用 
7.4.1 与类有关的匿名类 
7.4.2 与接口有关的匿名类 
小结 
第8章 Java常用类库 
8.1 Object的讲解 
8.1.1 Object概述 
8.1.2 toString()方法的覆盖 
8.1.3 equals()方法的覆盖 
8.1.4 对象的克隆 
8.2 Math类和BigInteger类 
8.2.1 Math概述 
8.2.2 random()方法 
8.2.3 数字的格式控制 
8.2.4 BigInteger类 
8.3 数据类型封装类 
8.3.1 Integer类 
8.3.2 Long类 
8.3.3 Byte类 
8.3.4 Short类 
8.3.5 Float类 
8.3.6 Double类 
8.3.7 Boolean类 
8.4 包 
8.4.1 包的概念 
8.4.2 自动导入的包 
8.4.3 包的命名 
8.4.4 import关键字 
8.4.5 package关键字 
小结 
第9章 异常处理 
9.1 异常的概念 
9.1.1 什么是异常（What） 
9.1.2 为什么要有异常（Why） 
9.1.3 从哪里来，往哪里去（Where） 
9.1.4 什么时候（When） 
9.1.5 哪种异常（Which） 
9.2 异常类 
9.2.1 异常类的层次结构 
9.2.2 Exception类以及子类 
9.2.3 Error类以及子类 
9.3 异常处理机制 
9.3.1 异常的产生 
9.3.2 异常处理 
9.4 抛出异常 
9.4.1 throw语句 
9.4.2 throws语句 
9.5 自定义异常 
9.5.1 定义异常类 
9.5.2 抛出异常 
9.5.3 捕获并处理异常 
小结 
第10章 集合框架 
10.1 Java集合概述 
10.2 Collection接口 
10.2.1 Collection概述 
10.2.2 Collection层次结构 
10.2.3 常用方法 
10.3 List集合 
10.3.1 ArrayList类的使用 
10.3.2 LinkedList类的使用 
10.3.3 Vector类的使用 
10.3.4 Stack类的使用 
10.4 枚举和迭代 
10.5 Set集合 
10.5.1 HashSet类的使用 
10.5.2 TreeSet类的使用 
10.5.3 HashSet与TreeSet的区别 
10.6 Map接口 
10.6.1 Map层次结构 
10.6.2 使用HashMap类 
10.6.3 使用TreeMap类 
10.7 Collections工具类 
10.7.1 Collections的常用方法 
10.7.2 Collections应用实例 
小结 
第11章 输入/输出操作 
11.1 I/O流概述 
11.2 字节流 
11.2.1 InputStream类和OutputStream类 
11.2.2 字节流的常用方法 
11.2.3 文件流FileInputStream类 
11.2.4 文件流FileOutputStream类 
11.2.5 缓存流BufferedInputStream类 
11.2.6 缓存流BufferedOutputStream类 
11.2.7 基本数据流DatalnputStream类 
11.2.8 基本数据流DataOutputStream类 
11.3 字符流 
11.3.1 Reader类和Writer类 
11.3.2 字符流的常用方法 
11.3.3 缓存流BufferedReader流 
11.3.4 缓存流BufferedWriter 流 
11.3.5 转换流InputStreamReader类 
11.3.6 转换流OutputStreamWriter类 
11.3.7 PrintStream类/PrintWriter类 
11.3.8 编程实例 
11.4 File文件类 
11.4.1 File概述 
11.4.2 File构造方法 
11.4.3 File的常用方法 
11.4.4 编程实例 
11.5 随机文件类RandomAccessFile 
11.5.1 RandomAccessFile概述 
11.5.2 RandomAccessFile常用方法 
11.6 对象序列化 
11.6.1 对象流ObjectInputStream类 
11.6.2 对象流ObjectOutputStream类 
11.6.3 Serializable接口 
小结 
第3篇 Java开发中的高级技术
C语言和C++语言采用的是单线程体系结构，而Java语言很好的支持多线程。多线程的好处是可以在程序运行过程中，同时可以完成多个不同任务的同时进行，以达到更好的交互性和实时性。多线程带来的比如多个线程同步、共享变量访问等问题，Java语言也提供了简单易学的解决办法。在本篇中，重点学习多线程和数据库等一个开发人员必须掌握的高级语言技术，为后面的项目开发打下良好的基础。
第12章 多线程 
第13章 反射机制 
第14章 泛型 
第15章 JDBC程序设计 
第4篇 Java Web开发
未来是Web开发的世界，Java Web开发也是Java领域的重点。Java为Internet而生，在Web开发领域，也有非常好的积累和沉淀。本篇从JSP、Servlet、JavaBean和应用的角度向读者展示了Java Web开发中各种技术的应用，循序渐进地引导读者快速掌握Java Web开发。
第16章 Tomcat的使用 
第17章 Servlet技术 
第18章 JSP技术 
第19章 JavaBean技术 
第20章 Servlet高级应用——监听器及过滤器 
第5篇 项目案例开发实践
几乎所有的Java程序员都认为，不断的积累项目开发经验，是成长的关键。在本书的最后，通过五个具体的项目案例，帮助读者学习项目分析和设计、数据库的应用、大型系统分解和建构的方法。并且，五个项目分别覆盖Java数据类应用、Java Web网站应用、使用SSH框架建立系统等应用，各有不同，但集合起来可以提高读者的综合能力。
第21章 学生网上选课系统的设计 
第22章 设计一个简单的购物网站 
第23章 英语论坛 
第24章 Umbrella企业站 
第25章 成都大学班级之家v1.0 
参考文献