当前位置:首页 > 工业技术
Java开发实战经典  第2版
Java开发实战经典  第2版

Java开发实战经典 第2版PDF电子书下载

工业技术

  • 电子书积分:22 积分如何计算积分?
  • 作 者:李兴华编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:7302483663
  • 页数:821 页
图书介绍:本书是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。本书真正地做到了让每一位读者都能清楚地知道每个知识点的来龙去脉,不仅可以很容易地看懂一个程序,而且能真正地灵活运用程序,编写代码。
《Java开发实战经典 第2版》目录

第1部分 Java基础程序设计 2

第1章 认识Java 2

1.1认识Java 2

1.1.1什么是Java 2

1.1.2 Java语言特点 3

1.1.3 Java程序的运行机制和Java虚拟机 5

1.2 Java开发环境搭建 6

1.2.1 JDK的安装与配置 7

1.2.2第1个Java程序的实现 9

1.2.3 classpath属性的作用 12

1.3本章要点 13

1.4习题 13

第2章 简单的Java程序 14

2.1一个简单的Java范例 14

2.2 Java程序的注释 15

2.3 Java中的标识符 15

2.4 Java中的关键字 16

2.5变量和常量 16

2.6本章要点 17

2.7习题 17

第3章 J ava基础程序设计 18

3.1数据类型划分 18

3.2基本数据类型 18

3.2.1整数类型 19

3.2.2数据的溢出 20

3.2.3字符类型 21

3.2.4浮点数类型与双精度浮点数类型 23

3.2.5布尔类型 23

3.2.6基本数据类型的默认值 24

3.3数据类型的转换 24

3.3.1数据类型的自动转换 24

3.3.2数据类型的强制转换 26

3.4运算符、表达式与语句 27

3.4.1运算符 27

3.4.2简洁表达式 42

3.5选择与循环语句 43

3.5.1程序的结构 43

3.5.2选择结构 45

3.5.3循环结构 50

3.5.4循环的中断 54

3.6本章要点 56

3.7习题 57

第4章 数组与方法 58

4.1数组的定义及使用 58

4.1.1一维数组 58

4.1.2数组中元素的表示方法 60

4.1.3数组的静态初始化 62

4.1.4数组应用范例 63

4.1.5二维数组 65

4.1.6多维数组 67

4.2方法的声明及使用 68

4.2.1方法的定义 68

4.2.2方法的重载 70

4.2.3使用return结束一个方法 72

4.2.4方法的递归调用 72

4.3数组的引用传递 73

4.3.1传递及返回数组 73

4.3.2范例1——数组排序 75

4.3.3范例2——数组复制 77

4.4 Java新特性对数组的支持 78

4.4.1 Java新特性——可变参数 78

4.4.2 Java新特性:foreach输出 79

4.5本章要点 79

4.6习题 80

第2部分 Java面向对象程序设计 82

第5章 面向对象编程(基础篇) 82

5.1面向对象的基本概念 82

5.2类与对象 84

5.2.1类与对象的关系 84

5.2.2类的定义 84

5.2.3对象的创建及使用 86

5.2.4创建多个对象 88

5.3封装性 91

5.4构造方法 95

5.5匿名对象 98

5.6实例讲解——类设计分析 99

5.7 String类 103

5.7.1实例化String类对象 103

5.7.2 String对象的内容比较 104

5.7.3 String类两种对象实例化方式的区别 106

5.7.4字符串的内容不可改变 109

5.7.5 String类中常用方法 110

5.8引用传递及基本应用 117

5.8.1引用传递分析 117

5.8.2接收本类的引用 120

5.8.3范例1——一对一关系 121

5.8.4范例2——进一步深入一对一关系 123

5.9 this关键字 124

5.9.1使用this调用本类中的属性 124

5.9.2使用this调用构造方法 127

5.9.3 this表示当前对象 129

5.10 static关键字 132

5.10.1使用static声明属性 132

5.10.2使用static声明方法 135

