图书介绍
JAVA开发从入门到精通2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 扶松柏,陈小玉编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115420275
- 出版时间:2016
- 标注页数:548页
- 文件大小:131MB
- 文件页数:573页
- 主题词:
PDF下载
下载说明
JAVA开发从入门到精通PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Java之印象1
1.1 初步认识Java2
1.1.1 都在谈论Java2
1.1.2 Java的特点2
1.1.3 Java中的一些名词解释3
1.2 面向对象4
1.2.1 什么是面向对象4
1.2.2 Java的面向对象编程4
1.2.3 JML统一建模语言5
1.2.4 对象建模技术7
1.2.5 面向对象分析8
1.2.6 面向对象设计10
1.2.7 Java的面向对象特性12
1.3 技术解惑13
1.3.1 卓越者的总结13
1.3.2 对初学者的3条建议14
1.3.3 理解Java的垃圾回收机制14
第2章 第一段Java程序15
2.1 搭建Java开发平台16
2.1.1 安装JDK16
2.1.2 配置开发环境18
2.2 编写第一段Java程序18
2.2.1 编写一段Java代码18
2.2.2 编译Java程序19
2.2.3 运行Java代码19
2.3 使用IDE工具20
2.3.1 最受欢迎的工具——Eclipse20
2.3.2 官方推出的工具——Netbeans23
2.3.3 商业工具——JBuilder29
2.4 Java的运行机制29
2.4.1 编译型/解释型运行机制29
2.4.2 程序运行机制29
2.5 技术解惑30
2.5.1 遵循源文件命名规则30
2.5.2 忽视系统文件的扩展名30
2.5.3 环境变量的问题31
2.5.4 大小写的问题31
2.5.5 main()方法的问题31
2.5.6 注意空格问题32
2.5.7 到底用不用IDE工具32
2.5.8 区分JRE和JDK32
第3章 Java语法33
3.1 量34
3.1.1 常量34
3.1.2 变量35
3.2 数据类型37
3.2.1 简单数据类型值的范围37
3.2.2 字符型38
3.2.3 整型39
3.2.4 浮点型39
3.2.5 布尔型40
3.3 运算符41
3.3.1 算术运算符41
3.3.2 关系运算符和逻辑运算符44
3.3.3 位运算符45
3.3.4 条件运算符46
3.3.5 赋值运算符47
3.3.6 运算符的优先级48
3.4 标识符和关键字49
3.4.1 标识符49
3.4.2 关键字50
3.5 字符串50
3.5.1 字符串的初始化50
3.5.2 String类51
3.5.3 StringBuffer类53
3.6 类型转换54
3.6.1 自动类型转换54
3.6.2 强制转换55
3.7 技术解惑55
3.7.1 定义常量时的注意事项55
3.7.2 char类型中单引号的意义56
3.7.3 正无穷和负无穷的问题56
3.7.4 移位运算符的限制56
第4章 条件语句58
4.1 if语句详解59
4.1.1 if语句59
4.1.2 if语句的延伸60
4.1.3 多个条件判断的if语句61
4.2 switch语句详解62
4.2.1 switch语句的形式62
4.2.2 无break的情况63
4.2.3 case没有执行语句64
4.2.4 default可以不在末尾64
4.3 条件语句演练65
4.3.1 正确使用switch语句65
4.3.2 正确使用if语句66
4.3.3 switch语句的执行顺序67
4.4 技术解惑68
4.4.1 if-else语句的意义68
4.4.2 使用switch语句时的几个注意事项68
4.4.3 何时用switch语句比较好69
4.4.4 switch语句和if..else if语句的选择69
第5章 循环语句70
5.1 Java循环语句71
5.1.1 for循环71
5.1.2 while循环语句73
5.1.3 do-while循环语句75
5.2 跳转语句76
5.2.1 break语句的应用76
5.2.2 return语句的应用78
5.2.3 continue跳转语句79
5.3 技术解惑79
5.3.1 使用for循环的技巧79
5.3.2 跳转语句的选择技巧80
第6章 特殊数据——数组82
6.1 简单的一维数组83
6.1.1 声明一维数组83
6.1.2 创建一维数组83
6.1.3 初始化一维数组84
6.2 二维数组85
6.2.1 声明二维数组85
6.2.2 创建二维数组85
6.2.3 初始化二维数组86
6.3 三维数组88
6.3.1 声明三维数组88
6.3.2 创建三维数组的方法88
6.3.3 初始化三维数组88
6.4 操作数组89
6.4.1 复制数组89
6.4.2 比较数组90
6.4.3 搜索数组中的元素90
6.4.4 排序数组91
6.4.5 填充数组91
6.5 深入理解数组93
6.5.1 动态数组93
6.5.2 fcreach循环94
6.5.3 数组的内理94
6.6 技术解惑96
6.6.1 数组内是同一类型的数据96
6.6.2 动态初始化数组的规则96
6.6.3 引用类型96
6.6.4 数组必须初始化97
第7章 Java的面向对象(上)98
7.1 类99
7.1.1 定义类99
7.1.2 定义属性99
7.1.3 定义方法100
7.1.4 定义构造器100
7.2 修饰符101
7.2.1 public修饰符101
7.2.2 private私有修饰符101
7.2.3 protected保护修饰符102
7.2.4 其他修饰符103
7.3 方法详解103
7.3.1 方法的所属性104
7.3.2 传递方法参数104
7.3.3 长度可变的方法105
7.3.4 构造方法106
7.3.5 递归方法106
7.4 使用this107
7.5 使用类和对象108
7.5.1 创建和使用对象108
7.5.2 使用静态变量和静态方法109
7.6 抽象类和抽象方法109
7.6.1 抽象类和抽象方法基础110
7.6.2 抽象类必须有一个抽象方法111
7.6.3 抽象类的作用112
7.7 软件包113
7.7.1 定义软件包113
7.7.2 在Eclipse定义软件包113
7.7.3 在程序里插入软件包114
7.8 技术解惑115
7.8.1 Java传递引用类型的实质115
7.8.2 掌握this的好处116
7.8.3 推出抽象方法的原因117
7.8.4 什么时候用抽象类117
7.8.5 static修饰的作用118
第8章 Java的面向对象(中)119
8.1 类的继承120
8.1.1 父类和子类120
8.1.2 调用父类的构造方法121
8.1.3 访问父类的属性和方法121
8.1.4 多重次继承122
8.1.5 重写父类的方法124
8.2 重写和重载125
8.2.1 重写125
8.2.2 重载127
8.2.3 联合使用重写与重载128
8.3 隐藏和封装128
8.3.1 Java中的封装128
8.3.2 使用访问控制符129
8.3.3 Java中的包130
8.3.4 import132
8.4 接口132
8.4.1 定义接口133
8.4.2 接口里的量和方法133
8.4.3 实现接口134
8.4.4 引用接口135
8.4.5 接口的继承136
8.4.6 接口和抽象类137
8.5 技术解惑138
8.5.1 重写方法的两点注意事项138
8.5.2 重写和重载的区别138
8.5.3 举例理解类的意义138
8.5.4 Java包的一些规则138
8.5.5 探讨Package和import的机制139
8.5.6 Java接口编程的机理140
第9章 Java的面向对象(下)141
9.1 构造器详解142
9.1.1 初始化构造器142
9.1.2 构造器重载143
9.1.3 调用父类构造器143
9.2 多态144
9.2.1 何谓多态144
9.2.2 演示Java中的多态146
9.3 引用类型147
9.3.1 4种引用类型147
9.3.2 instanceof运算符150
9.3.3 引用变量的强制类型转换151
9.4 组合152
9.5 初始化块154
9.5.1 何谓初始化块154
9.5.2 静态初始化块155
9.6 包装类156
9.7 深入详解final修饰符157
9.7.1 用final修饰变量158
9.7.2 final方法159
9.8 内部类160
9.8.1 何谓内部类160
9.8.2 非静态内部类160
9.8.3 成员内部类162
9.8.4 局部内部类162
9.8.5 静态内部类163
9.8.6 匿名内部类164
9.8.7 匿名类和内部类中的this166
9.8.8 总结Java内部类167
9.9 枚举类170
9.9.1 枚举类的方法170
9.9.2 手动实现枚举类170
9.9.3 枚举类型172
9.10 技术解惑174
9.10.1 构造器和方法的区别174
9.10.2 this在构造器中的妙用175
9.10.3 分析子类构造器调用父类构造器的几种情况175
9.10.4 要避免编译错误175
9.10.5 强制类型转换不是万能的176
9.10.6 继承和组合的选择176
9.10.7 分析发生异常的原因176
9.10.8 用final修饰基本类型和引用类型变量之间的区别176
9.10.9 类的4种权限177
9.10.10 手工实现枚举类的缺点177
第10章 集合178
10.1 Java集合概述179
10.2 Collection接口和Iterator接口180
10.2.1 基础知识介绍180
10.2.2 Collection接口和Iterator接口181
10.3 Set接口182
10.3.1 基础知识介绍182
10.3.2 使用HashSet185
10.3.3 使用TreeSet类186
10.3.4 使用EnumSet类188
10.4 List接口190
10.4.1 基本知识介绍190
10.4.2 使用List接口和ListIterator接口192
10.4.3 使用ArrayList和Vector类193
10.5 Map接口194
10.5.1 基本知识介绍194
10.5.2 使用HashMap和Hashtable实现类198
10.5.3 使用SortedMap接口和TreeMap实现类199
10.5.4 使用WeakHashMap类201
10.5.5 使用IdentityHashMap类202
10.5.6 使用EnumMap类202
10.6 Queue接口203
10.6.1 LinkedList类203
10.6.2 PriorityQueue类205
10.7 集合工具类Collections205
10.7.1 排序操作205
10.7.2 查找和替换操作206
10.8 其他集合类207
10.8.1 Stack类207
10.8.2 属性类Properties208
10.9 技术解惑211
10.9.1 Collection集合元素的改变问题211
10.9.2 深入理解HashSet211
10.9.3 使用类EnumSet时的注意事项211
10.9.4 ArrayList和Vector的区别212
10.9.5 TreeMap判断两个元素相等的标准212
10.9.6 分析几种Map类的性能212
10.9.7 LinkedList、ArrayList、Vector性能问题的研究212
10.9.8 用swap()方法把集合中两个位置的内容进行交换212
第11章 常用的类库214
11.1 StringBuffer类215
11.1.1 StringBuffer类基础215
11.1.2 使用StringBuffer类215
11.2 Runtime类217
11.2.1 Runtime类217
11.2.2 使用Runtime类218
11.3 程序国际化219
11.3.1 国际化基础219
11.3.2 Locale类219
11.3.3 ResourceBundle类220
11.3.4 处理动态文本221
11.3.5 使用类代替资源文件222
11.4 System类222
11.4.1 System类基础223
11.4.2 垃圾对象的回收223
11.5 Date类224
11.5.1 使用Date类224
11.5.2 使用Calendar类225
11.5.3 使用DateFormat类225
11.5.4 使用SimpleDateFormat类226
11.6 Math类227
11.7 Random类228
11.8 NumberFormat类229
11.9 BigInteger类230
11.10 BigDecimal类231
11.11 克隆对象233
11.12 Arrays类233
11.13 接口Comparable234
11.13.1 Comparable接口基础234
11.13.2 使用Comparable接口235
11.13.3 使用Comparator接口236
11.14 Observable类和Observer接口237
11.15 正则表达式239
11.15.1 正则表达式基础239
11.15.2 使用Pattern类和Matcher类240
11.15.3 String类和正则表达式240
11.16 Timer类和TimerTask类241
11.16.1 Timer类241
11.16.2 TimerTask类242
11.17 技术解惑243
11.17.1 StringBuffer和String选择的异同243
11.17.2 通过System类获取本机的全部环境属性243
11.17.3 分析对象的生命周期244
11.17.4 如果没有实现Comparable接口会出现异常244
11.17.5 体验正则表达式的好处245
第12章 泛型246
12.1 泛型基础247
12.1.1 泛型的好处247
12.1.2 类型检查247
12.1.3 使用泛型249
12.2 泛型详解249
12.2.1 定义泛型接口和类250
12.2.2 派生子类250
12.2.3 并不存在泛型类251
12.3 类型通配符252
12.3.1 设置类型通配符的上限252
12.3.2 设置类型形参的上限254
12.4 泛型方法254
12.4.1 定义泛型方法254
12.4.2 设置通配符下限257
12.5 泛型接口258
12.6 泛型继承259
12.6.1 以泛型类为父类259
12.6.2 以非泛型类为父类260
12.7 运行时类型识别260
12.8 强制类型转换261
12.9 擦除262
12.9.1 擦除基础262
12.9.2 擦除带来的错误264
12.10 技术解惑265
12.10.1 彻底分析Java语言中泛型的本质265
12.10.2 泛型方法和类型通配符的区别265
12.10.3 泛型类的继承规则266
12.10.4 类型擦除和泛型特性的联系266
12.10.5 使用泛型应该遵循的原则和注意事项267
第13章 异常处理268
13.1 什么是异常269
13.1.1 认识异常269
13.1.2 Java的异常处理机制269
13.1.3 Java提供的异常处理类271
13.2 异常处理方式272
13.2.1 使用try...catch处理异常272
13.2.2 处理多个异常273
13.2.3 将finally关键字使用在异常中273
13.2.4 访问异常信息275
13.3 抛出异常276
13.3.1 使用throws抛出异常276
13.3.2 使用throw抛出异常277
13.4 自定义异常278
13.4.1 Throwable类介绍278
13.4.2 使用Throwable类自定义异常280
13.5 分析Checked异常和Runtime异常的区别281
13.5.1 机制上282
13.5.2 逻辑上282
13.6 异常处理的陋习283
13.6.1 丢弃异常283
13.6.2 不指定具体的异常284
13.6.3 占用资源不释放285
13.6.4 不说明异常的详细信息285
13.6.5 过于庞大的try块285
13.6.6 输出数据不完整285
13.7 异常处理语句的规则286
13.8 技术解惑288
13.8.1 用嵌套异常处理是更合理的方法288
13.8.2 区别throws关键字和throw关键字288
13.8.3 异常类的继承关系288
13.8.4 子类Error和Exception288
第14章 I/O与文件处理289
14.1 Java I/O简介290
14.2 File类290
14.2.1 File类中的方法290
14.2.2 使用File类操作文件291
14.3 RandomAccessFile类293
14.3.1 RandomAccessFile类的常用方法294
14.3.2 使用RandomAccess File类294
14.4 字节流与字符流295
14.4.1 节流类和字符流类295
14.4.2 使用字节流295
14.4.3 使用字符流299
14.5 字节转换流301
14.6 内存操作流302
14.7 管道流303
14.8 打印流304
14.8.1 基础知识304
14.8.2 使用打印流305
14.9 System类306
14.9.1 System.out306
14.9.2 System.err306
14.9.3 System.in307
14.9.4 输入/输出重定向308
14.10 BufferedReader类309
14.10.1 BufferedReader类基础309
14.10.2 使用BufferedReader类310
14.11 Scanner类311
14.11.1 Scanner类基础311
14.11.2 使用Scanner类312
14.12 数据操作流314
14.12.1 DataOutputStream类314
14.12.2 DataInputStream类315
14.13 合并流316
14.14 压缩流317
14.14.1 ZIP压缩输入/输出流简介317
14.14.2 ZipOutputStream类317
14.14.3 ZipFile类320
14.14.4 ZipInputStream类321
14.15 回退流321
14.16 字符编码322
14.16.1 得到本机的编码显示323
14.16.2 产生乱码323
14.17 对象序列化324
14.17.1 Serializable接口324
14.17.2 对象输出流ObjectOutputStream324
14.17.3 对象输入流ObjectInputStream325
14.17.4 Externalizable接口326
14.17.5 关键字transient327
14.17.6 序列化一组对象328
14.18 新增的I/O329
14.18.1 新I/O概述329
14.18.2 使用Buffer330
14.18.3 使用Channel332
14.19 技术解惑334
14.19.1 使用File.separator表示分隔符334
14.19.2 综合演练创建和删除文件的操作334
14.19.3 File类的复杂用法335
14.19.4 字节流和字符流的区别335
14.19.5 System.err和System.out选择337
14.19.6 使用I/O实现一个简单的菜单效果337
14.19.7 对象序列化和对象反序列化操作时的版本兼容性问题339
14.19.8 不能让所有的类都实现Serializble接口339
第15章 AWT的奇幻世界340
15.1 GUI和AWT341
15.2 容器344
15.2.1 容器基础344
15.2.2 容器中的常用组件345
15.3 布局管理器347
15.3.1 布局利器FlowLayout347
15.3.2 布局利器BorderLayout348
15.3.3 布局利器GridLayout350
15.3.4 GridBagLayout布局管理器351
15.3.5 布局利器CardLayout356
15.3.6 BoxLayout布局管理器358
15.3.7 布局利器Null360
15.4 AWT的常用组件361
15.4.1 AWT中的组件361
15.4.2 AWT中的对话框363
15.5 事件处理365
15.5.1 Java的事件模型365
15.5.2 事件和事件监听器366
15.5.3 事件适配器371
15.6 AWT的菜单372
15.6.1 菜单条、菜单和菜单项372
15.6.2 右键菜单374
15.7 绘图376
15.7.1 类Component中的绘图方法376
15.7.2 Graphics类376
15.8 位图操作378
15.8.1 Image类和BufferedImage类378
15.8.2 输入/输出位图380
15.9 技术解惑382
15.9.1 使用绝对定位382
15.9.2 对事件处理模型的简化理解382
15.9.3 使用AWT开发动画383
15.9.4 图片缩放在现实中的意义383
15.9.5 AWT和Swing是窗体编程的两个主角383
15.9.6 AWT中的菜单组件不能创建图标菜单383
第16章 Swing详解384
16.1 Swing基础385
16.2 Swing的组件386
16.2.1 Swing组件的层次结构386
16.2.2 Swing实现AWT组件387
16.2.3 Jframe 、 JscrollPane和边框391
16.2.4 JTbolBar393
16.2.5 JColorChooser和JFileChooser395
16.2.6 JOptionPane397
16.2.7 JSplitPane402
16.2.8 JTabbedPane405
16.3 拖放处理407
16.3.1 拖放处理基础407
16.3.2 Swing中的拖放处理407
16.4 实现进度条效果——JProgressBar、ProgressMonitor和BoundedRangeModel409
16.4.1 创建一个进度条409
16.4.2 使用ProgressMonitor创建进度条对话框411
16.5 JSlider和BoundedRangeModel412
16.6 JList和JComboBox415
16.6.1 使用JList和JComboBox的构造器创建列表框415
16.6.2 使用ListCellRenderer418
16.7 JTree和TreeModel419
16.7.1 创建树420
16.7.2 拖动、编辑节点421
16.8 技术解惑425
16.8.1 贯穿Java开发的MVC模式425
16.8.2 Swing胜过AWT的优势425
第17章 数据库编程426
17.1 SQL基础427
17.1.1 数据定义427
17.1.2 数据操纵428
17.1.3 视图430
17.1.4 SQL高级操作430
17.2 初识JDBC431
17.2.1 JDBC API432
17.2.2 JDBC驱动类型432
17.2.3 JDBC的常用接口和类433
17.2.4 JDBC编程步骤434
17.3 常用的几种数据库437
17.3.1 Access数据库437
17.3.2 SQL Server数据库437
17.3.3 MySQL数据库440
17.4 执行SQL语句的方式443
17.4.1 使用executeUpdate443
17.4.2 使用execute方法444
17.5 事务处理446
17.5.1 JDBC中的事务控制446
17.5.2 JDBC事务控制的流程447
17.6 存储过程450
17.6.1 存储过程基础450
17.6.2 创建存储过程450
17.6.3 调用创建存储过程452
17.7 技术解惑453
17.7.1 池子的功效453
17.7.2 服务器自带连接池的问题454
17.7.3 连接池模型455
17.7.4 数据模型、概念模型和关系数据模型455
17.7.5 数据库系统的结构456
第18章 网络与通信编程457
18.1 Java中的网络包458
18.1.1 InetAddress类详解458
18.1.2 URLDecoder类和URLEncoder类详解458
18.1.3 URL和URLConnection459
18.1.4 实践演练460
18.2 TCP编程463
18.2.1 使用ServletSocket463
18.2.2 使用Socket464
18.2.3 TCP中的多线程465
18.2.4 实现非阻塞Socket通信468
18.3 UDP编程472
18.3.1 使用DatagramSocket472
18.3.2 使用MulticastSocket475
18.4 代理服务器478
18.4.1 什么是代理服务器478
18.4.2 使用Proxy创建连接479
18.4.3 使用ProxySelector选择代理服务器480
18.4.4 服务器代理实例482
18.5 技术解惑485
18.5.1 使用异常处理完善程序485
18.5.2 使用ServerSocketChannel的麻烦之处485
18.5.3 体会烦琐的DatagramPacket486
18.5.4 MulticastSocket类的重要意义486
18.5.5 继承ProxySelector时需要做的工作486
18.5.6 代理服务无止境486
第19章 多线程487
19.1 线程基础488
19.1.1 线程概述488
19.1.2 线程带来的意义488
19.1.3 Java的线程模型489
19.2 创建线程490
19.2.1 使用Thread类创建线程490
19.2.2 使用Runnable接口创建线程492
19.3 线程的生命周期493
19.3.1 创建并运行线程494
19.3.2 挂起和唤醒线程494
19.3.3 终止线程的3种方法495
19.3.4 线程阻塞497
19.3.5 线程死亡498
19.4 控制线程499
19.4.1 使用join方法499
19.4.2 慎重使用volatile关键字500
19.4.3 后台、让步和睡眠501
19.5 线程传递数据502
19.5.1 向线程传递数据的3种方法502
19.5.2 从线程返回数据的两种方法504
19.6 数据同步505
19.6.1 使用Synchronized关键字同步类方法509
19.6.2 使用Synchronized块同步变量511
19.6.3 同步锁512
19.7 总结多线程编程的常见缺陷及其产生的原因514
19.7.1 死锁问题515
19.7.2 多线程编程的常见陷阱517
19.8 技术解惑521
19.8.1 线程和函数的关系521
19.8.2 在run方法中使用线程名时带来的问题521
19.8.3 继承Thread类或实现Runnable接口方式的比较521
19.8.4 start和run的区别521
19.8.5 使用sleep()方法的注意事项521
19.8.6 线程的优先级522
19.8.7 如何确定发生死锁522
19.8.8 关键字synchronized和volatile的区别522
19.8.9 sleep()方法和yield()方法的区别523
19.8.10 分析Swing的多线程死锁问题523
第20章 整合开发业快信系统524
20.1 一个项目525
20.1.1 背景分析525
20.1.2 需求分析525
20.1.3 核心技术分析525
20.2 系统设计525
20.2.1 系统目标525
20.2.2 系统功能结构525
20.3 搭建开发环境526
20.3.1 建立短信猫开发环境526
20.3.2 设计数据库527
20.3.3 设计表528
20.4 规划系统文件530
20.5 具体编码531
20.5.1 编写公用模块代码531
20.5.2 设计主页534
20.5.3 名片夹管理模块535
20.5.4 收发短信模块540
20.5.5 邮件群发模块543
20.6 分析Java Mail组件544
20.6.1 Java Mail简介544
20.6.2 邮件协议简介545
20.6.3 邮件发送545
20.6.4 收取邮件547
20.7 项目调试547
热门推荐
- 3460404.html
- 3013000.html
- 3301832.html
- 927633.html
- 1912016.html
- 1252677.html
- 3720445.html
- 1740169.html
- 2049711.html
- 3421053.html
- http://www.ickdjs.cc/book_3002319.html
- http://www.ickdjs.cc/book_636262.html
- http://www.ickdjs.cc/book_904462.html
- http://www.ickdjs.cc/book_815351.html
- http://www.ickdjs.cc/book_3394337.html
- http://www.ickdjs.cc/book_1866692.html
- http://www.ickdjs.cc/book_3003974.html
- http://www.ickdjs.cc/book_1307281.html
- http://www.ickdjs.cc/book_2232796.html
- http://www.ickdjs.cc/book_2708703.html