| 书[0名0]: | Java语言程序设计(进阶篇)(原书[0第0]10版)|4981481 |
| 图书定价: | 89元 |
| 图书作者: | (美)梁勇(Y. Daniel Liang) |
| 出版社: | 机械工业出版社 |
| 出版日期: | 2016/10/1 0:00:00 |
| ISBN号: | 9787111548560 |
| 开本: | 16开 |
| 页数: | 0 |
| 版次: | 1-1 |
| 作者简介 |
| 出版者的话 文艺复兴以来,源远流长的科[0学0]精神和逐步形成的[0学0]术规范,使西方[0国0]家在自然科[0学0]的各个[0领0]域取得了垄断性的[0优0]势;也正是这样的[0优0]势,使美[0国0]在信息技术发展的六十多年间[0名0]家辈出、[0独0][0领0]风骚。在[0商0]业化的进程中,美[0国0]的产业界与教育界越来越紧密地结合,计算机[0学0]科中的许多泰山北斗同时身处科研和教[0学0]的前线,由此而产生的经典科[0学0]著作,不仅擘划了研究的范畴,还揭示了[0学0]术的源变,既遵循[0学0]术规范,又自有[0学0]者个性,其价值并不[0会0]因年月的流逝而减退。 近年,在全球信息化[0大0][0潮0]的推动下,我[0国0]的计算机产业发展迅猛,对专业人才的需求日益迫切。这对计算机教育界和出版界都既是机遇,也是挑战;而专业教材的建设在教育战略上显得举足轻重。在我[0国0]信息技术发展时间较短的现状下,美[0国0]等发达[0国0]家在其计算机科[0学0]发展的几十年间积淀和发展的经典教材仍有许多值得借鉴之处。因此,引进一批[0国0]外[0优0]秀计算机教材将对我[0国0]计算机教育事业的发展起到积[0极0]的推动作用,也是与世界接轨、建设真正的世界一流[0大0][0学0]的必由之路。 机械工业出版社华章公司较早意识到“出版要为教育服务”。自1998年开始,我们就将工作重点放在了遴选、移译[0国0]外[0优0]秀教材上。经过多年的不懈努力,我们与Pearson,McGraw-Hill,Elsevier,MIT,John Wiley & Sons,Cengage等世界著[0名0]出版公司建立了良好的合作关系,从他们现有的数百种教材中甄选出Andrew S. Tanenbaum,Bjarne Stroustrup,Brian W. Kernighan,Dennis Ritchie,Jim Gray,Afred V. Aho,John E. Hopcroft,Jeffrey D. Ullman,Abraham Silberschatz,William St[0all0]ings,Donald E. Knuth,John L. Hennessy,Larry L. Peterson等[0大0]师[0名0]家的一批经典作[0品0],以“计算机科[0学0]丛书”为总称出版,供读者[0学0]习、研究及珍藏。[0大0]理石纹理的封面,也正体现了这套丛书的[0品0]位和格调。 “计算机科[0学0]丛书”的出版工作得到了[0国0]内外[0学0]者的鼎力相助,[0国0]内的专家不仅提供了中肯的选题指导,还不辞劳苦地担任了翻译和审校的工作;而原书的作者也相[0当0]关注其作[0品0]在中[0国0]的传播,有的还专门为其书的中译本作序。迄今,“计算机科[0学0]丛书”已经出版了近两百个[0品0]种,这些书籍在读者中树立了良好的口碑,并被许多高校采用为正式教材和参考书籍。其影印版“经典原版书库”作为姊妹篇也被越来越多实施[0[0双0]0]语教[0学0]的[0学0]校所采用。 的作者、经典的教材、一流的译者、严格的审校、精细的编辑,这些因素使我们的图书有了质量的保证。随着计算机科[0学0]与技术专业[0学0]科建设的不断完善和教材改革的逐渐深化,教育界对[0国0]外计算机教材的需求和应用都将步入一个新的阶段,我们的目标是尽善尽美,而反馈的意见正是我们达到这一目标的重要帮助。华章公司欢迎老师和读者对我们的工作提出建议或给予指正,我们的联系方[0法0]如下: 华章网站:www.hzbook.com 电子邮件:hzjsj@hzbook.com 联系电话:(010)88379604 联系地址:北京市西城区百万庄南街1号 邮政编码:100037 |
| 内容简介 |
| 本书是 Java 语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、 GUI 程序设计、数据结构和算[0法0]、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供[0大0]量的程序清单,每章配有复习题和编程练习题,帮助读者掌握编程技术,并应用所[0学0]技术解决实际应用开发中遇到的问题。 进阶篇主要介绍线性表、栈、队列、集合、映射表、排序、二叉查找树、AVL树、散列、图及其应用、并行程序设计、网络、Java数据库程序设计以及JSF等内容。 本书可作为高等院校相关专业程序设计课程的基础教材,也可作为Java语言及编程爱好者的参考资料。 |
| 目录 |
出版者的话 中文版序 译者序 前言 [0第0]19章 泛型 1 19.1 引言 1 19.2 动机和[0优0]点 1 19.3 定义泛型类和接口 4 19.4 泛型方[0法0] 5 19.5 示例[0学0]习:对一个对象数组进行排序 7 19.6 原始类型和向后兼容 8 19.7 通配泛型 10 19.8 消除泛型和对泛型的限制 12 19.9 示例[0学0]习:泛型矩阵类 15 关键术语 19 本章小结 19 测试题 20 编程练习题 20 [0第0]20章 线性表、栈、队列和[0优0]先队列 21 20.1 引言 21 20.2 合集 21 20.3 迭代器 25 20.4 线性表 26 20.4.1 List接口中的通用方[0法0] 26 20.4.2 数组线性表类ArrayList和链表类LinkedList 27 20.5 Comparator接口 30 20.6 线性表和合集的静态方[0法0] 32 20.7 示例[0学0]习:弹球 35 20.8 向量类和栈类 38 20.9 队列和[0优0]先队列 40 20.9.1 Queue接口 40 20.9.2 [0[0双0]0]端队列Deque和链表LinkedList 40 20.10 示例[0学0]习:表达式求值 43 关键术语 47 本章小结 47 测试题 47 编程练习题 47 [0第0]21章 集合和映射表 53 21.1 引言 53 21.2 集合 53 21.2.1 HashSet 54 21.2.2 LinkedHashSet 57 21.2.3 TreeSet 58 21.3 比较集合和线性表的性能 61 21.4 示例[0学0]习:统计关键字 63 21.5 映射表 65 21.6 示例[0学0]习:单词的出现次数 69 21.7 单元素与不可变的合集和映射表 71 关键术语 72 本章小结 72 测试题 72 编程练习题 72 [0第0]22章 开发高效算[0法0] 75 22.1 引言 75 22.2 使用[0大0]O符号来衡量算[0法0]效率 75 22.3 示例:确定[0大0]O77 22.4 分析算[0法0]的时间复杂度 81 22.4.1 分析二分查找算[0法0] 81 22.4.2 分析选择排序算[0法0] 81 22.4.3 分析汉诺塔问题 81 22.4.4 常用的递推关系 82 22.4.5 比较常用的增长函数 82 22.5 使用动态编程计算斐波那契数 83 22.6 使用欧几里得算[0法0]求[0大0]公约数 85 22.7 寻找素数的高效算[0法0] 89 22.8 使用分而治之[0法0]寻找近的点对 94 22.9 使用回溯[0法0]解决八皇后问题 97 22.10 计算几何:寻找凸包 99 22.10.1 卷包裹算[0法0] 100 22.10.2 格雷厄姆算[0法0] 101 关键术语 102 本章小结 102 测试题 103 编程练习题 103 [0第0]23章 排序 109 23.1 引言 109 23.2 插入排序 110 23.3 冒泡排序112 23.4 归并排序 114 23.5 快速排序 117 23.6 堆排序 121 23.6.1 堆的存储 122 23.6.2 添加一个新的结点 122 23.6.3 删除根结点 123 23.6.4 Heap类 124 23.6.5 使用Heap类进行排序 126 23.6.6 堆排序的时间复杂度 127 23.7 桶排序和基数排序 128 23.8 外部排序 129 23.8.1 实现阶段Ⅰ 131 23.8.2 实现阶段Ⅱ 132 23.8.3 结合两个阶段 133 23.8.4 外部排序复杂度 136 关键术语 136 本章小结 136 测试题 137 编程练习题 137 [0第0]24章 实现线性表、栈、队列和[0优0]先队列 141 24.1 引言 141 24.2 线性表的通用特性 141 24.3 数组线性表 144 24.4 链表 151 24.4.1 结点 151 24.4.2 MyLinkedList类 153 24.4.3 实现MyLinkedList 154 24.4.4 MyArrayList和MyLinkedList 162 24.4.5 链表的变体 162 24.5 栈和队列 163 24.6 [0优0]先队列 167 本章小结 168 测试题 169 编程练习题 169 [0第0]25章 二叉查找树 171 25.1 引言 171 25.2 二叉查找树 171 25.2.1 表示二叉查找树 172 25.2.2 查找一个元素 173 25.2.3 在BST中插入一个元素 173 25.2.4 树的遍历 174 25.2.5 BST类 176 25.3 删除BST中的一个元素 184 25.4 树的可视化和MVC 189 25.5 迭代器 192 25.6 示例[0学0]习:数据压缩 194 关键术语 199 本章小结 199 测试题 199 编程练习题 199 [0第0]26章 AVL树 203 26.1 引言 203 26.2 重新平衡树 204 26.3 为AVL树设计类 205 26.4 重写insert方[0法0] 207 26.5 实现旋转 207 26.6 实现delete方[0法0] 208 26.7 AVLTree类 209 26.8 测试 AVLTree类 214 26.9 AVL树的时间复杂度分析 216 关键术语 217 本章小结 217 测试题 217 编程练习题 217 [0第0]27章 散列 219 27.1 引言 219 27.2 什么是散列 219 27.3 散列函数和散列码 220 27.3.1 基本数据类型的散列码 220 27.3.2 字符串类型的散列码 221 27.3.3 压缩散列码 221 27.4 使用开放地址[0法0]处理冲突 222 27.4.1 线性探测 222 27.4.2 二次探测[0法0] 223 27.4.3 再哈希[0法0] 224 27.5 使用链地址[0法0]处理冲突 225 27.6 装填因子和再散列 226 27.7 使用散列实现映射表 227 27.8 使用散列实现集合 235 关键术语 241 本章小结 242 测试题 242 编程练习题 242 [0第0]28章 图及其应用 244 28.1 引言 244 28.2 基本的图术语 245 28.3 表示图 247 28.3.1 表示[0顶0]点 247 28.3.2 表示边:边数组 248 28.3.3 表示边:Edge对象 248 28.3.4 表示边:邻接矩阵 249 28.3.5 表示边:邻接线性表 249 28.4 图建模 251 28.5 图的可视化 261 28.6 图的遍历 263 28.7 深度[0优0]先搜索(DFS) 264 28.7.1 DFS的算[0法0] 264 28.7.2 DFS的实现 265 28.7.3 DFS的应用 267 28.8 示例[0学0]习:连通圆问题 268 28.9 广度[0优0]先搜索(BFS) 270 28.9.1 BFS的算[0法0] 270 28.9.2 BFS的实现 271 28.9.3 BFS的应用 272 28.10 示例[0学0]习:9枚硬币反面问题 273 关键术语 278 本章小结 278 测试题 278 编程练习题 278 [0第0]29章 加[0权0]图及其应用 283 29.1 引言 283 29.2 加[0权0]图的表示 284 29.2.1 加[0权0]边的表示:边数组 284 29.2.2 加[0权0]邻接矩阵 285 29.2.3 邻接线性表 285 29.3 WeightedGraph类 286 29.4 小生成树 292 29.4.1 小生成树算[0法0] 293 29.4.2 完善Prim的MST算[0法0] 295 29.4.3 MST算[0法0]的实现 295 29.5 寻找短路径 298 29.6 示例[0学0]习:加[0权0]的9枚硬币反面问题 305 关键术语 308 本章小结 308 测试题 309 编程练习题 309 [0第0]30章 多线程和并行程序设计 314 30.1 引言 314 30.2 线程的概念 314 30.3 创建任务和线程 315 30.4 Thread类 318 30.5 示例[0学0]习:闪烁的文本 320 30.6 线程池 322 30.7 线程同步 324 30.7.1 synchronized关键字 326 30.7.2 同步语句 327 30.8 利用加锁同步 327 30.9 线程间协作 329 30.10 示例[0学0]习:生产者/消费者 333 30.11 阻塞队列 336 30.12 信号量 338 30.13 避免死锁 339 30.14 线程状态 340 30.15 同步合集 341 30.16 并行编程 342 关键术语 346 本章小结 346 测试题 347 编程练习题 347 [0第0]31章 网络 350 31.1 引言 350 31.2 客户端/服务器计算 351 31.2.1 服务器套接字 351 31.2.2 客户端套接字 351 31.2.3 通过套接字进行数据传输 352 31.2.4 客户端/服务器示例 353 31.3 InetAddress类 357 31.4 服务多个客户 358 31.5 发送和接收对象 361 31.6 示例[0学0]习:分布式井字游戏 365 关键术语 376 本章小结 376 测试题 376 编程练习题 376 [0第0]32章 Java数据库程序设计 379 32.1 引言 379 32.2 关系型数据库系统 379 32.2.1 关系结构 380 32.2.2 完整性约束 381 32.3 SQL 383 32.3.1 在MySQL上创建用户账户 383 32.3.2 创建数据库 384 32.3.3 创建和删除表 385 32.3.4 简单插入、更新和删除 386 32.3.5 简单查询 387 32.3.6 比较运算符和布尔运算符 387 32.3.7 操作符like、between-and和is null 388 32.3.8 列的别[0名0] 388 32.3.9 算术运算符 389 32.3.10 显示互不相同的记录 389 32.3.11 显示排好序的记录 390 32.3.12 联结表 390 32.4 JDBC 391 32.4.1 使用JDBC开发数据库应用程序 392 32.4.2 从JavaFX访问数据库 396 32.5 PreparedStatement 398 32.6 C[0all0]ableStatement 400 32.7 获取元数据 403 32.7.1 数据库元数据 403 32.7.2 获取数据库表 404 32.7.3 结果集元数据 405 关键术语 406 本章小结 406 测试题 407 编程练习题 407 [0第0]33章 JavaServer Faces 411 33.1 引言 411 33.2 开始使用JSF 411 33.2.1 创建一个JSF项目 412 33.2.2 一个基本的JSF页面 412 33.2.3 JSF的受管JavaBean 414 33.2.4 JSF表达式 416 33.3 JSF GUI组件 418 33.4 处理表单 421 33.5 示例[0学0]习:计算器 425 33.6 [0会0]话跟踪 428 33.7 验证输入 430 33.8 将数据库与facelet绑定 434 33.9 打开一个新的JSF页面 439 关键术语 445 本章小结 445 测试题 445 编程练习题 446 附录A Java关键字 451 附录B ASCII字符集 452 附录C 操作符[0优0]先级表 453 附录D Java修饰符 454 附录E 特殊浮点值 455 附录F 数系 456 附录G 位操作 460 附录H 正则表达式 461 附录I 枚举类型 465 |
说实话,在学习Java的过程中,我曾经尝试过很多不同的学习资源,包括在线教程、视频课程,甚至一些其他书籍。但很多时候,我都会遇到瓶颈,要么是讲解过于零散,要么是内容过于浅显,无法满足我深入学习的需求。直到我接触到这本书,我才真正感觉到有一种“茅塞顿开”的感觉。它所涵盖的内容非常全面,从Java的内存模型到多线程并发,再到网络编程和IO流,几乎囊括了我学习Java过程中遇到的所有难点和疑点。而且,书中对这些内容的讲解并非照本宣科,而是充满了作者的独到见解和实践经验。我尤其喜欢书中对设计模式的讲解,它并没有罗列出所有的设计模式,而是精选了几种最常用、最核心的设计模式,并结合实际的编程场景进行讲解,让我能够深刻理解设计模式的本质和应用价值。此外,书中还对Java的反射机制、注解和泛型等高级特性进行了深入的探讨,这些内容对于我提升代码的灵活性和可维护性非常有帮助。
评分我是一个非常注重实战的学习者,对于理论知识,我更关心它如何转化为实际的生产力。这本书在这一点上做得相当出色。它不仅深入讲解了Java语言的核心概念和高级特性,更重要的是,它将这些知识与实际的编程开发紧密结合。书中提供了大量的代码示例,这些示例不仅仅是简单的“Hello World”,而是涵盖了各种常见的编程场景,例如文件操作、网络通信、数据库交互、多线程同步等等。更让我感到惊喜的是,书中还引导我思考如何编写更优雅、更高效的代码,例如如何进行性能优化、如何规避潜在的bug、以及如何设计出更具可扩展性的程序结构。对于我这样一个刚刚接触Java不久的学习者来说,这些实践性的指导意义非凡。它帮助我建立起了正确的编程思维,而不是仅仅停留在语法层面。我尤其赞赏书中在讲解完一个概念后,会立刻给出一个相关的实践练习,让我能够及时巩固所学知识,并从中发现自己的不足。
评分这本书的厚度让我有些望而却步,但当我真正沉浸其中时,却发现时间过得飞快。它不仅仅是一本技术书籍,更像是一位经验丰富的导师,循循善诱地引导我探索Java的深邃之处。我特别喜欢书中关于JVM调优和性能分析的部分,这对于我这个对程序性能极其敏感的开发者来说,是不可多得的宝藏。书中不仅讲解了各种JVM参数的含义和作用,还提供了实用的工具和方法来监控和分析程序的性能瓶颈。此外,书中对Java EE相关的一些基础概念也进行了触及,这为我未来深入学习Java企业级开发打下了坚实的基础。虽然我还没有完全读完这本书,但每一次阅读都让我感到收获满满。它让我对Java的理解不再局限于表面,而是开始触及到更深层次的原理和机制。这本书无疑是我在Java学习道路上的一盏明灯,为我指明了前进的方向。
评分翻开这本书,我首先被它扎实的理论基础和严谨的逻辑结构所吸引。虽然我之前对Java已经有了一些了解,但书中对一些核心概念的阐述,比如JVM的工作原理、内存管理机制、垃圾回收算法等,依然让我受益匪浅。它并没有简单地陈述概念,而是通过详细的解释和图示,帮助我深入理解这些底层机制是如何运作的。这对于我撰写更高效、更健壮的Java程序至关重要。特别是关于并发编程的部分,书中对线程的创建、同步、锁机制、以及常见的并发问题如死锁、活锁等进行了深入的剖析,并提供了多种解决方案和最佳实践。这对于我目前正在参与的一个需要高并发处理的项目来说,无疑是雪中送炭。我尤其欣赏的是书中对每个技术点都提供了相应的代码示例,并且这些示例代码都经过精心设计,能够清晰地展示出理论知识的实际应用。通过阅读和实践这些代码,我感觉自己对Java的理解又上了一个台阶,不再仅仅停留在“会用”的层面,而是开始尝试去“理解”和“优化”。
评分这本书的封面上写着“Java语言程序设计(进阶篇)(原书第10版)”,我拿到手的时候,心里是抱着一种既期待又略带忐忑的心情。期待是因为“进阶篇”这三个字,说明它不会仅仅停留在基础语法的讲解,而是会深入到一些更复杂、更核心的概念。我之前已经掌握了Java的基础知识,能够写一些简单的程序,但总感觉在面对更大型的项目时,会有些力不从心,对一些设计模式、并发处理、性能优化等领域更是知之甚少。所以,我希望这本书能像一个引路人,带我走出Java编程的迷雾,进入一个更广阔的世界。原书第10版也意味着它应该是经过了多年的打磨和修订,内容应该相对成熟和权威。我特别关注的是书中是否能有足够多的实例代码,并且这些代码是否能够清晰地展示出所讲概念的实际应用,这样我才能更好地理解和消化。同时,我也希望这本书的讲解方式能够循序渐进,不会上来就抛出过于艰深的理论,而是能够层层递进,让我能够一步步地构建起对Java高级特性的认知。当然,作为一本“进阶篇”,我对它在数据结构、算法、设计模式、并发编程、网络编程、数据库连接等方面的内容有着很高的期望,希望它能提供深入的解析和实用的技巧。
评分此用户未填写评价内容
评分盗版书还卖这么贵
评分书还可以,是正版的
评分盗版书还卖这么贵
评分书还可以,是正版的
评分书还可以,是正版的
评分书还可以,是正版的
评分此用户未填写评价内容
评分盗版书还卖这么贵
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有