5.10.3 static的相关应用 136

5.10.4理解main()方法 138

5.11代码块 139

5.11.1普通代码块 139

5.11.2构造块 140

5.11.3静态代码块 140

5.12构造方法私有化 141

5.12.1问题的引出 142

5.12.2问题的解决 143

5.12.3程序的意义 144

5.13对象数组 144

5.14内部类 146

5.14.1内部类的基本定义 146

5.14.2使用static定义内部类 148

5.14.3在外部访问内部类 148

5.14.4在方法中定义内部类 149

5.15实例讲解 150

5.15.1系统登录 150

5.15.2单向链表实现(1) 152

5.15.3单向链表实现(2) 154

5.16本章要点 157

5.17习题 157

第6章 面向对象(高级篇) 159

6.1继承的基本概念 159

6.2继承的进一步研究 164

6.2.1子类对象的实例化过程 164

6.2.2方法的覆写 166

6.2.3 super关键字的作用 169

6.3范例——继承的应用 171

6.4 final关键字 173

6.5抽象类的基本概念 174

6.6接口的基本概念 179

6.7对象的多态性 183

6.8 instanceof关键字 187

6.9抽象类与接口的应用 190

6.9.1为抽象类与接口实例化 190

6.9.2抽象类的实际应用——模板设计 191

6.9.3接口的实际应用——制定标准 193

6.9.4设计模式——工厂设计 194

6.9.5设计模式——代理设计 197

6.9.6设计模式——适配器设计 198

6.9.7内部类的扩展 199

6.9.8 抽象类与接口之间的关系 201

6.9.9接口定义加强 201

6.10实例分析——宠物商店 203

6.11 Object类 207

6.11.1基本作用 208

6.11.2主要方法 208

6.11.3接收任意引用类型的对象 210

6.12包装类 211

6.12.1包装类介绍 211

6.12.2装箱与拆箱 212

6.12.3包装类应用 213

6.13匿名内部类 214

6.14本章要点 215

6.15 习题 217

第7章 异常的捕获及处理 218

7.1异常的基本概念 218

7.1.1为什么需要异常处理 218

7.1.2在程序中使用异常处理 219

7.1.3异常类的继承结构 223

7.1.4 Java的异常处理机制 223

7.2 throws与throw关键字 226

7.2.1 throws关键字 226

7.2.2 throw关键字 227

7.2.3范例——throw与throws的应用 228

7.3 Exception类与RuntimeException类 230

7.4自定义异常类 231

7.5断言(assert) 232

7.6本章要点 233

7.7习题 233

第8章 包及访问控制权限 234

8.1包的概念及使用 234

8.1.1包的基本概念 234

8.1.2 import语句 235

8.1.3系统常见包 239

8.1.4 Java新特性——静态导入 239

8.2 jar命令的使用 240

8.3访问控制权限 242

8.4 Java命名规范 244

8.5本章要点 244

8.6习题 244

第3部分 Java应用程序设计 246

第9章 多线程 246

9.1进程与线程 246

9.2 Java中线程的实现 247

9.2.1继承Thread类 247

9.2.2实现Runnable接口 250

9.2.3 Thread类和Runnable接口的区别 252

9.2.4利用Callable接口实现多线程 254

9.3线程的状态 256

9.4线程操作的相关方法 257

9.4.1取得和设置线程名称 258

9.4.2判断线程是否启动 260

9.4.3线程的强制运行 261

9.4.4线程的休眠 262

9.4.5中断线程 262

9.4.6后台线程 263

9.4.7线程的优先级 264

9.4.8线程的礼让 265

9.5线程操作范例 266

9.5.1实现1——继承Thread类完成 267

9.5.2实现2——实现Runnable接口 267

9.6同步与死锁 268

9.6.1问题的引出 268

9.6.2使用同步解决问题 270

9.6.3死锁 272

9.7线程操作案例——生产者及消费者 274

9.7.1程序的基本实现 274

9.7.2问题解决1——加入同步 277

