图书介绍
精通Java开发技术 由浅入深领会高效开发之道【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 陈强编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302311874
- 出版时间:2013
- 标注页数:604页
- 文件大小:416MB
- 文件页数:620页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
精通Java开发技术 由浅入深领会高效开发之道PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Java语言初体验1
1.1学习Java的优势2
1.1.1排名第一的编程语言2
1.1.2良好的就业前景2
1.2学习Java需要了解的那些事3
1.2.1 Java语言的发展历史3
1.2.2 Java的特点4
1.2.3 Java的平台无关性5
1.3 Java的运行机制6
1.3.1高级语言的运行机制6
1.3.2 Java的运行机制7
1.3.3 Java虚拟机——JVM8
1.4开发前的准备9
1.4.1安装JDK9
1.4.2设置环境变量13
1.4.3 JRE和JDK是有区别的14
1.4.4困扰初学者的环境变量问题14
1.5体验第一个Java程序15
1.5.1编辑Java源代码15
1.5.2编译Java程序16
1.5.3运行Java程序17
1.5.4分析Java程序的运行过程17
1.6初学者应该明白的几个问题18
1.6.1独特的垃圾回收机制18
1.6.2对学习者的几条建议19
第2章 探索Java敏捷学习之道21
2.1究竟要学习什么22
2.2学习编程的正确观念22
2.3将面向对象贯穿全书23
2.3.1什么是面向对象23
2.3.2面向对象的几个基本特性24
2.3.3 Java的面向对象24
2.3.4 Java的面向对象特性25
2.4初学者应该注意的问题26
2.4.1需要遵循源文件命名规则26
2.4.2不要忽视系统文件的扩展名26
2.4.3时刻注意大小写的问题27
2.4.4必须有main()方法27
2.4.5注意空格带来的麻烦27
2.5使用Java IDE工具能事半功倍28
2.5.1到底用不用IDE工具28
2.5.2最受欢迎的工具——Eclipse28
2.5.3 Sun公司推出的工具——NetBeans34
2.5.4一度很“火”的商业工具——JBuilder35
第3章 速成Java的基本语法37
3.1快速学习语法的秘诀38
3.2变量和常量38
3.2.1不可变的量叫常量39
3.2.2定义常量时的注意事项40
3.2.3可以变化的量叫变量40
3.3数据类型一通则百通42
3.3.1简单数据类型值的范围42
3.3.2字符型43
3.3.3整型44
3.3.4浮点型44
3.3.5布尔型45
3.4 if语句46
3.4.1简单if语句46
3.4.2通过if语句的延伸用法体验if-else语句的意义47
3.4.3 if语句可以有多个条件判断48
3.5 switch语句49
3.5.1 switch语句的基本用法49
3.5.2使用switch语句时应该注意的事项49
3.5.3如果没有break50
3.5.4如果case没有执行语句50
3.5.5如果default不在末尾51
3.6需要正确使用条件语句51
3.6.1参数case和参数switch的值要相等51
3.6.2在使用if语句时要按照逻辑顺序编码52
3.6.3理解switch语句的执行顺序52
3.7循环语句53
3.7.1 for循环53
3.7.2有多个表达式的for循环54
3.7.3 for语句可以嵌套55
3.7.4 while循环语句56
3.7.5可以联合使用if语句和while循环57
3.7.6 do-while循环语句57
3.7.7不要忘记分号58
3.8跳转语句58
3.8.1使用break语句58
3.8.2使用return语句返回一个值59
3.8.3使用continue语句实现跳转60
3.9一维数组60
3.9.1声明一维数组60
3.9.2创建一维数组61
3.9.3一维数组的初始化62
3.10二维数组63
3.10.1声明二维数组63
3.10.2创建二维数组63
3.10.3二维数组的初始化64
3.11 三维数组65
3.11.1声明三维数组65
3.11.2三维数组的初始化65
3.12复制数组中的数据66
3.13比较两个数组中的数据67
3.14搜索数组中的元素68
3.15排序数组68
3.16深入理解数组69
3.16.1可以任意伸缩数组长度的动态数组69
3.16.2 foreach循环70
3.17初学者应该明白的几个问题71
3.17.1 char中的单引号和int的提升处理71
3.17.2正无穷和负无穷的问题72
3.17.3 double型和float型之间的处理72
3.17.4何时使用switch语句,何时使用if…else if语句72
3.17.5使用for循环的技巧73
3.17.6可以在嵌套语句中使用break语句73
3.17.7设置有意义的标号75
3.17.8通过区别来决定怎样选择跳转语句76
3.17.9理解Java数组的内部机制77
3.17.10数组必须初始化78
3.17.11 Java中的两种引用类型79
3.17.12向数组中填充数据79
3.17.13在使用foreach操作数组时不建议对循环变量进行赋值81
3.17.14定义常量时的注意事项82
3.17.15 移位运算符的限制83
3.17.16扩展赋值运算符83
3.17.17 switch语句和if…else if语句的选择84
第4章 同时学习类和方法87
4.1类中的相关定义88
4.1.1理解类的意义88
4.1.2定义类88
4.1.3定义属性89
4.1.4定义方法89
4.1.5定义构造器90
4.1.6 Java的修饰符90
4.2 Java方法91
4.2.1传递方法参数91
4.2.2可以定义形参长度可变的参数92
4.2.3构造方法和递归方法93
4.3 this关键字95
4.4类和对象96
4.4.1创建和使用对象96
4.4.2使用静态变量和静态方法97
4.5抽象类和抽象方法97
4.5.1为什么推出抽象方法97
4.5.2了解抽象类和抽象方法98
4.5.3抽象类必须有一个抽象方法100
4.6使用软件包101
4.6.1定义软件包101
4.6.2在Eclipse中定义软件包102
4.6.3在程序里插入软件包104
4.7继承105
4.7.1父类和子类105
4.7.2对父类的操作106
4.7.3重写方法的两点注意事项108
4.8重写和重载108
4.8.1重写108
4.8.2重载109
4.8.3重写和重载的区别110
4.9隐藏和封装110
4.9.1 Java中的封装111
4.9.2使用访问控制符111
4.9.3解决重名问题的包113
4.9.4 import115
4.10初学者应该明白的几个问题116
4.10.1方法的所属性问题116
4.10.2探讨Java传递引用类型的实质117
4.10.3体会使用this关键字的好处118
4.10.4体会抽象类的作用119
4.10.5通过一个错误程序体会包的作用121
4.10.6掌握使用包的一些规则122
4.10.7探讨package和import的机制122
第5章 深入理解Java的面向对象125
5.1接口126
5.1.1需要理解Java接口编程的机理126
5.1.2定义接口127
5.1.3接口里的量和方法127
5.1.4实现接口128
5.1.5引用接口128
5.1.6接口的继承129
5.2特殊的方法——构造器129
5.2.1初始化构造器130
5.2.2构造器重载130
5.2.3 this在构造器中的妙用131
5.2.4调用父类构造器131
5.2.5子类构造器调用父类构造器的几种情况131
5.3多态132
5.3.1何谓多态132
5.3.2演示Java中的多态134
5.3.3 Java多态的核心135
5.4引用类型135
5.4.1四种引用类型135
5.4.2 instanceof运算符138
5.4.3强制类型转换不是万能的139
5.5选择继承还是组合141
5.6包装类144
5.7用final修饰基本类型和引用类型变量的区别145
5.7.1用final修饰变量145
5.7.2使用final修饰方法147
5.8内部类148
5.8.1为什么需要内部类148
5.8.2非静态内部类149
5.8.3成员内部类151
5.8.4局部内部类152
5.8.5静态内部类153
5.8.6匿名内部类154
5.8.7对内部类的总结157
5.9枚举类161
5.9.1手动实现枚举类的缺点161
5.9.2枚举类型163
5.9.3接口和抽象类165
5.10初学者应该明白的几个问题166
5.10.1区分构造器和方法166
5.10.2使用instanceof运算符时要避免编译错误167
5.10.3分析Java中的自动装箱和自动拆箱168
5.10.4 Java类的几种权限169
5.10.5使用this限定类的属性169
5.10.6 在匿名类和内部类中使用this170
5.10.7枚举类常用的几个方法171
第6章 集合173
6.1 Java集合概述174
6.2学习Collection和Iterator的诀窍175
6.2.1基础知识介绍175
6.2.2改变Collection集合元素的问题177
6.3挖掘Set接口的妙用178
6.3.1基础知识介绍178
6.3.2使用HashSet181
6.3.3 HashSet深入183
6.4深入List接口183
6.4.1基本知识介绍183
6.4.2使用List接口和ListIterator接口185
6.4.3使用ArrayList和Vector类186
6.4.4 ArrayList和Vector的区别187
6.5 Map接口的深入浅出187
6.5.1使用HashMap和Hashtable实现类188
6.5.2使用SortedMap接口和TreeMap类实现排序处理190
6.5.3使用WeakHashMap类192
6.5.4使用IdentityHashMap类193
6.5.5使用EnumMap类194
6.5.6分析几种Map类的性能195
6.6模拟队列数据结构的Queue接口195
6.6.1常用的方法196
6.6.2 List接口的实现类——LinkedList196
6.6.3处理优先级的PriorityQueue类197
6.7集合工具类Collections198
6.7.1排序操作198
6.7.2使用swap()方法交换集合中两个位置的内容199
6.7.3查找和替换199
6.8初学者应该明白的几个问题201
6.8.1总结Java中处理排序的问题201
6.8.2使用EnumSet类的注意事项206
6.8.3体会List中的额外方法206
6.8.4 HashMap和Hashtable之间的选择207
6.8.5 TreeMap判断两个元素是否相等的标准207
6.8.6体验数组的优良性能207
6.8.7 LinkedList、ArrayList、Vector性能问题的研究208
第7章 使用类库提高开发效率211
7.1 StringBuffer类212
7.1.1 StringBuffer类基础212
7.1.2使用StringBuffer类212
7.1.3 StringBuffer和String选择的异同213
7.2运行时操作类 Runtime213
7.3实现Java程序国际化215
7.3.1 Java实现国际化的方案215
7.3.2表示国家语言的类——Locale215
7.3.3 ResourceBundle类216
7.3.4处理动态文本217
7.3.5使用类代替资源文件219
7.4系统类System220
7.4.1 System类基础220
7.4.2垃圾对象的回收221
7.5日期操作类——Date222
7.5.1使用Date类222
7.5.2使用Calendar类获取当前时间222
7.5.3使用DateFormat类设置日期的格式224
7.5.4使用SimpleDateFormat类225
7.6使用Math类实现数学运算226
7.7使用Random类生成随机数226
7.8数字格式化类——NumberFormat227
7.9使用Arrays类操作数组228
7.10 Comparable接口229
7.10.1 Comparable接口基础229
7.10.2使用Comparable接口229
7.10.3使用Comparator接口230
7.11使用Observable类和Observer接口实现观察者模式232
7.12正则表达式233
7.12.1正则表达式是一种可以用于模式匹配和替换的规范233
7.12.2 String类和正则表达式235
7.13线程类Timer和TimerTask236
7.14初学者应该明白的几个问题237
7.14.1了解Java的内存管理机制237
7.14.2传递可变参数239
7.14.3通过System类获取本机的全部环境属性240
7.14.4把一个日期变为指定格式241
7.14.5在Math类中也有一个random()方法241
7.14.6如果没有实现Comparable接口会出现异常242
7.14.7体验正则表达式的好处243
第8章 泛型245
8.1泛型基础246
8.1.1使用泛型的好处246
8.1.2检查类型246
8.1.3使用泛型248
8.2深入泛型249
8.2.1定义泛型接口和类249
8.2.2派生子类250
8.2.3并不存在泛型类251
8.3类型通配符252
8.3.1设置类型通配符的上限253
8.3.2设置类型形参的上限255
8.4泛型方法256
8.4.1定义泛型方法256
8.4.2设置通配符下限259
8.5泛型接口260
8.6泛型继承262
8.6.1以泛型类为父类262
8.6.2以非泛型类为父类263
8.7运行时类型识别264
8.8强制类型转换265
8.9擦除266
8.9.1擦除基础266
8.9.2需要避免擦除带来的错误269
8.10初学者应该明白的几个问题270
8.10.1使用泛型应该遵循的原则和注意的问题270
8.10.2分析Java语言中泛型的本质271
8.10.3体验泛型方法和类型通配符的区别271
8.10.4重温泛型类的继承规则272
8.10.5挖掘类型擦除和泛型特性的联系273
第9章 异常处理275
9.1什么是异常276
9.1.1认识异常276
9.1.2 Java的异常处理机制276
9.1.3 Java为我们提供了异常处理类279
9.2处理异常的方式280
9.2.1使用try-catch来处理异常280
9.2.2处理多个异常281
9.2.3使用finally关键字处理异常281
9.2.4访问异常信息283
9.3抛出异常284
9.3.1使用throws抛出异常284
9.3.2使用throw抛出异常286
9.3.3区别throws关键字和throw关键字287
9.4自定义异常287
9.4.1 Throwable类介绍287
9.4.2子类Error和Exception290
9.5 Checked异常和Runtime异常的区别290
9.6初学者应该明白的几个问题292
9.6.1杜绝异常处理的陋习293
9.6.2学习异常没有诀窍296
9.6.3异常处理语句的规则296
9.6.4建议使用嵌套来处理异常298
9.6.5分析异常类的继承关系298
第10章 使用I/O系统来处理文件301
10.1 Java I/O简介302
10.2与文件有关的类——File302
10.3随机读取类RandomAccessFile304
10.4字节流和字符流306
10.4.1字节流类和字符流类306
10.4.2使用字节流306
10.4.3使用字符流309
10.5字节转换流311
10.6内存操作流312
10.7使用管道流实现线程间的通信313
10.8使用打印流输出信息315
10.9 BufferedReader类316
10.9.1 BufferedReader类基础316
10.9.2使用BufferedReader类317
10.10 Scanner类318
10.11数据操作流320
10.11.1 DataOutputStream类321
10.11.2 DataInputStream类322
10.12压缩流323
10.12.1 ZIP压缩输入/输出流简介323
10.12.2 ZipOutputStream类324
10.12.3 ZipFile类327
10.12.4 ZipInputStream类327
10.13回退流328
10.14字符编码329
10.14.1得到本机的编码显示329
10.14.2产生乱码330
10.15对象序列化330
10.15.1 Serializable接口331
10.15.2对象输出流ObjectOutputStream331
10.15.3对象输入流ObjectInputStream332
10.15.4 Externalizable接口333
10.15.5关键字transient333
10.15.6序列化一组对象335
10.16新增的I/O336
10.16.1新I/O概述336
10.16.2使用Buffer336
10.17初学者应该明白的几个问题338
10.17.1使用File.separator表示分隔符338
10.17.2综合创建和删除文件的操作338
10.17.3体会File类的复杂用法339
10.17.4将写入的数据换行340
10.17.5弄清字节流和字符流的区别340
10.17.6显示菜单342
10.17.7对象序列化和对象反序列化操作时的版本兼容性问题344
10.17.8不能让所有的类都实现Serializable接口344
10.17.9如何选择Externalizable接口和Serializable接口345
第11章 快速体验AWT347
11.1 GUI和AWT348
11.2容器350
11.2.1容器基础350
11.2.2容器中的常用组件350
11.3布局管理器353
11.3.1布局利器FlowLayout353
11.3.2布局利器BorderLayout355
11.3.3矩形网格布局GridLayout356
11.3.4版面管理器GridBagLayout358
11.3.5可以设置一个组件的布局——CardLayout360
11.3.6可以摆放GUI组件的布局管理器——BoxLayout362
11.4 AWT中的常用组件364
11.4.1 AWT中的组件364
11.4.2实现对话框效果367
11.5事件处理369
11.5.1 Java的事件模型369
11.5.2事件和事件监听器371
11.5.3事件适配器376
11.6 AWT的菜单378
11.6.1菜单条、菜单和菜单项378
11.6.2右键菜单381
11.7绘图383
11.7.1 Component类中的绘图方法383
11.7.2 Graphics类383
11.8操作位图385
11.8.1 Image类和BufferedImage类385
11.8.2输入/输出位图388
11.9初学者应该明白的几个问题389
11.9.1创建Glue、Strut和RigidArea的几个静态方法389
11.9.2体会绝对定位的好处390
11.9.3 AWT中的菜单组件不能创建图标菜单391
第12章 由浅入深体验Swing393
12.1 Swing介绍394
12.2 Swing的基本组件394
12.2.1 Swing组件的层次结构395
12.2.2 Swing组件的特性396
12.2.3 Swing胜过AWT的优势397
12.2.4使用Swing实现AWT组件397
12.2.5 JFrame、JScrollPane和边框398
12.2.6 JToolBar401
12.2.7 JColorChooser和JFileChooser403
12.2.8 JOptionPane405
12.2.9 JSplitPane408
12.2.10 JTabbedPane409
12.3拖放处理410
12.4 JProgressBar、ProgressMonitor和BoundedRangeModel412
12.4.1创建一个进度条413
12.4.2使用ProgressMonitor创建进度条对话框413
12.5 JSlider和BoundedRangeModel415
12.6 JList和JComboBox416
12.6.1使用JList和JComboBox的构造器创建列表框416
12.6.2使用ListCellRenderer418
12.7 JTree和TreeModel418
12.7.1创建树419
12.7.2拖动、编辑节点420
12.8初学者应该明白的几个问题421
12.8.1贯穿Java开发的MVC模式421
12.8.2实现有意义的进度条效果422
第13章 数据库编程425
13.1与数据库相关的概念426
13.2.SQL语言428
13.2.1数据定义428
13.2.2数据操纵430
13.2.3视图432
13.2.4 SQL高级操作433
13.3初识JDBC434
13.3.1 JDBC驱动类型434
13.3.2 JDBC的常用接口和类435
13.3.3 JDBC编程步骤437
13.4常用的几种数据库441
13.4.1 Access数据库441
13.4.2 SQL Server数据库441
13.4.3 MySQL数据库445
13.5执行SQL语句的方式445
13.5.1使用executeUpdate445
13.5.2使用execute方法447
13.6事务处理449
13.6.1 JDBC中的事务控制449
13.6.2检查数据库是否支持事务处理450
13.6.3 JDBC事务控制的流程450
13.7存储过程454
13.7.1创建存储过程454
13.7.2调用创建的存储过程456
13.8初学者应该明白的几个问题458
13.8.1通过课外学习掌握数据库技术458
13.8.2数据库产品概览,没有最完美的产品458
13.8.3乱花渐欲迷人眼,始终相信合适的即为最好的460
第14章 网络与通信编程463
14.1 Java中的网络包464
14.1.1 InetAddress类详解464
14.1.2 URLDecoder类和URLEncoder类464
14.1.3 URL和URLConnection465
14.1.4实践演练467
14.2 TCP编程468
14.2.1使用ServletSocket469
14.2.2使用Socket469
14.2.3 TCP中的多线程471
14.2.4实现非阻塞Socket通信475
14.3 UDP编程479
14.3.1使用DatagramSocket479
14.3.2使用MulticastSocket484
14.3.3 MulticastSocket类的意义487
14.4代理服务器487
14.4.1什么是代理服务器487
14.4.2使用Proxy创建连接489
14.4.3使用ProxySelector选择代理服务器490
14.4.4服务器代理实例492
14.5初学者应该明白的几个问题496
14.5.1 URL处理的两点注意事项496
14.5.2使用异常处理完善程序497
14.5.3分析ServerSocketChannel的麻烦之处497
14.5.4体会繁琐的DatagramPacket498
14.5.5需要知道代理背后的事情498
14.5.6代理服务无止境499
第15章 多线程501
15.1线程基础502
15.1.1线程概述502
15.1.2线程与函数的关系502
15.1.3 Java的线程模型503
15.2创建线程503
15.2.1使用Thread类创建线程503
15.2.2使用Runnable接口创建线程506
15.3线程的生命周期508
15.3.1创建并运行线程508
15.3.2 start和run的区别509
15.3.3挂起和唤醒线程509
15.3.4终止线程的三种方法511
15.3.5线程的优先级513
15.3.6线程阻塞513
15.3.7线程死亡514
15.4控制线程514
15.4.1使用join方法514
15.4.2慎重使用volatile关键字515
15.4.3后台、让步和睡眠517
15.4.4 sleep()方法和yield()方法的区别519
15.5线程传递数据519
15.5.1向线程传递数据的三种方法519
15.5.2两种从线程返回数据的方法522
15.6数据同步523
15.6.1使用synchronized关键字同步类方法526
15.6.2使用Synchronized块同步变量529
15.6.3同步锁531
15.7多线程编程的常见缺陷及其产生的原因533
15.7.1死锁问题534
15.7.2多线程编程的常见陷阱537
15.8初学者应该明白的几个问题541
15.8.1在方法run()中使用线程名时带来的问题542
15.8.2继承Thread类或实现Runnable接口的比较542
15.8.3使用sleep()方法的注意事项542
15.8.4如何确定死锁发生543
15.8.5关键字synchronized和volatile的区别543
15.8.6使用关键字synchronized的注意事项544
15.8.7分析Swing的多线程死锁问题546
第16章 案例:综合供求信息平台549
16.1需求分析550
16.1.1规划流程550
16.1.2开发背景550
16.1.3需求分析550
16.1.4项目规划551
16.2网站功能结构551
16.3搭建开发环境552
16.4搭建数据库552
16.4.1数据库需求分析553
16.4.2数据库概念设计553
16.4.3数据库逻辑结构设计554
16.5设计公共类555
16.5.1数据库连接及操作类555
16.5.2业务处理类557
16.5.3分页类559
16.5.4字符串处理类560
16.6具体编码560
16.6.1设计前台页面561
16.6.2前台信息显示设计562
16.6.3信息发布模块设计570
16.6.4登录模块572
16.6.5后台页面模块574
16.6.6后台信息管理模块574
16.7测试577
第17章 案例:小区物业管理系统581
17.1系统概述和总体设计582
17.1.1系统需求分析582
17.1.2系统演示流程583
17.2数据库设计583
17.2.1选择数据库583
17.2.2数据库结构的设计584
17.3系统框架设计586
17.3.1创建工程及设计主界面586
17.3.2数据库ADO访问类589
17.3.3系统登录模块设计589
17.4基本信息管理模块590
17.4.1小区信息管理590
17.4.2楼宇信息管理592
17.4.3业主信息管理594
17.4.4收费项目管理594
17.4.5查询单价清单595
17.5消费指数管理模块596
17.5.1业主消费录入597
17.5.2物业消费录入599
17.6各项费用管理模块600
17.6.1业主费用查询600
17.6.2物业费用查询602
17.7测试604
参考文献605
热门推荐
- 3468447.html
- 3753530.html
- 3680894.html
- 1473123.html
- 3380320.html
- 3395012.html
- 2651825.html
- 655584.html
- 1686604.html
- 1327395.html
- http://www.ickdjs.cc/book_3102691.html
- http://www.ickdjs.cc/book_1100259.html
- http://www.ickdjs.cc/book_3500434.html
- http://www.ickdjs.cc/book_754771.html
- http://www.ickdjs.cc/book_1699051.html
- http://www.ickdjs.cc/book_3442418.html
- http://www.ickdjs.cc/book_146996.html
- http://www.ickdjs.cc/book_1305924.html
- http://www.ickdjs.cc/book_3830576.html
- http://www.ickdjs.cc/book_3203270.html