《Java高手真经 编程基础卷 Java核心编程技术(Java基础+核心库+图形+网络+高级特性)》PDF下载

  • 购买积分:24 如何计算积分?
  • 作  者:刘中兵,Java研究室编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121080548
  • 页数:901 页
图书介绍:本书详细讲解Java语言基础开发中的各种技术,主要内容包括:Java开发入门:JDK、JVM、Eclipse、Linux;Java语法基础:类、抽象类、接口、内部类、匿名类、异常、编码规范;Java核心编程:流、多线程、实体类、集合类、正则表达式、XML、属性文件;Java图形编程:AWT(Java2D、JavaSound、Media)、Swing、SWT、JFace;Java网络编程:Applet、Socket/TCP/UDP、NIO、RMI、CORBA;Java高级特性:反射、泛型、注释符、自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入随书附赠光盘内容为本书各种原型包、系统源程序。本书内容循序渐进,通俗易懂,覆盖了Java开发的最流行技术。无论对于Java软件设计还是软件开发,本书都是精通开发Java应用的必备的实用手册。

第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