9.7.3 Object类对线程的支持——等待与唤醒 278

9.7.4问题解决2——加入等待与唤醒 279

9.8线程的生命周期 281

9.9本章要点 282

9.10习题 283

第10章 泛型 284

10.1为什么要使用泛型 284

10.2泛型应用 287

10.2.1泛型的基本应用 287

10.2.2使用泛型修改代码 289

10.2.3泛型应用中的构造方法 290

10.2.4指定多个泛型类型 291

10.3泛型的安全警告 292

10.4通配符 293

10.4.1匹配任意类型的通配符 293

10.4.2受限泛型 295

10.5泛型与子类继承的限制 298

10.6泛型接口 299

10.6.1定义泛型接口 299

10.6.2泛型接口的两种实现方式 299

10.7泛型方法 301

10.7.1定义泛型方法 301

10.7.2通过泛型方法返回泛型类实例 302

10.7.3使用泛型统一传入的参数类型 302

10.8泛型数组 304

10.9泛型的嵌套设置 304

10.10范例——泛型应用 305

10.11本章要点 308

10.12习题 308

第11章 Java常用类库 309

11.1 StringBuffer类 309

11.1.1认识StringBuffer类 309

11.1.2 StringBuffer类的应用 314

11.2 Runtime类 315

11.2.1认识Runtime类 315

11.2.2得到JVM的内存空间信息 315

11.2.3 Runtime类与Process类 318

11.3国际化程序 320

11.3.1国际化程序的实现思路 320

11.3.2 Locale类 321

11.3.3 ResourceBundle类 321

11.3.4 Java国际化程序实现 322

11.3.5处理动态文本 323

11.3.6使用类代替资源文件 326

11.4 System类 328

11.4.1认识System类 328

11.4.2垃圾对象的回收 330

11.4.3对象的生命周期 331

11.5日期操作类 331

11.5.1 Date类 331

11.5.2 Calendar类 333

11.5.3 DateFonnat类 334

11.5.4 SimpleDateFormat类 335

11.5.5实例操作——取得完整日期 337

11.6 Math类 340

11.7 Random类 342

11.8 NumberFormat类 343

11.8.1 NumberFormat的基本使用 344

11.8.2 DecimalFormat类 344

11.9 BigInteger类 346

11.10 BigDecimal类 347

11.11对象克隆技术 348

11.12 Arrays类 349

11.13 Comparable接口 350

11.13.1比较器的基本应用 350

11.13.2分析比较器的排序原理 352

11.14另一种比较器Comparator 354

11.15观察者设计模式 357

11.15.1什么叫观察者 357

11.15.2观察者模式实现 357

11.16正则表达式 359

11.16.1认识正则表达式 359

11.16.2 Pattern类和Matcher类 360

11.16.3 String类对正则表达式的支持 363

11.17定时调度 365

11.17.1 Timer类 365

11.17.2 TimerTask类 366

11.17.3范例——定时操作 366

11.18本章要点 367

11.19习题 367

第12章 Java IO 369

12.1操作文件的类——File 369

12.1.1 File类的基本介绍 369

12.1.2使用File类操作文件 370

12.1.3范例——列出指定目录的全部内容 375

12.2 RandomAccessFile类 376

12.2.1使用RandomAccessFile类写入数据 377

12.2.2使用RandomAccessFile类读取数据 378

12.3字节流与字符流基本操作 379

12.3.1字节流 380

12.3.2字符流 388

12.3.3字节流与字符流的区别 392

12.3.4范例——文件复制 394

12.4转换流——OutputStreamWriter类与InputStreamReader类 397

12.5内存操作流 399

12.6管道流 400

12.7打印流 402

12.7.1打印流的基本操作 402

12.7.2使用打印流进行格式化 404

12.8 System类对IO的支持 405

12.8.1 System.out 405

12.8.2 System.err 406

12.8.3 System.in 407

12.8.4输入/输出重定向 409

12.9 BufferedReader类 412

