简介
本书以一个Java程序员学习Java技术的成长路线为大纲组织内容,全书分为5篇:第1篇Java语言基础,第2篇面向对象程序设计,第3篇Java开发中的高级技术,第4篇Java Web开发,第5篇项目案例开发实践。希望通过本书能逐步提升读者的开发能力,完成初学者向高级技术人员的蜕变。
本书以Java技术学习权威指南为目标,全面覆盖Java技术的高级主题和项目开发方法,包括:多线程、集合框架、网络API、数据库编程、分布式对象等主题,同时涉及JDK的新内容以及项目开发实践中的具体技术。本书适合Java开发新手,以及高等院校的学生和教师参考。
目录
第1篇java语言基础
java语言和目前流行的c语言以及c++语言语法结构很相似。之所以说java语言是简单的,是因为java语言虽然继承了c语言以及c++语言很多优点,但是java语言摒弃了c++语言的复杂性,比如运算符重载、多继承、数据类型自动转换等。
这使得java语言的学习非常简单,如果读者具备一定的c或者c++语言的基础,在掌握了jdk基本使用的基础上,在本篇的指导下将可以轻松掌握。本篇内容详尽,即使读者没有任何java基础,也可以按步骤学习,假以时日,掌握java语言毫无问题。
第1章java开发基础 3
1.1什么是java 3
1.1.1java语言的产生 3
1.1.2java平台 4
1.2java语言的特点 4
1.3java与其他面向对象语言的区别 7
1.3.1java与c++的区别 7
1.3.2java与c#的区别 7
1.4java语言的发展前景 8
1.5搭建开发环境 9
1.5.1下载和安装jdk 9
1.5.2获取帮助文档 11
1.5.3设置path环境变量 12
1.5.4设置classpath环境变量 14
1.5.5使用命令行工具 14
1.5.6使用集成开发环境 15
1.6第一个java应用程序 16
.1.6.1编写源代码 16
1.6.2使用命令行工具编译 16
1.6.3使用命令行工具执行 16
1.7第一个java小应用程序 17
1.7.1编写源代码 17
1.7.2使用命令行工具编译 18
1.7.3编辑html网页文件 18
1.7.4运行html网页文件 18
小结 19
第2章数据类型和程序流程控制 20
2.1关键字与标识符 20
2.1.1关键字 20
2.1.2标识符 21
2.1.3如何做到规范命名 22
2.2常用基本数据类型 22
2.2.1整型 22
2.2.2浮点型 23
2.2.3字符型 23
2.2.4布尔型 23
2.3常量与变量 24
2.3.1常量 24
2.3.2变量 24
2.3.3常量与变量的区别 25
2.4运算符 25
2.4.1算术运算符 25
2.4.2关系运算符 26
2.4.3逻辑运算符 27
2.4.4位运算符 27
2.4.5赋值运算符 28
2.4.6其他运算符 29
2.4.7运算符的优先级别 29
2.5类型转换 30
2.5.1自动类型转换 30
2.5.2强制类型转换 31
2.6注释符 31
2.7java程序的基本结构 32
2.7.1类是一个基本单元 32
2.7.2main方法 33
2.7.3自定义方法 34
2.7.4system.out.println的使用 34
2.7.5一个简单而完整的程序 35
2.8顺序结构 36
2.9分支结构 37
2.9.1if...else分支结构 37
2.9.2if...else嵌套 38
2.9.3switch语句 39
2.9.4编程实例 40
2.10循环结构 42
2.10.1while循环 42
2.10.2do…while循环 43
2.10.3for循环 43
2.10.4编程实例 45
2.11跳转结构 48
2.11.1break 48
2.11.2continue 48
2.11.3编程实例 49
小结 50
第3章数组和字符串 51
3.1java中的数组 51
3.1.1一维数组 51
3.1.2二维数组 53
3.1.3多维数组 53
3.2数组的length属性 53
3.3arrays数组工具类的用法 54
3.4编程实例 55
3.5string字符串 62
3.5.1构造方法 63
3.5.2string常用方法 63
3.6stringbuffer字符串 68
3.6.1构造方法 69
3.6.2stringbuffer常用方法 69
3.7string与stringbuffer的区别 70
3.8equale与==的区别 70
3.9编程实例 70
小结 76
第2篇面向对象程序设计
面向对象是目前最流行的程序设计方式,具备封装、多态性和继承等机制。在现实世界中,任何实体都可以看成是一个对象,对象具有属性和行为两大特征,java语言完全采用这种方式,同样也提供了类、接口和继承等概念。本篇不但让读者细致掌握java面向对象等特性,还介绍了异常处理等java语言所具备的特色技术。
第4章类和对象 79
4.1传统过程程序设计概述 79
4.2面向对象程序设计概述 80
4.2.1抽象 81
4.2.2封装 81
4.2.3继承 82
4.2.4多态 82
4.3类 83
4.3.1类的定义 83
4.3.2类的访问权限修饰符 84
4.3.3构造方法 84
4.3.4成员变量的定义 85
4.3.5成员变量访问权限修饰符 87
4.3.6成员方法的定义 87
4.3.7方法的访问权限修饰符 89
4.4对象 90
4.4.1对象的概念 90
4.4.2类与对象的区别 90
4.4.3new关键字 91
4.4.4对象引用成员变量 93
4.4.5对象引用成员方法 93
4.4.6对象的销毁 95
4.4.7jvm垃圾回收 97
4.5类中的静态成员 98
4.5.1静态成员变量 98
4.5.2静态成员方法 98
4.5.3静态成员与非静态成员的区别 99
小结 100
第5章继承与多态 101
5.1继承与多态的概述 101
5.2类的继承 102
5.2.1类继承的实现 102
5.2.2变量与方法的继承 103
5.2.3子类对父类构造方法的继承和调用 104
5.2.4关于类的继承的进一步说明 105
5.3最终类final 107
5.4super关键字 107
5.5this关键字 109
5.6方法的覆盖 111
5.7成员变量的隐藏 112
5.8方法的重载 113
5.9父类与子类的转换 114
小结 115
第6章抽象类与接口 117
6.1抽象类概述 117
6.2接口的概述 117
6.3抽象类与接口的区别 118
6.4抽象类的定义 118
6.4.1abstract关键字 118
6.4.2抽象方法的定义 119
6.5抽象类的使用说明 119
6.6接口的定义 120
6.6.1关键字interface 121
6.6.2接口的使用规则 121
6.6.3接口多态的应用 123
6.7接口的使用说明 124
小结 126
第7章内部类与匿名类 127
7.1内部类概述 127
7.2内部类的语法及应用 127
7.2.1实例内部类 127
7.2.2静态内部类 130
7.2.3局部内部类 131
7.3匿名类概述 132
7.4匿名类的语法及应用 133
7.4.1与类有关的匿名类 133
7.4.2与接口有关的匿名类 135
小结 136
第8章java常用类库 137
8.1object的讲解 137
8.1.1object概述 137
8.1.2tostring()方法的覆盖 138
8.1.3equals()方法的覆盖 139
8.1.4对象的克隆 141
8.2math类和biginteger类 146
8.2.1math概述 146
8.2.2random()方法 147
8.2.3数字的格式控制 148
8.2.4biginteger类 148
8.3数据类型封装类 150
8.3.1integer类 150
8.3.2long类 152
8.3.3byte类 152
8.3.4short类 153
8.3.5float类 153
8.3.6double类 154
8.3.7boolean类 154
8.4包 154
8.4.1包的概念 154
8.4.2自动导入的包 155
8.4.3包的命名 156
8.4.4import关键字 157
8.4.5package关键字 158
小结 160
第9章异常处理 161
9.1异常的概念 161
9.1.1什么是异常(what) 161
9.1.2为什么要有异常(why) 162
9.1.3从哪里来,往哪里去(where) 162
9.1.4什么时候(when) 162
9.1.5哪种异常(which) 166
9.2异常类 167
9.2.1异常类的层次结构 167
9.2.2exception类以及子类 168
9.2.3error类以及子类 168
9.3异常处理机制 169
9.3.1异常的产生 169
9.3.2异常处理 170
9.4抛出异常 173
9.4.1throw语句 173
9.4.2throws语句 174
9.5自定义异常 176
9.5.1定义异常类 176
9.5.2抛出异常 177
9.5.3捕获并处理异常 177
小结 178
第10章集合框架 180
10.1java集合概述 180
10.2collection接口 180
10.2.1collection概述 181
10.2.2collection层次结构 181
10.2.3常用方法 181
10.3list集合 182
10.3.1arraylist类的使用 182
10.3.2linkedlist类的使用 184
10.3.3vector类的使用 185
10.3.4stack类的使用 186
10.4枚举和迭代 187
10.5set集合 189
10.5.1hashset类的使用 190
10.5.2treeset类的使用 191
10.5.3hashset与treeset的区别 193
10.6map接口 193
10.6.1map层次结构 194
10.6.2使用hashmap类 194
10.6.3使用treemap类 196
10.7collections工具类 198
10.7.1collections的常用方法 198
10.7.2collections应用实例 199
小结 201
第11章输入/输出操作 202
11.1i/o流概述 202
11.2字节流 203
11.2.1inputstream类和outputstream类 203
11.2.2字节流的常用方法 204
11.2.3文件流fileinputstream类 204
11.2.4文件流fileoutputstream类 205
11.2.5缓存流bufferedinputstream类 206
11.2.6缓存流bufferedoutputstream类 208
11.2.7基本数据流datalnputstream类 208
11.2.8基本数据流dataoutputstream类 209
11.3字符流 210
11.3.1reader类和writer类 210
11.3.2字符流的常用方法 211
11.3.3缓存流bufferedreader流 212
11.3.4缓存流bufferedwriter 流 213
11.3.5转换流inputstreamreader类 214
11.3.6转换流outputstreamwriter类 214
11.3.7printstream类/printwriter类 214
11.3.8编程实例 216
11.4file文件类 217
11.4.1file概述 217
11.4.2file构造方法 217
11.4.3file的常用方法 218
11.4.4编程实例 219
11.5随机文件类randomaccessfile 222
11.5.1randomaccessfile概述 222
11.5.2randomaccessfile常用方法 223
11.6对象序列化 225
11.6.1对象流objectinputstream类 226
11.6.2对象流objectoutputstream类 227
11.6.3serializable接口 228
小结 230
第3篇java开发中的高级技术
c语言和c++语言采用的是单线程体系结构,而java语言很好的支持多线程。多线程的好处是可以在程序运行过程中,同时可以完成多个不同任务的同时进行,以达到更好的交互性和实时性。多线程带来的比如多个线程同步、共享变量访问等问题,java语言也提供了简单易学的解决办法。在本篇中,重点学习多线程和数据库等一个开发人员必须掌握的高级语言技术,为后面的项目开发打下良好的基础。
第12章多线程 233
12.1线程的概述 233
12.1.1进程 233
12.1.2线程 234
12.2线程的创建方式 234
12.2.1继承线程类 234
12.2.2实现线程接口 236
12.3线程的生命周期 237
12.4线程的调度和优先级 239
12.5线程的控制 240
12.5.1线程的启动 240
12.5.2线程的休眠 240
12.5.3当前线程状态的检查 244
12.5.4结束线程 245
12.6线程的同步问题 247
12.6.1使用synchronized同步块 247
12.6.2使用synchronized同步方法 249
12.7线程的死锁问题 251
12.7.1造成死锁的原因 251
12.7.2哲学家进餐的问题 252
12.7.3解决线程死锁问题 253
12.7.4实例—模拟解决死锁问题 253
12.8线程间的通信 258
12.8.1与线程间通信相关的方法 258
12.8.2生产者—消费者问题 258
小结 261
第13章反射机制 262
13.1什么是反射 262
13.2反射包reflection概述 263
13.3class概述 265
13.4获取class的方式 267
13.4.1getclass() 267
13.4.2使用类的名字表达式 268
13.4.3forname() 269
13.5使用反射的好处 270
13.5.1获取某类的成员变量 270
13.5.2获取某类的成员方法 271
13.5.3修改成员的值 273
小结 275
第14章泛型 276
14.1为什么使用泛型 276
14.2定义泛型类的语法 276
14.3泛型编程实例 279
14.4泛型的高级语法 284
14.4.1通配字符 284
14.4.2限制泛型 285
小结 286
第15章jdbc程序设计 288
15.1jdbc概述 288
15.2数据库的基本操作 289
15.3jdbc常用接口使用介绍 292
15.3.1driver 293
15.3.2drivermanager 293
15.3.3connection 294
15.3.4statement 296
15.3.5resultset 296
15.3.6callablestatement 297
15.4java连接数据库 298
15.4.1注册数据库驱动程序 299
15.4.2获得数据库连接 300
15.4.3发送和执行sql语句 301
15.4.4java连接数据库编程实例 301
15.5执行静态sql 302
15.6执行预编译sql 304
15.7结果集resultset 306
15.7.1resultset的常用方法 306
15.7.2可滚动和可更新的结果集 306
15.8存储过程 311
15.8.1存储过程的建立 311
15.8.2执行存储过程 312
15.9事务的处理 314
15.9.1什么是事务 314
15.9.2java中事务的处理 314
小结 316
第4篇java web开发
未来是web开发的世界,java web开发也是java领域的重点。java为internet而生,在web开发领域,也有非常好的积累和沉淀。本篇从jsp、servlet、javabean和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。
第16章tomcat的使用 319
16.1tomcat介绍 319
16.2tomcat的工作模式 319
16.2.1servlet容器 320
16.2.2tomcat的工作模式 320
16.3tomcat安装 321
16.3.1安装jdk 321
16.3.2安装tomcat 321
16.3.3tomcat 6.0新特性及变化 322
16.4tomcat的目录结构及相关设置 322
16.4.1预览目录结构 322
16.4.2相关设置 323
16.5测试运行tomcat 324
16.6tomcat下部署web程序 324
16.6.1部署描述符web.xml 325
16.6.2实例演示:创建和发布过程 335
16.7通过ide部署web程序 339
小结 341
第17章servlet技术 342
17.1servlet介绍 342
17.2servlet和cgi的比较 343
17.3servlet的生命周期 343
17.3.1加载和实例化servlet 344
17.3.2初始化 344
17.3.3处理请求 346
17.3.4服务结束 347
17.4servlet api 347
17.4.1javax.servlet包 348
17.4.2javax.servlet.http包 362
17.5会话跟踪 372
17.5.1会话状态跟踪api 373
17.5.2会话状态跟踪api示例 375
17.6cookie概述 377
17.6.1cookie操作 377
17.6.2使用cookie的servlet 378
小结 381
第18章jsp技术 382
18.1jsp技术概述 382
18.1.1动态网页技术比较 382
18.1.2jsp工作原理 383
18.2jsp核心语法 384
18.2.1jsp页面的基本结构 384
18.2.2变量的声明 386
18.2.3表达式 386
18.2.4jsp脚本 387
18.2.5jsp的注释 388
18.2.6jsp的指令标签 389
18.2.7jsp的动作标签 393
18.3jsp的内置对象 400
18.3.1request对象 400
18.3.2response对象 402
18.3.3session对象 404
18.3.4aplication对象 406
18.3.5out对象 407
18.3.6cookie对象 408
18.3.7page对象 410
18.3.8exception对象 410
18.3.9pagecontext对象 410
18.3.10config对象 412
小结 412
第19章javabean技术 413
19.1javabean概述 413
19.2javabean的属性 414
19.3在jsp页面中使用javabean 417
19.4javabean的范围 421
19.5使用javabean实现购物车 423
19.5.1需求概述 423
19.5.2建立数据库表 423
19.5.3编写javabean 424
19.5.4编写购物页面 425
小结 432
第20章servlet高级应用——监听器及过滤器 433
20.1监听器 433
20.1.1servletcontextlistener 433
20.1.2httpsessionlistener 433
20.1.3servletrequestlistener 434
20.1.4servletcontextattributelistener 434
20.1.5httpsessionactivationlistener 434
20.1.6httpsessionattributelistener 435
20.1.7httpsessionbindinglistener 435
20.1.8servletrequestattributelistener 436
20.1.9web.xml配置 436
20.2servlet过滤器 436
20.2.1创建servlet过滤器 437
20.2.2配置过滤器 438
20.2.3过滤器执行流程 438
20.3监听器编程实例 439
20.4过滤器编程实例 439
小结 442
第5篇项目案例开发实践
几乎所有的java程序员都认为,不断的积累项目开发经验,是成长的关键。在本书的最后,通过五个具体的项目案例,帮助读者学习项目分析和设计、数据库的应用、大型系统分解和建构的方法。并且,五个项目分别覆盖java数据类应用、java web网站应用、使用ssh框架建立系统等应用,各有不同,但集合起来可以提高读者的综合能力。
第21章学生网上选课系统的设计 445
21.1学生网上选课系统概述 445
21.2建立数据库 446
21.2.1设计数据库实体 446
21.2.2使用mysql administrator建立表 449
21.3系统功能模块设计 450
21.3.1系统结构设计 450
21.3.2登录用例的设计与实现 455
21.3.3查看课表用例的设计与实现 461
21.3.4查看课程列表用例的设计与实现 466
21.3.5查看教师信息用例的设计与实现 468
21.3.6选课用例的设计与实现 471
21.3.7退课用例的设计与实现 474
21.3.8打印课表用例的设计与实现 475
21.4完整实例 475
21.4.1项目结构 475
21.4.2运行项目 476
小结 477
第22章设计一个简单的购物网站 478
22.1系统概述 478
22.2数据库设计 479
22.3系统功能模块设计 481
22.3.1mvc模式 481
22.3.2本例使用mvc模式的方式 481
22.3.3数据库访问的设计与实现 483
22.3.4用户登录用例的设计与实现 486
22.3.5浏览商品用例的设计与实现 489
22.3.6购物车维护用例的设计与实现 494
22.3.7其他增删改用例的设计与实现 500
22.4完整实例 501
22.4.1数据库的准备 501
22.4.2生成项目 502
22.4.3运行项目 503
小结 505
第23章英语论坛 506
23.1应用背景与主要技术介绍 506
23.1.1应用背景 506
23.1.2功能介绍 506
23.1.3jsp简介 506
23.1.4servlet简介 507
23.2总体设计与概要说明 508
23.3业务流程图 508
23.4程序实现 509
23.4.1公共的数据库访问类设计 509
23.4.2数据存取对象的设计 512
23.4.3前台页面的设计 515
23.4.4后台servlet的设计 526
23.5程序的部署 529
小结 529
第24章umbrella企业站 530
24.1应用背景与主要技术介绍 530
24.1.1应用背景 530
24.1.2功能介绍(需求) 530
24.1.3struts2简介 530
24.1.4hibernate简介 531
24.1.5spring简介 532
24.2总体结构图 532
24.3业务流程图 532
24.4程序实现 533
24.4.1带日志功能的action设计 533
24.4.2消息资源文件struts-globalmessages.properties的设计 533
24.4.3日志文件log4j.properties的设计 533
24.4.4struts2属性文件struts.properties的设计 534
24.4.5struts2映射列表文件struts.xml的设计 535
24.4.6struts2映射列表文件struts-superpackage.xml的设计 535
24.4.7struts2各个子映射列表文件的设计 536
24.4.8spring配置文件的设计 540
24.4.9连接池配置文件proxool.cfg.xml的设计 543
24.4.10j2ee web应用配置文件web.xml 543
24.5管理员模块 545
24.5.1展示层jsp实现 545
24.5.2控制层struts2实现 546
24.6程序的部署 563
24.6.1数据库的部署 563
24.6.2使用eclipse来部署工程umbrella企业站 563
24.6.3运行系统 564
小结 564
第25章成都大学班级之家v1.0 565
25.1应用背景与主要功能介绍 565
25.1.1应用背景 565
25.1.2功能介绍 565
25.2程序实现 565
25.2.1dao层的实现 565
25.2.2service层的实现 571
25.2.3action层的实现 578
25.2.4jsp页面实现 585
25.3程序的部署 588
25.3.1数据库的部署 588
25.3.2使用eclipse来部署工程“成都大学班级之家” 588
25.3.3运行系统 589
小结 589
参考文献 590
java语言和目前流行的c语言以及c++语言语法结构很相似。之所以说java语言是简单的,是因为java语言虽然继承了c语言以及c++语言很多优点,但是java语言摒弃了c++语言的复杂性,比如运算符重载、多继承、数据类型自动转换等。
这使得java语言的学习非常简单,如果读者具备一定的c或者c++语言的基础,在掌握了jdk基本使用的基础上,在本篇的指导下将可以轻松掌握。本篇内容详尽,即使读者没有任何java基础,也可以按步骤学习,假以时日,掌握java语言毫无问题。
第1章java开发基础 3
1.1什么是java 3
1.1.1java语言的产生 3
1.1.2java平台 4
1.2java语言的特点 4
1.3java与其他面向对象语言的区别 7
1.3.1java与c++的区别 7
1.3.2java与c#的区别 7
1.4java语言的发展前景 8
1.5搭建开发环境 9
1.5.1下载和安装jdk 9
1.5.2获取帮助文档 11
1.5.3设置path环境变量 12
1.5.4设置classpath环境变量 14
1.5.5使用命令行工具 14
1.5.6使用集成开发环境 15
1.6第一个java应用程序 16
.1.6.1编写源代码 16
1.6.2使用命令行工具编译 16
1.6.3使用命令行工具执行 16
1.7第一个java小应用程序 17
1.7.1编写源代码 17
1.7.2使用命令行工具编译 18
1.7.3编辑html网页文件 18
1.7.4运行html网页文件 18
小结 19
第2章数据类型和程序流程控制 20
2.1关键字与标识符 20
2.1.1关键字 20
2.1.2标识符 21
2.1.3如何做到规范命名 22
2.2常用基本数据类型 22
2.2.1整型 22
2.2.2浮点型 23
2.2.3字符型 23
2.2.4布尔型 23
2.3常量与变量 24
2.3.1常量 24
2.3.2变量 24
2.3.3常量与变量的区别 25
2.4运算符 25
2.4.1算术运算符 25
2.4.2关系运算符 26
2.4.3逻辑运算符 27
2.4.4位运算符 27
2.4.5赋值运算符 28
2.4.6其他运算符 29
2.4.7运算符的优先级别 29
2.5类型转换 30
2.5.1自动类型转换 30
2.5.2强制类型转换 31
2.6注释符 31
2.7java程序的基本结构 32
2.7.1类是一个基本单元 32
2.7.2main方法 33
2.7.3自定义方法 34
2.7.4system.out.println的使用 34
2.7.5一个简单而完整的程序 35
2.8顺序结构 36
2.9分支结构 37
2.9.1if...else分支结构 37
2.9.2if...else嵌套 38
2.9.3switch语句 39
2.9.4编程实例 40
2.10循环结构 42
2.10.1while循环 42
2.10.2do…while循环 43
2.10.3for循环 43
2.10.4编程实例 45
2.11跳转结构 48
2.11.1break 48
2.11.2continue 48
2.11.3编程实例 49
小结 50
第3章数组和字符串 51
3.1java中的数组 51
3.1.1一维数组 51
3.1.2二维数组 53
3.1.3多维数组 53
3.2数组的length属性 53
3.3arrays数组工具类的用法 54
3.4编程实例 55
3.5string字符串 62
3.5.1构造方法 63
3.5.2string常用方法 63
3.6stringbuffer字符串 68
3.6.1构造方法 69
3.6.2stringbuffer常用方法 69
3.7string与stringbuffer的区别 70
3.8equale与==的区别 70
3.9编程实例 70
小结 76
第2篇面向对象程序设计
面向对象是目前最流行的程序设计方式,具备封装、多态性和继承等机制。在现实世界中,任何实体都可以看成是一个对象,对象具有属性和行为两大特征,java语言完全采用这种方式,同样也提供了类、接口和继承等概念。本篇不但让读者细致掌握java面向对象等特性,还介绍了异常处理等java语言所具备的特色技术。
第4章类和对象 79
4.1传统过程程序设计概述 79
4.2面向对象程序设计概述 80
4.2.1抽象 81
4.2.2封装 81
4.2.3继承 82
4.2.4多态 82
4.3类 83
4.3.1类的定义 83
4.3.2类的访问权限修饰符 84
4.3.3构造方法 84
4.3.4成员变量的定义 85
4.3.5成员变量访问权限修饰符 87
4.3.6成员方法的定义 87
4.3.7方法的访问权限修饰符 89
4.4对象 90
4.4.1对象的概念 90
4.4.2类与对象的区别 90
4.4.3new关键字 91
4.4.4对象引用成员变量 93
4.4.5对象引用成员方法 93
4.4.6对象的销毁 95
4.4.7jvm垃圾回收 97
4.5类中的静态成员 98
4.5.1静态成员变量 98
4.5.2静态成员方法 98
4.5.3静态成员与非静态成员的区别 99
小结 100
第5章继承与多态 101
5.1继承与多态的概述 101
5.2类的继承 102
5.2.1类继承的实现 102
5.2.2变量与方法的继承 103
5.2.3子类对父类构造方法的继承和调用 104
5.2.4关于类的继承的进一步说明 105
5.3最终类final 107
5.4super关键字 107
5.5this关键字 109
5.6方法的覆盖 111
5.7成员变量的隐藏 112
5.8方法的重载 113
5.9父类与子类的转换 114
小结 115
第6章抽象类与接口 117
6.1抽象类概述 117
6.2接口的概述 117
6.3抽象类与接口的区别 118
6.4抽象类的定义 118
6.4.1abstract关键字 118
6.4.2抽象方法的定义 119
6.5抽象类的使用说明 119
6.6接口的定义 120
6.6.1关键字interface 121
6.6.2接口的使用规则 121
6.6.3接口多态的应用 123
6.7接口的使用说明 124
小结 126
第7章内部类与匿名类 127
7.1内部类概述 127
7.2内部类的语法及应用 127
7.2.1实例内部类 127
7.2.2静态内部类 130
7.2.3局部内部类 131
7.3匿名类概述 132
7.4匿名类的语法及应用 133
7.4.1与类有关的匿名类 133
7.4.2与接口有关的匿名类 135
小结 136
第8章java常用类库 137
8.1object的讲解 137
8.1.1object概述 137
8.1.2tostring()方法的覆盖 138
8.1.3equals()方法的覆盖 139
8.1.4对象的克隆 141
8.2math类和biginteger类 146
8.2.1math概述 146
8.2.2random()方法 147
8.2.3数字的格式控制 148
8.2.4biginteger类 148
8.3数据类型封装类 150
8.3.1integer类 150
8.3.2long类 152
8.3.3byte类 152
8.3.4short类 153
8.3.5float类 153
8.3.6double类 154
8.3.7boolean类 154
8.4包 154
8.4.1包的概念 154
8.4.2自动导入的包 155
8.4.3包的命名 156
8.4.4import关键字 157
8.4.5package关键字 158
小结 160
第9章异常处理 161
9.1异常的概念 161
9.1.1什么是异常(what) 161
9.1.2为什么要有异常(why) 162
9.1.3从哪里来,往哪里去(where) 162
9.1.4什么时候(when) 162
9.1.5哪种异常(which) 166
9.2异常类 167
9.2.1异常类的层次结构 167
9.2.2exception类以及子类 168
9.2.3error类以及子类 168
9.3异常处理机制 169
9.3.1异常的产生 169
9.3.2异常处理 170
9.4抛出异常 173
9.4.1throw语句 173
9.4.2throws语句 174
9.5自定义异常 176
9.5.1定义异常类 176
9.5.2抛出异常 177
9.5.3捕获并处理异常 177
小结 178
第10章集合框架 180
10.1java集合概述 180
10.2collection接口 180
10.2.1collection概述 181
10.2.2collection层次结构 181
10.2.3常用方法 181
10.3list集合 182
10.3.1arraylist类的使用 182
10.3.2linkedlist类的使用 184
10.3.3vector类的使用 185
10.3.4stack类的使用 186
10.4枚举和迭代 187
10.5set集合 189
10.5.1hashset类的使用 190
10.5.2treeset类的使用 191
10.5.3hashset与treeset的区别 193
10.6map接口 193
10.6.1map层次结构 194
10.6.2使用hashmap类 194
10.6.3使用treemap类 196
10.7collections工具类 198
10.7.1collections的常用方法 198
10.7.2collections应用实例 199
小结 201
第11章输入/输出操作 202
11.1i/o流概述 202
11.2字节流 203
11.2.1inputstream类和outputstream类 203
11.2.2字节流的常用方法 204
11.2.3文件流fileinputstream类 204
11.2.4文件流fileoutputstream类 205
11.2.5缓存流bufferedinputstream类 206
11.2.6缓存流bufferedoutputstream类 208
11.2.7基本数据流datalnputstream类 208
11.2.8基本数据流dataoutputstream类 209
11.3字符流 210
11.3.1reader类和writer类 210
11.3.2字符流的常用方法 211
11.3.3缓存流bufferedreader流 212
11.3.4缓存流bufferedwriter 流 213
11.3.5转换流inputstreamreader类 214
11.3.6转换流outputstreamwriter类 214
11.3.7printstream类/printwriter类 214
11.3.8编程实例 216
11.4file文件类 217
11.4.1file概述 217
11.4.2file构造方法 217
11.4.3file的常用方法 218
11.4.4编程实例 219
11.5随机文件类randomaccessfile 222
11.5.1randomaccessfile概述 222
11.5.2randomaccessfile常用方法 223
11.6对象序列化 225
11.6.1对象流objectinputstream类 226
11.6.2对象流objectoutputstream类 227
11.6.3serializable接口 228
小结 230
第3篇java开发中的高级技术
c语言和c++语言采用的是单线程体系结构,而java语言很好的支持多线程。多线程的好处是可以在程序运行过程中,同时可以完成多个不同任务的同时进行,以达到更好的交互性和实时性。多线程带来的比如多个线程同步、共享变量访问等问题,java语言也提供了简单易学的解决办法。在本篇中,重点学习多线程和数据库等一个开发人员必须掌握的高级语言技术,为后面的项目开发打下良好的基础。
第12章多线程 233
12.1线程的概述 233
12.1.1进程 233
12.1.2线程 234
12.2线程的创建方式 234
12.2.1继承线程类 234
12.2.2实现线程接口 236
12.3线程的生命周期 237
12.4线程的调度和优先级 239
12.5线程的控制 240
12.5.1线程的启动 240
12.5.2线程的休眠 240
12.5.3当前线程状态的检查 244
12.5.4结束线程 245
12.6线程的同步问题 247
12.6.1使用synchronized同步块 247
12.6.2使用synchronized同步方法 249
12.7线程的死锁问题 251
12.7.1造成死锁的原因 251
12.7.2哲学家进餐的问题 252
12.7.3解决线程死锁问题 253
12.7.4实例—模拟解决死锁问题 253
12.8线程间的通信 258
12.8.1与线程间通信相关的方法 258
12.8.2生产者—消费者问题 258
小结 261
第13章反射机制 262
13.1什么是反射 262
13.2反射包reflection概述 263
13.3class概述 265
13.4获取class的方式 267
13.4.1getclass() 267
13.4.2使用类的名字表达式 268
13.4.3forname() 269
13.5使用反射的好处 270
13.5.1获取某类的成员变量 270
13.5.2获取某类的成员方法 271
13.5.3修改成员的值 273
小结 275
第14章泛型 276
14.1为什么使用泛型 276
14.2定义泛型类的语法 276
14.3泛型编程实例 279
14.4泛型的高级语法 284
14.4.1通配字符 284
14.4.2限制泛型 285
小结 286
第15章jdbc程序设计 288
15.1jdbc概述 288
15.2数据库的基本操作 289
15.3jdbc常用接口使用介绍 292
15.3.1driver 293
15.3.2drivermanager 293
15.3.3connection 294
15.3.4statement 296
15.3.5resultset 296
15.3.6callablestatement 297
15.4java连接数据库 298
15.4.1注册数据库驱动程序 299
15.4.2获得数据库连接 300
15.4.3发送和执行sql语句 301
15.4.4java连接数据库编程实例 301
15.5执行静态sql 302
15.6执行预编译sql 304
15.7结果集resultset 306
15.7.1resultset的常用方法 306
15.7.2可滚动和可更新的结果集 306
15.8存储过程 311
15.8.1存储过程的建立 311
15.8.2执行存储过程 312
15.9事务的处理 314
15.9.1什么是事务 314
15.9.2java中事务的处理 314
小结 316
第4篇java web开发
未来是web开发的世界,java web开发也是java领域的重点。java为internet而生,在web开发领域,也有非常好的积累和沉淀。本篇从jsp、servlet、javabean和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。
第16章tomcat的使用 319
16.1tomcat介绍 319
16.2tomcat的工作模式 319
16.2.1servlet容器 320
16.2.2tomcat的工作模式 320
16.3tomcat安装 321
16.3.1安装jdk 321
16.3.2安装tomcat 321
16.3.3tomcat 6.0新特性及变化 322
16.4tomcat的目录结构及相关设置 322
16.4.1预览目录结构 322
16.4.2相关设置 323
16.5测试运行tomcat 324
16.6tomcat下部署web程序 324
16.6.1部署描述符web.xml 325
16.6.2实例演示:创建和发布过程 335
16.7通过ide部署web程序 339
小结 341
第17章servlet技术 342
17.1servlet介绍 342
17.2servlet和cgi的比较 343
17.3servlet的生命周期 343
17.3.1加载和实例化servlet 344
17.3.2初始化 344
17.3.3处理请求 346
17.3.4服务结束 347
17.4servlet api 347
17.4.1javax.servlet包 348
17.4.2javax.servlet.http包 362
17.5会话跟踪 372
17.5.1会话状态跟踪api 373
17.5.2会话状态跟踪api示例 375
17.6cookie概述 377
17.6.1cookie操作 377
17.6.2使用cookie的servlet 378
小结 381
第18章jsp技术 382
18.1jsp技术概述 382
18.1.1动态网页技术比较 382
18.1.2jsp工作原理 383
18.2jsp核心语法 384
18.2.1jsp页面的基本结构 384
18.2.2变量的声明 386
18.2.3表达式 386
18.2.4jsp脚本 387
18.2.5jsp的注释 388
18.2.6jsp的指令标签 389
18.2.7jsp的动作标签 393
18.3jsp的内置对象 400
18.3.1request对象 400
18.3.2response对象 402
18.3.3session对象 404
18.3.4aplication对象 406
18.3.5out对象 407
18.3.6cookie对象 408
18.3.7page对象 410
18.3.8exception对象 410
18.3.9pagecontext对象 410
18.3.10config对象 412
小结 412
第19章javabean技术 413
19.1javabean概述 413
19.2javabean的属性 414
19.3在jsp页面中使用javabean 417
19.4javabean的范围 421
19.5使用javabean实现购物车 423
19.5.1需求概述 423
19.5.2建立数据库表 423
19.5.3编写javabean 424
19.5.4编写购物页面 425
小结 432
第20章servlet高级应用——监听器及过滤器 433
20.1监听器 433
20.1.1servletcontextlistener 433
20.1.2httpsessionlistener 433
20.1.3servletrequestlistener 434
20.1.4servletcontextattributelistener 434
20.1.5httpsessionactivationlistener 434
20.1.6httpsessionattributelistener 435
20.1.7httpsessionbindinglistener 435
20.1.8servletrequestattributelistener 436
20.1.9web.xml配置 436
20.2servlet过滤器 436
20.2.1创建servlet过滤器 437
20.2.2配置过滤器 438
20.2.3过滤器执行流程 438
20.3监听器编程实例 439
20.4过滤器编程实例 439
小结 442
第5篇项目案例开发实践
几乎所有的java程序员都认为,不断的积累项目开发经验,是成长的关键。在本书的最后,通过五个具体的项目案例,帮助读者学习项目分析和设计、数据库的应用、大型系统分解和建构的方法。并且,五个项目分别覆盖java数据类应用、java web网站应用、使用ssh框架建立系统等应用,各有不同,但集合起来可以提高读者的综合能力。
第21章学生网上选课系统的设计 445
21.1学生网上选课系统概述 445
21.2建立数据库 446
21.2.1设计数据库实体 446
21.2.2使用mysql administrator建立表 449
21.3系统功能模块设计 450
21.3.1系统结构设计 450
21.3.2登录用例的设计与实现 455
21.3.3查看课表用例的设计与实现 461
21.3.4查看课程列表用例的设计与实现 466
21.3.5查看教师信息用例的设计与实现 468
21.3.6选课用例的设计与实现 471
21.3.7退课用例的设计与实现 474
21.3.8打印课表用例的设计与实现 475
21.4完整实例 475
21.4.1项目结构 475
21.4.2运行项目 476
小结 477
第22章设计一个简单的购物网站 478
22.1系统概述 478
22.2数据库设计 479
22.3系统功能模块设计 481
22.3.1mvc模式 481
22.3.2本例使用mvc模式的方式 481
22.3.3数据库访问的设计与实现 483
22.3.4用户登录用例的设计与实现 486
22.3.5浏览商品用例的设计与实现 489
22.3.6购物车维护用例的设计与实现 494
22.3.7其他增删改用例的设计与实现 500
22.4完整实例 501
22.4.1数据库的准备 501
22.4.2生成项目 502
22.4.3运行项目 503
小结 505
第23章英语论坛 506
23.1应用背景与主要技术介绍 506
23.1.1应用背景 506
23.1.2功能介绍 506
23.1.3jsp简介 506
23.1.4servlet简介 507
23.2总体设计与概要说明 508
23.3业务流程图 508
23.4程序实现 509
23.4.1公共的数据库访问类设计 509
23.4.2数据存取对象的设计 512
23.4.3前台页面的设计 515
23.4.4后台servlet的设计 526
23.5程序的部署 529
小结 529
第24章umbrella企业站 530
24.1应用背景与主要技术介绍 530
24.1.1应用背景 530
24.1.2功能介绍(需求) 530
24.1.3struts2简介 530
24.1.4hibernate简介 531
24.1.5spring简介 532
24.2总体结构图 532
24.3业务流程图 532
24.4程序实现 533
24.4.1带日志功能的action设计 533
24.4.2消息资源文件struts-globalmessages.properties的设计 533
24.4.3日志文件log4j.properties的设计 533
24.4.4struts2属性文件struts.properties的设计 534
24.4.5struts2映射列表文件struts.xml的设计 535
24.4.6struts2映射列表文件struts-superpackage.xml的设计 535
24.4.7struts2各个子映射列表文件的设计 536
24.4.8spring配置文件的设计 540
24.4.9连接池配置文件proxool.cfg.xml的设计 543
24.4.10j2ee web应用配置文件web.xml 543
24.5管理员模块 545
24.5.1展示层jsp实现 545
24.5.2控制层struts2实现 546
24.6程序的部署 563
24.6.1数据库的部署 563
24.6.2使用eclipse来部署工程umbrella企业站 563
24.6.3运行系统 564
小结 564
第25章成都大学班级之家v1.0 565
25.1应用背景与主要功能介绍 565
25.1.1应用背景 565
25.1.2功能介绍 565
25.2程序实现 565
25.2.1dao层的实现 565
25.2.2service层的实现 571
25.2.3action层的实现 578
25.2.4jsp页面实现 585
25.3程序的部署 588
25.3.1数据库的部署 588
25.3.2使用eclipse来部署工程“成都大学班级之家” 588
25.3.3运行系统 589
小结 589
参考文献 590
Java学习宝典
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!