第1部分 Java开发入门 3
第1课 Java快速上手 3
1.1开始了解Java 4
1.1.1 Java语言的11个特性 4
1.1.2 Java语言的构成——JIT、JVM、JRE、JDK 5
1.1.3 Java虚拟机JVM 6
1.2安装Java开发环境 7
1.2.1下载JDK 7
1.2.2安装JDK和JRE 7
1.2.3设置环境变量 10
1.2.4学会查找Java帮助和API文档 12
1.3开发第一个Java程序——HelloWorld.java 13
1.3.1编写Java入门实例HelloWorld.java 14
1.3.2编译类文件——java命令 15
1.3.3运行类文件——java命令 17
1.3.4类文件打包——jar命令 19
1.3.5生成API文档——javadoc命令 22
1.4本课小结 25
1.4.1总结本课的知识点 26
1.4.2要掌握的关键点 26
1.4.3课后上机作业 27
1.4.4继续下一课:JVM内存结构及其调优 29
第2课 JVM内存结构及其调优 31
2.1 Java虚拟机结构与属性 31
2.1.1 Java虚拟机内存结构 31
2.1.2 Java虚拟机配置选项 32
2.2 Java垃圾回收机制 35
2.2.1垃圾回收的2种方法 36
2.2.2垃圾收集器的7个类型 37
2.3 JVM内存区域配置 39
2.3.1配置堆区域 39
2.3.2配置新域与旧域 39
2.3.3配置永久区域 40
2.3.4配置新域子空间 40
2.4 JVM性能调优实战 41
2.4.1调优配置参考 41
2.4.2 JVM调优实战 42
2.5本课小结 46
2.5.1总结本课的知识点 46
2.5.2要掌握的关键点 46
2.5.3课后上机作业 47
2.5.4继续下一课:在Eclipse下开发Java程序 48
第3课 在Eclipse下开发Java程序 49
3.1集成开发工具的对比 49
3.1.1 Eclipse——IBM公司 49
3.1.2 NetBeans——Sun公司 50
3.1.3 JBuilder——Borland公司 52
3.1.4 IntelliJ——JetBrains公司 53
3.1.5 JCreator——Xinox公司 54
3.1.6对比总结 55
3.2安装和配置Eclipse开发环境 56
3.2.1 Eclipse版本与代号 56
3.2.2 Eclipse安装包的下载 57
3.2.3 Eclipse的安装与启动 61
3.2.4集成配置JDK 64
3.3 Eclipse使用演练 65
3.3.1 Eclipse工作区使用演练——添加选项卡 66
3.3.2 Eclipse透视图使用演练——切换到CVS视图 68
3.3.3 Eclipse插件安装演练——安装反编译工具Jad插件 70
3.4使用Eclipse进行Java项目的开发 74
3.4.1在Eclipse中新建Java项目 74
3.4.2编写HelloWorld.java类 76
3.4.3运行Java程序 78
3.4.4调试Java程序 79
3.4.5导出JAR包 81
3.4.6 导出可执行的JAR包 82
3.4.7生成Javadoc文档 83
3.5本课小结 85
3.5.1总结本课的知识点 86
3.5.2要掌握的关键点 87
3.5.3课后上机作业 87
3.5.4继续下一课:在Linux下开发Java程序 89
第4课 在Linux下开发Java程序 91
4.1 Linux系统概述 91
4.1.1 Linux系统简介 92
4.1.2 Linux系统的特点 92
4.1.3 Linux发行版本 92
4.2在虚拟机VMware 6.0中安装Red Hat 9.0 96
4.2.1下载VMware 6.0 97
4.2.2安装VMware 6.0 98
4.2.3新建Linux类型的虚拟机 99
4.2.4安装Red Hat 9.0系统 102
4.3 Linux系统的使用 116
4.3.1启动Linux并初始化 116
4.3.2 Linux终端及常用命令 122
4.3.3使用vi编辑器编辑文件 125
4.3.4关闭系统 127
4.4让Linux与外界建立联系 128
4.4.1配置Linux上网 128
4.4.2让Linux访问Windows下的文件 133
4.4.3使用FTP访问Linux 137
4.4.4使用远程终端Putty访问Linux 140
4.5安装Java开发环境 141
4.5.1下载JDK 6 141
4.5.2安装JDK 6 142
4.5.3设置环境变量 142
4.5.4检验 JDK是否安装成功 143
4.6开发第一个Java程序 143
4.6.1编写入门实例类HelloWorld.java 144
4.6.2编译类HelloWorld.java 144
4.6.3运行类HelloWorld.class 145
4.7在Linux下使用Eclipse 145
4.7.1下载Eclipse 145
4.7.2安装Eclipse 145
4.7.3启动Eclipse 145
4.7.4使用Eclipse开发入门实例 147
4.8本课小结 148
4.8.1总结本课的知识点 148
4.8.2要掌握的关键点 149
4.8.3课后上机作业 150
4.8.4继续下一课:Java语法基础 152
第2部分 Java语法基础 157
第5课 Java核心语法详解 157
5.1 Java类的基本构成——包、引入、类、变量、方法、注释 157
5.1.1包(package) 158
5.1.2引入(import) 160
5.1.3类(class) 161
5.1.4变量(variable) 162
5.1.5方法(method) 162
5.1.6注释 162
5.2 Java修饰符——修饰类、变量与方法 165
5.2.1类的修饰符 166
5.2.2变量的修饰符 166
5.2.3方法的修饰符 167
5.2.4访问控制符 169
5.3 Java变量 171
5.3.1定义一个变量 171
5.3.2变量的命名规则 172
5.3.3 Java保留关键字 172
5.3.4变量赋值的两种方法 174
5.3.5变量的作用范围 175
5.3.6成员变量与局部变量 176
5.4 Java数据类型 177
5.4.1基本数据类型 177
5.4.2对象数据类型 178
5.4.3引用数据类型 179
5.4.4数组数据类型 180
5.5 Java运算符 181
5.5.1算术运算符 181
5.5.2赋值运算符 181
5.5.3自增/减运算符 182
5.5.4关系运算符 183
5.5.5逻辑运算符 183
5.5.6运算符的优先级 185
5.6 Java方法 185
5.6.1定义方法 186
5.6.2方法的3种类型 187
5.6.3方法的参数传递 188
5.6.4方法的递归调用 189
5.6.5 main()方法 189
5.7循环与流程控制 190
5.7.1 if条件语句 190
5.7.2 switch分支语句 191
5.7.3 for循环控制语句 192
5.7.4 while与do...while循环控制语句 193
5.7.5 break、continue、label和retu控制语句 194
5.8本课小结 195
5.8.1总结本课的知识点 195
5.8.2要掌握的关键点 196
5.8.3课后上机作业 198
5.8.4上机作业参考样例 198
5.8.5继续下一课:Java面向对象编程 199
第6课 Java面向对象编程 201
6.1封装(encapsulation)——类 201
6.1.1类的封装 202
6.1.2对象的生成 202
6.1.3对象的使用 203
6.2继承(inheritance)——抽象类 204
6.2.1继承的概念——超类和子类 205
6.2.2子类不能访问私有成员与方法 206
6.2.3父类和子类的相互转换 207
6.2.4使用this和super 207
6.2.5多态(polymiorphism)——方法的覆盖(override)、重载(overload)、重写(overwrite ) 210
6.2.6必须被继承的类——抽象类(abstract) 212
6.2.7不能被继承的类——最终类(final) 213
6.3多重继承——接口类 214
6.3.1接口的含义 215
6.3.2接口的创建与实现 215
6.3.3接口与抽象类的区别 216
6.4本课小结 218
6.4.1总结本课的知识点 218
6.4.2要掌握的关键点 218
6.4.3课后上机作业 219
6.4.4上机作业参考样例 220
6.4.5继续下一课:Java面向对象编程扩展 224
第7课 Java面向对象编程扩展 225
7.1 Java静态类(Static Class) 225
7.1.1静态类与非静态类的区别 225
7.1.2静态方法 226
7.1.3静态变量 226
7.1.4静态代码块 227
7.1.5静态内部类 228
7.2 Java匿名类(Anonymous Class) 228
7.2.1匿名类的定义 229
7.2.2匿名类的使用实例 229
7.2.3使用匿名类处理Swing事件 230
7.3 Java内部类(Inner Class) 231
7.3.1内部类的含义 231
7.3.2内部类的使用实例 232
7.3.3局部内部类 233
7.3.4内部类引用外部类对象 235
7.4 Java异常类(Exception Class) 237
7.4.1 Java的异常层次结构 238
7.4.2异常的捕捉处理机制 240
7.4.3使用异常和自定义异常类 241
7.5本课小结 242
7.5.1总结本课的知识点 242
7.5.2要掌握的关键点 243
7.5.3课后上机作业 243
7.5.4上机作业参考样例 245
7.5.5继续下一课:Java编码规范与样式 247
第8课 Java编码规范与样式 249
8.1 Java命名规范 249
8.1.1文件的命名 249
8.1.2包的命名 250
8.1.3类的命名 250
8.1.4变量的命名 250
8.1.5常量的命名 251
8.1.6数组的命名 251
8.1.7方法的命名 251
8.2 Java排版规范 252
8.2.1空格 252
8.2.2空行 253
8.2.3缩进 255
8.2.4页宽 255
8.3 Java注释规范 255
8.3.1块注释 256
8.3.2单行注释 256
8.3.3尾端注释 257
8.3.4行末注释 257
8.4 Java文件样式 257
8.4.1版权信息 257
8.4.2包与引入 258
8.4.3类的注释 258
8.4.4类的定义 258
8.4.5变量及其存取方法 258
8.4.6构造函数 259
8.4.7类方法 259
8.4.8 toString()方法 259
8.4.9 main()方法 259
8.5本课小结 260
8.5.1总结本课的知识点 260
8.5.2要掌握的关键点 261
8.5.3课后上机作业 261
8.5.4继续下一课:Java核心编程 263
第3部分 Java核心编程 267
第9课 Java输入/输出流 267
9.1标准设备输入/输出 267
9.1.1标准输入/输出类System 268
9.1.2控制台读写类Console 271
9.2文件基本处理 273
9.2.1文件操作类File 273
9.2.2文件搜索类FileFilter与FilenameFilter 275
9.2.3文件随机读写类RandomAccessFile 279
9.3输入/输出流 283
9.3.1流的运作原理 283
9.3.2输入字节流InputStream 285
9.3.3输出字节流OutputStream 297
9.3.4输入字符流Reader 307
9.3.5输出字符流Writer 314
9.3.6字节流与字符流的转换 321
9.4本课小结 324
9.4.1总结本课的知识点 325
9.4.2要掌握的关键点 326
9.4.3课后上机作业 328
9.4.4上机作业参考样例 329
9.4.5继续下一课:Java多线程编程 334
第10课 Java多线程编程 335
10.1线程的概念 335
10.1.1进程与线程的区别 336
10.1.2线程的概念模型 336
10.1.3线程的运行状态 337
10.1.4线程的优先级 338
10.2线程的开发方法 338
10.2.1使用进程调用Java程序 339
10.2.2第一种方法——继承Thread 342
10.2.3第二种方法——实现Runnable 344
10.2.4使用定时器TimerTask 346
10.2.5使用线程组ThreadGroup 348
10.2.6使用线程池ExecutorService 349
10.3线程的运行控制 353
10.3.1线程的启动start()、join()与停止stop() 353
10.3.2线程的休眠sleep()与挂起yield() 354
10.3.3线程的同步synchronized 357
10.3.4线程的同步锁机制:wait()、notify()和notifyAll() 359
10.4本课小结 365
10.4.1总结本课的知识点 365
10.4.2要掌握的关键点 365
10.4.3课后上机作业 366
10.4.4上机作业参考样例 367
10.4.5继续下一课:Java常用实体类 372
第11课 Java常用实体类 373
11.1 Java系统级类 373
11.1.1系统类System 373
11.1.2运行时类Runtime 384
11.2 Java字符串处理类 388
11.2.1字符串类String 388
11.2.2字符串分隔类StringTokenizer 391
11.2.3线程安全的可变字符串类StringBuffer 392
11.2.4可变字符串类StringBuilder 393
11.2.5选择String、StringBuffer与StringBuilder 393
11.3 Java日期处理类 396
11.3.1日期类Date 396
11.3.2日期格式化类SimpleDateFormat 397
11.3.3日历类Calendar 399
11.4 Java数字处理类 400
11.4.1数学函数类Math 401
11.4.2随机数类Random 402
11.4.3基本数据类型转换 403
11.5本课小结 404
11.5.1总结本课的知识点 405
11.5.2要掌握的关键点 405
11.5.3继续下一课:Java常用集合类 406
第12课 Java常用集合类 407
12.1集合类概述 408
12.1.1Iterator与Enumeration 408
12.1.2 Collections与Collection 409
12.1.3 Arrays与数组 411
12.1.4 Dictionary字典 411
12.1.5 Queue队列 412
12.2列表类List 414
12.2.1抽象类AbstractList与AbstractSequentialList 414
12.2.2链表LinkedList 415
12.2.3可变数组ArrayList 416
12.2.4向量Vector 416
12.2.5堆栈Stack 418
12.3集合类Set 419
12.3.1抽象类AbstractSet与接口SortedSet 419
12.3.2哈希集合HashSet 420
12.3.3树集合TreeSet 421
12.4映射类Map 423
12.4.1抽象类AbstractMap与接口SortedMap、NavigableMap 423
12.4.2树映射TreeMap 425
12.4.3哈希映射HashMap 426
12.4.4链表哈希映射LinkedHashMap 427
12.4.5弱哈希映射WeakHashMap 428
12.4.6哈希表Hashtable 429
12.4.7属性Properties 430
12.5对比与选择 430
12.5.1对比表格 430
12.5.2 List选择:LinkedList、ArrayList与Vector 431
12.5.3 Map选择:Hashtable、HashMap、WeakHashMap 433
12.6本课小结 434
12.6.1总结本课的知识点 434
12.6.2要掌握的关键点 434
12.6.3继续下一课:Java正则表达式 435
第13课 Java正则表达式 437
13.1正则表达式语法 437
13.1.1正则表达式的起源 437
13.1.2正则表达式的匹配字符 438
13.1.3正则表达式的匹配规则 444
13.1.4全部符号汇总表 449
13.1.5常用正则表达式举例 451
13.2 Java正则表达式详解 452
13.2.1使用String类的匹配功能 452
13.2.2使用正则表达式库Pattern和Matcher 453
13.2.3正则表达式库的4个功能 454
13.3本课小结 455
13.3.1总结本课的知识点 455
13.3.2要掌握的关键点 456
13.3.3课后上机作业 456
13.3.4继续下一课:XML与属性文件 458
第14课 XML与属性文件 459
14.1名词解释 459
14.1.1 DOM与SAX模型 459
14.1.2 DOM和SAX接口的实现——JAXP 460
14.1.3 DOM的分支发展——JDOM和DOM4J 460
14.1.4 Xerces和Crimson 461
14.1.5流式操作库StAX 462
14.1.6总结 462
14.2使用XML库 462
14.2.1使用DOM读取XML文件 463
14.2.2使用SAX读取XML文件 466
14.2.3使用JDOM读写XML文件 468
14.2.4使用DOM4J读写XML文件 472
14.2.5使用StAX读取XML文件 475
14.3属性文件读写 478
14.3.1读写属性文件的方法 478
14.3.2读写文件实例 479
14.4本课小结 480
14.4.1总结本课的知识点 480
14.4.2要掌握的关键点 481
14.4.3课后上机作业 481
14.4.4继续下一课:Java图形编程 481
第4部分 Java图形编程 485
第15课 Java GUI库对比 485
15.1 Java GUI库简介 485
15.1.1 AWT简介 485
15.1.2 Swing简介 486
15.1.3 SWT简介 486
15.1.4 JFace简介 486
15.2 HelloWorld对比实例 487
15.2.1 AWT实例 487
15.2.2 Swing实例 490
15.2.3 SWT实例 492
15.2.4 JFace实例 494
15.3本课小结 497
15.3.1总结本课的知识点 497
15.3.2要掌握的关键点 498
15.3.3课后上机作业 498
15.3.4继续下一课:AWT图形界面开发 498
第16课 AWT图形界面开发 499
16.1 AWT界面组件 499
16.1.1基本的组件类树 499
16.1.2窗口与对话框 501
16.1.3基本组件 504
16.1.4菜单组件 508
16.2 AWT布局管理器 509
16.2.1流式布局F1owLayout 510
16.2.2区域布局BorderLayout 511
16.2.3网格布局GridLayout 512
16.2.4卡片布局CardLayout 513
16.2.5容器的嵌套 515
16.3 AWT事件处理 515
16.3.1事件授权模型 515
16.3.2授权模型:事件类型 516
16.3.3授权模型:事件监听器 517
16.3.4使用事件监听器 519
16.3.5使用事件适配器 524
16.4本课小结 525
16.4.1总结本课的知识点 525
16.4.2要掌握的关键点 526
16.4.3课后上机作业——Java文本编辑器 528
16.4.4上机作业参考样例 528
16.4.5上机作业参考样例运行结果 532
16.4.6打包javaawt.zip 533
16.4.7继续下一课:AWT多媒体编程 534
第17课 AWT多媒体编程 535
17.1图像处理j ava.awt.image 535
17.1.1加载图像 535
17.1.2显示图像 536
17.1.3实例一:显示图片 536
17.1.4实例二:缩放图片 537
17.2二维图像绘制——Java2D 538
17.2.1 Java2D简介 539
17.2.2取得Graphics2D对象 540
17.2.3设置Graphics2D属性 540
17.2.4创建绘制对象 541
17.2.5绘制对象 542
17.2.6实例一:绘制图形 542
17.2.7实例二:显示文字 543
17.2.8实例三:显示图像 544
17.3音频录制与播放——JavaSound 545
17.3.1 JavaSound体系结构 545
17.3.2音频输入/输出原理 546
17.3.3音频的数据格式 547
17.3.4音频的录制 548
17.3.5音频的播放 549
17.3.6音频的保存 550
17.3.7实例一:录音机程序 552
17.3.8实例二、MP3音乐播放器 558
17.4视频拍照与播放——JMF多媒体库 563
17.4.1 JMF模型 564
17.4.2创建Player对象 565
17.4.3截取多媒体数据 566
17.4.4实例一:视频拍照程序 566
17.4.5实例二:视频播放器 570
17.5本课小结 573
17.5.1总结本课的知识点 574
17.5.2要掌握的关键点 575
17.5.3课后上机作业 575
17.5.4继续下一课:Swing图形界面开发 575
第18课 Swing图形界面开发 577
18.1 Swing界面组件 577
18.1.1组件类树 577
18.1.2窗口与对话框 579
18.1.3基本组件 587
18.1.4菜单栏组件 594
18.1.5工具栏组件JToolBar 596
18.2 Swing布局管理器 597
18.3 Swing事件处理 598
18.4本课小结 599
18.4.1总结本课的知识点 599
18.4.2要掌握的关键点 600
18.4.3课后上机作业——Java文本编辑器 600
18.4.4上机作业参考样例 601
18.4.5上机作业参考样例运行结果 604
18.4.6打包javaswing.zip 605
18.4.7继续下一课:SWT图形界面开发 606
第19课 SWT图形界面开发 607
19.1 SWT界面组件 608
19.1.1组件类树 608
19.1.2容器组件 609
19.1.3对话框(Dialog) 613
19.1.4基本组件(Control) 617
19.1.5菜单栏组件Menu和MenuItem 625
19.1.6工具栏组件ToolBar和ToolItem 627
19.2 SWT布局管理器 629
19.2.1充满式布局FillLayout 629
19.2.2表格式布局FormLayout 630
19.2.3网格式布局GridLayout 631
19.2.4行列式布局RowLayout 632
19.3 SWT事件处理 633
19.3.1常用事件 633
19.3.2事件监听器 634
19.4本课小结 635
19.4.1总结本课的知识点 635
19.4.2要掌握的关键点 635
19.4.3课后上机作业——Java文本编辑器 636
19.4.4上机作业参考样例 636
19.4.5上机作业参考样例运行结果 640
19.4.6打包javaswt.zip 641
19.4.7继续下一课:SWT增强组件库JFace 642
第20课 SWT增强组件库JFace 643
20.1 JFace扩展组件 643
20.1.1窗体 643
20.1.2对话框 646
20.1.3 Viewer查看器 651
20.2 Action事件处理 651
20.2.1按钮与Action事件 652
20.2.2菜单栏与Action事件 653
20.2.3工具栏与Action事件 654
20.3本课小结 655
20.3.1总结本课的知识点 656
20.3.2要掌握的关键点 656
20.3.3继续下一课:Java网络编程 657
第5部分 Java网络编程 661
第21课 Applet组件编程 661
21.1 Applet基本原理 661
21.1.1 Applet在网页中的引用 661
21.1.2 Applet基类 662
21.1.3 Applet运行状态 663
21.1.4 Applet入门实例HelloWorld 664
21.2 Applet核心编程 666
21.2.1事件处理:响应鼠标事件 666
21.2.2事件处理:响应键盘事件 667
21.2.3多媒体:显示图片 668
21.2.4多媒体:播放音乐 671
21.2.5网页交互:传递网页参数 672
21.2.6网页交互:JavaScript操作App let 673
21.3本课小结 675
21.3.1总结本课的知识点 675
21.3.2要掌握的关键点 676
21.3.3课后上机作业——电子相册 676
21.3.4上机作业参考样例 676
21.3.5打包javaapplet.zip 678
21.3.6继续下一课:Java网络编程 679
第22课 Java网络编程 681
22.1基于HTTP协议的网络编程 681
22.1.1网页地址格式URI→URL 682
22.1.2 URL网页地址类 685
22.1.3 URLConnection网页连接类 687
22.1.4 HttpURLConnection和JarURLConnection 689
22.2基于TCP/IP的Socket编程 691
22.2.1 TCP/IP与UDP协议简介 691
22.2.2 IP地址类InetAddress 692
22.2.3客户端套接字Socket 697
22.2.4补充:Socket选项 700
22.2.5补充:Socket异常 703
22.2.6服务端套接字ServerSocket 704
22.2.7补充:ServerSocket选项 707
22.2.8实例一:简单的Client/Server对话程序 710
22.2.9 实例二:支持多客户的Client/Server服务响应程序 715
22.3基于UDP的Socket编程 720
22.3.1数据报包DatagramPacket 721
22.3.2数据报套接字DatagramSocket 722
22.3.3实例一:利用数据报通信的Client/Server程序 724
22.3.4组播套接字MulticastSocket 727
22.3.5实例二:组播套接字的Client/Server程序 728
22.4本课小结 730
22.4.1总结本课的知识点 730
22.4.2要掌握的关键点 731
22.4.3课后上机作业 731
22.4.4上机作业参考样例 733
22.4.5继续下一课:NIO非阻塞通信 740
第23课 NIO非阻塞编程 741
23.1 NIO引入 741
23.1.1基于Socket通信存在的问题——I/O阻塞通信 742
23.1.2传统的解决方法——使用线程池 743
23.1.3最新的解决方案——NIO非阻塞通信 744
23.2 NIO核心框架 745
23.2.1缓存区Buffer 745
23.2.2字符集Charset——编码与解码 752
23.2.3通道Channel 758
23.2.4选择器Selector 761
23.3 NIO通道编程详解 764
23.3.1文件通道FileChannel 764
23.3.2 Socket通道SocketChannel 769
23.3.3 ServerSocket通道ServerSocketChannel 773
23.3.4实例一:支持多客户的Client/Server任务响应程序 776
23.3.5数据报通道DatagramChannel 785
23.3.6实例二:利用数据报通信的Client/Server程序 785
23.4本课小结 788
23.4.1总结本课的知识点 788
23.4.2要掌握的关键点 788
23.4.3课后上机作业 789
23.4.4上机作业参考样例 790
23.4.5继续下一课:RMI分布式网络编程 800
第24课 RMI分布式网络编程 801
24.1 RMI引入 801
24.1.1远程过程调用协议RPC 802
24.1.2客户机/服务器模型Client/Server 802
24.1.3分布式对象模型 802
24.1.4 Java远程方法调用RMI 802
24.2 RMI系统原理与开发步骤 803
24.2.1 RMI通信机制 803
24.2.2 RMI对象序列化 804
24.2.3 RMI程序的实现步骤 805
24.2.4 RMI程序的运行步骤 805
24.3 RMI程序开发详解—HelloWorld 805
24.3.1创建远程接口类IHelloWorld.java 806
24.3.2创建接口实现类HelloWorld.java 807
24.3.3开发服务器程序RMIServer.java 807
24.3.4开发客户端程序RMIClient.java 809
24.3.5编译并运行应用程序 809
24.3.6补充:Java安全许可文件 812
24.4本课小结 813
24.4.1总结本课的知识点 813
24.4.2要掌握的关键点 814
24.4.3课后上机作业 814
24.4.4上机作业参考样例 815
24.4.5继续下一课:CORBA分布式网络编程 819
第25课 CORBA分布式网络编程 821
25.1 CORBA引入 822
25.1.1 CORBA相关概念 822
25.1.2 CORBA发展历程 823
25.1.3 CORBA系统的结构与特点 823
25.1.4 CORBA中间件ORB 825
25.1.5 RMI与CORBA的结合RMI-IIOP 826
25.2使用Java编写CORBA程序——HelloWorld实例 827
25.2.1创建IDL接口Hello.idl 828
25.2.2编译IDL接口产生6个文件 828
25.2.3创建IDL接口实现类HelloImpljava 829
25.2.4实现服务器HelloServer.java 829
25.2.5实现客户端HelloClient.java 830
25.2.6运行程序 831
25.2.7补充:IDL的语法规则 832
25.3本课小结 835
25.3.1总结本课的知识点 835
25.3.2要掌握的关键点 836
25.3.3课后上机作业 836
25.3.4上机作业参考样例 837
25.3.5继续下一课:Java高级特性 842
第26课 Java反射编程与动态代理 845
26.1 Java反射机制 845
26.1.1反射的概念 845
26.1.2 Java中的反射 846
26.1.3第一个反射的例子 846
26.1.4 Java反射API 847
26.2 Java反射应用——检测类 850
26.2.1标准会话管理器StandardManager 851
26.2.2获取类的方法 851
26.2.3获取类的构造器 852
26.2.4获取类的变量 852
26.3 Java反射应用——处理对象 853
26.3.1创建类的对象 853
26.3.2改变变量的值 853
26.3.3执行类的方法 854
26.3.4使用数组 854
26.4 Java动态代理 855
26.4.1动态代理机制 855
26.4.2动态代理应用 856
26.4.3基于动态代理的AOP实现 860
26.4.4基于动态代理的字节码库 861
26.5本课小结 861
26.5.1总结本课的知识点 861
26.5.2要掌握的关键点 862
26.5.3课后上机作业 863
26.5.4上机作业参考 863
26.5.5继续下一课:Java泛型编程 869
第27课 Java泛型编程 871
27.1了解Java泛型 871
27.1.1数据类型转换错误 871
27.1.2用泛型消除类型转换 871
27.2泛型类的开发与使用 872
27.2.1定义泛型类 873
27.2.2无界通配符“?” 874
27.2.3上限通配符extends 874
27.2.4下限通配符super 875
27.2.5定义多态方法 876
27.2.6定义泛型异常 877
27.3本课小结 878
27.3.1总结本课的知识点 878
27.3.2要掌握的关键点 878
27.3.3课后上机作业 879
27.3.4继续下一课:Java注释符编程 879
第28课 Java注释符编程 881
28.1 JDK内置注释 881
28.1.1注释的格式与分类 881
28.1.2覆盖注释@Override 882
28.1.3过时注释@Deprecated 883
28.1.4警告注释@SuppressWarnings 883
28.2自定义注释 885
28.2.1定义注释类型@interface 885
28.2.2添加成员变量 885
28.2.3设置默认值 886
28.2.4设置目标范围@Target 886
28.2.5设置保持性@Retention 887
28.2.6添加公共文档@Documented 888
28.2.7设置继承@Inherited 888
28.3本课小结 889
28.3.1总结本课的知识点 889
28.3.2要掌握的关键点 889
28.3.3继续下一课:Java 5.0语言新特性 890
第29课 Java 5.0语言新特性 891
29.1自动装箱和拆箱(Boxing/Unboxing ) 891
29.2枚举类(Enumeration Classes) 892
29.3可变参数(Variable Arguments) 895
29.4可变返回类型(Covariant Return Types) 896
29.5增强循环Enhanced for Loop 897
29.6静态导入Static Import 898
29.7控制台输入(Console Input) 898
29.8 StringBuilder类(StringBuilder ) 900
29.9格式化I/O (Formatted I/O) 900
29.10本课小结 900
29.10.1总结本课的知识点 900
29.10.2要掌握的关键点 901
29.10.3课后上机作业 901
29.10.4继续下一课:Java Web核心技术 901