12.9.1键盘输入数据的标准格式 412

12.9.2相关操作实例 413

12.10 Scanner类 419

12.10.1 Scanner类简介 419

12.10.2使用Scanner类输入数据 420

12.11数据操作流 423

12.11.1 DataOutputStream类 424

12.11.2 DataInputStream类 425

12.12合并流 426

12.13压缩流 427

12.13.1 ZIP压缩输入/输出流简介 428

12.13.2 ZipOutputStream类 429

12.13.3 ZipFile类 431

12.13.4 ZipInputStream类 433

12.14回退流 435

12.15 字符编码 437

12.15.1 Java常见编码简介 437

12.15.2得到本机的编码显示 437

12.15.3乱码产生 438

12.16对象序列化 439

12.16.1基本概念与Serializable接口 439

12.16.2对象输出流ObjectOutputStream 440

12.16.3对象输入流ObjectInputStream 441

12.16.4 Externalizable接口 442

12.16.5 transient关键字 444

12.16.6序列化一组对象 446

12.17实例操作——单人信息管理程序 447

12.18本章要点 450

12.19习题 452

第13章 Java类集框架 454

13.1认识类集 454

13.1.1基本概念 454

13.1.2类集框架主要接口 455

13.2 Collection接口 456

13.2.1 Collection接口的定义 456

13.2.2 Collection子接口的定义 457

13.3 List接口 457

13.3.1 List接口的定义 457

13.3.2 List接口的常用子类 458

13.4 Set接口 466

13.4.1 Set接口的定义 466

13.4.2 Set接口的常用子类 467

13.5 SortedSet接口 473

13.6集合的输出 474

13.6.1迭代输出Iterator 474

13.6.2双向迭代输出ListIterator 477

13.6.3 Java新支持foreach 479

13.6.4废弃的接口Enumeration 480

13.7 Map接口 481

13.7.1 Map接口简介 481

13.7.2 Map.Entry接口简介 481

13.7.3 Map接口的常用子类 482

13.7.4 Map接口的使用注意事项 487

13.7.5 key可以重复的Map集合:Idention HashMap 492

13.8 SortedMap接口 494

13.9集合工具类Collections 495

13.9.1 Collections简介 495

13.9.2 Collections操作实例 496

13.10其他集合类 500

13.10.1 Stack类 500

13.10.2属性类Properties 502

13.11范例 506

13.11.1范例1——一对多关系 506

13.11.2范例2——多对多关系 508

13.12本章要点 511

13.13习题 512

第14章 枚举 513

14.1枚举类型简介 513

14.2使用简单程序完成枚举的功能 513

14.3定义一个枚举类型 515

14.4 Enum 517

14.4.1取得枚举的信息 518

14.4.2为每一个枚举对象属性赋值 518

14.4.3使用比较器 520

14.5类集对枚举的支持——EnumMap类与EnumSet类 521

14.5.1 EnumMap类 521

14.5.2 EnumSet类 522

14.6让枚举类实现一个接口 526

14.7在枚举类中定义抽象方法 527

14.8本章要点 528

14.9习题 528

第15章 Java反射机制 529

15.1认识Class类 529

15.2 Class类的使用 531

15.2.1通过无参构造实例化对象 532

15.2.2调用有参构造实例化对象 534

15.3反射的应用——取得类的结构 536

15.3.1取得所实现的全部接口 537

15.3.2取得父类 538

15.3.3取得全部构造方法 538

15.3.4取得全部方法 540

15.3.5取得全部属性 542

15.4 Java反射机制的深入应用 544

15.4.1通过反射调用类中的方法 544

15.4.2调用setter及getter方法 546

15.4.3通过反射操作属性 547

15.4.4通过反射操作数组 548

15.5 ClassLoader 550

15.6动态代理 553

15.7类的生命周期 555

15.8工厂设计模式 555

15.8.1将反射应用在工厂模式上 555

15.8.2结合属性文件的工厂模式 556

15.9本章要点 558

15.10习题 558

第16章 Annotation与Lamda 559

16.1 Annotation简介 559

16.2系统内建的Annotation 559

16.2.1@Override 560

16.2.2@Deprecated 561

16.2.3@SuppressWarnings 562

16.3自定义Annotation 564

16.3.1 Annotation的定义格式 565

16.3.2 Retention和RetentionPolicy 568

16.4通过反射取得Annotation 569

16.4.1范例1——取得全部的Annotation 569

16.4.2范例2——取得指定的Annotation中的内容 570

16.5@Target注释 571

16.6@Documented注释 573

16.7@Inherited注释 575

16.8 Lamda表达式 577

16.9方法引用 581

16.10内建函数式接口 584

16.11本章要点 586

16.12习题 587

第17章 Java数据库编程 588

17.1 JDBC概述 588

17.1.1 JDBC简介 588

17.1.2 JDBC驱动分类 588

17.1.3 JDBC的主要操作类及接口 589

17.2 MySQL数据库 590

17.2.1 MySQL简介 590

17.2.2 MySQL安装及配置 591

17.2.3 MySQL常用命令 592

17.3 SQL语法基础 594

17.3.1 MySQL中的数据类型 595

17.3.2增加数据 596

17.3.3删除数据 597

17.3.4更新数据 597

17.3.5查询数据 598

17.4 JDBC操作步骤 599

17.5连接数据库 600

17.5.1配置MySQL数据库的驱动程序 600

17.5.2加载驱动程序 600

17.5.3连接及关闭数据库 601

17.6执行数据库的更新操作 604

17.6.1实例操作1——执行数据库插入操作 604

17.6.2实例操作2——执行数据库修改 606

17.6.3实例操作3——执行数据库删除操作 607

17.7 ResultSet接口 607

17.8 PreparedStatement接口 611

17.8.1 PreparedStatement简介 611

17.8.2使用PreparedStatement执行数据库操作 612

17.9处理大数据对象 615

17.9.1处理CLOB数据 616

17.9.2处理BLOB数据 620

17.10 CallableStatement接口 624

17.11 JDBC 2.0操作 626

17.11.1可滚动的结果集 627

17.11.2使用结果集插入数据 629

17.11.3使用结果集更新数据 630

17.11.4使用结果集删除数据 632

17.11.5批处理 633

17.12事务处理 634

17.12.1 MySQL对事务的支持 635

17.12.2执行JDBC的事务处理 635

17.13使用元数据分析数据库 639

17.13.1 DatabaseMetaData 639

17.13.2 ResultSetMetaData 641

17.14使用JDBC连接Oracle数据库 642

17.15本章要点 644

17.16习题 644

第18章 图形界面 645

18.1 AWT简介 645

18.1.1组件 646

18.1.2容器 646

18.1.3布局管理器 646

18.2 Swing简介 647

18.3基本容器JFrame 647

18.4标签组件JLabel 650

18.4.1认识JLabel 650

18.4.2更改JLabel的文字样式 651

18.4.3在JLabel中设置图片 653

18.5按钮组件JButton 655

18.6布局管理器 657

18.6.1 FlowLayout 657

18.6.2 BorderLayout 658

18.6.3 GridLayout 659

18.6.4 CardLayout 660

18.6.5绝对定位 661

18.7其他容器 662

18.7.1 JPanel 662

18.7.2 JSplitPane 663

18.7.3 JTabbedPane 665

18.7.4 JScrollPane 666

18.7.5 JDesktopPane与JInternalFrame 668

18.8不弹起的按钮组件JToggleButton 670

18.9文本组件JTextComponent 671

18.9.1单行文本输入组件JTextField 671

18.9.2密文输入组件JPasswordField 673

18.9.3多行文本输入组件JTextArea 674

18.10事件处理 676

18.10.1事件和监听器 676

18.10.2窗体事件 677

18.10.3监听适配器 678

18.10.4动作事件及监听处理 679

18.10.5键盘事件及监听处理 684

18.10.6鼠标事件及监听处理 686

18.10.7鼠标拖拽事件及监听处理 690

18.11单选钮: JRadioButton 691

18.11.1认识JRadioButton 691

18.11.2 JRadioButton事件处理 693

18.12复选框JCheckBox 695

18.12.1认识JCheckBox 695

18.12.2 JCheckBox事件处理 696

18.13列表框JList 698

18.13.1认识JList 698

18.13.2使用ListModel构造JList 700

18.13.3 JList事件处理 701

18.14下拉列表框JComboBox 703

18.14.1认识JComboBox 703

18.14.2使用ComboBoxModel构造JComboBox 705

18.14.3 JComboBox事件处理 707

18.15 菜单组件 709

18.15.1 JMenu与JMenuBar 709

18.15.2 JMenuItem 711

18.15.3事件处理 713

18.16文件选择框JFileChooser 715

18.17表格 718

18.17.1 JTable 718

18.17.2使用TableModel构建表格 719

18.18本章要点 724

18.19习题 725

第19章 Java网络编程 726

19.1 IP与InetAddress类 726

19.1.1 IP地址简介 726

19.1.2 InetAddress类 727

19.2 URL与URLConnection类 728

19.2.1 URL 728

19.2.2 URLConnection类 729

19.3 URLEncoder类与URLDecoder类 730

19.4 TCP程序设计 731

19.4.1 ServerSocket类与Socket类 731

19.4.2第1个TCP程序 732

19.4.3案例——Echo程序 733

19.4.4在服务器上应用多线程 735

19.5 UDP程序设计 737

19.5.1 UDP简介 737

19.5.2 UDP程序实现 737

19.6本章要点 739

19.7习题 739

第20章 Java新IO 740

20.1 Java新IO简介 740

20.2缓冲区与Buffer 741

20.2.1 Buffer的基本操作 741

20.2.2深入缓冲区操作 743

20.2.3创建子缓冲区 744

20.2.4创建只读缓冲区 745

20.2.5创建直接缓冲区 746

20.3通道 746

20.3.1 FileChannel类 747

20.3.2内存映射 748

20.4文件锁FileLock类 750

20.5字符集Charset类 751

20.6 Selector类 753

20.7本章要点 757

第21章 Eclipse开发工具 758

21.1 Eclipse简介 758

21.2使用Eclipse 759

21.3开发Java程序 760

21.4 JUnit 测试工具 764

21.5 CVS客户端的配置 766

21.5.1 CVS服务器端配置 766

21.5.2在Eclipse中连接CVS 768

21.6本章要点 769

第22章 DAO设计模式 770

22.1程序分层 770

22.2实例分析 771

22.3准备阶段 772

22.3.1 VO类——负责数据的传输与包装 772

22.3.2 DatabaseConnection类——负责数据库连接 774

22.4开发数据层 775

22.4.1定义IEmpDAO接口——数据层开发标准 776

22.4.2定义IEmpDAO接口的实现类 780

22.4.3定义DAO工厂类 783

22.5开发业务层 784

22.5.1开发业务层标准 784

22.5.2定义业务层标准的实现类 786

22.5.3定义Service工厂类 788

22.6.定义测试类 788

22.7本章要点 791

第23章 Java内存模型 792

23.1 JVM内存体系结构 792

23.2 Java对象访问方式 795

23.3 JVM垃圾收集 797

23.3.1年轻代 802

23.3.2老年代 804

23.3.3永久代 806

23.3.4元空间 807

23.3.5垃圾收集策略 807

23.4 G1收集器 812

23.4.1年轻代GC 813

23.4.2老年代GC 813

23.4.3 G 1收集器相关配置参数 815

23.5引用类型 816

23.5.1强引用 817

23.5.2软引用 817

23.5.3弱引用 818

23.5.4引用队列 819

23.5.5虚引用 820

23.6本章要点 821

相关图书
作者其它书籍
返回顶部