登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2025年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書

『簡體書』AI高效应用:Java编程实践(第5版)

書城自編碼: 4200519
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者:
國際書號(ISBN): 9787302705178
出版社: 清华大学出版社
出版日期: 2026-01-01

頁數/字數: /

售價:HK$ 281.6

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
美国军事战略研究
《 美国军事战略研究 》

售價:HK$ 184.8
一对一沟通
《 一对一沟通 》

售價:HK$ 120.9
南海:历史与现实
《 南海:历史与现实 》

售價:HK$ 151.8
变局与变奏:两次全球化与中国复兴
《 变局与变奏:两次全球化与中国复兴 》

售價:HK$ 140.8
沉默的皖北:明清国家治理与地方社会(精)
《 沉默的皖北:明清国家治理与地方社会(精) 》

售價:HK$ 74.8
国画牡丹 La Magnifique pivoine
《 国画牡丹 La Magnifique pivoine 》

售價:HK$ 35.2
20世纪物理学(第1卷)
《 20世纪物理学(第1卷) 》

售價:HK$ 184.8
虚无主义与形而上学
《 虚无主义与形而上学 》

售價:HK$ 107.8

編輯推薦:
在人工智能重塑软件开发范式的今天,Java程序员如何才能不被时代淘汰?《AI高效应用:Java编程实践(第5版)》给出了一种可能的答案。作为全球畅销的Java经典教程,本书以“目标导向+活代码教学”为核心特色,不仅系统梳理了Java从基础语法到高级主题(如Lambda、流、JavaFX)的知识体系,更开创性地融入了生成式AI编程的实战方法。书中200余个跨领域实例与600+AI提示练习,覆盖API调用、智能体开发、数据科学等前沿场景,让读者在编写代码的同时,自然掌握AI工具与Java生态的融合技巧。《AI高效应用:Java编程实践(第5版)》的独特价值在于与时俱进——作者团队持续追踪数千份技术资料,通过谷歌快讯实时捕捉AI与Java的技术演进,确保内容始终与行业需求同步。无论是传统Java开发者转型AI,还是高校学生构建竞争力,都能从中获得“理论-实践-优化”的全链路指导。此外,书中数百条编程技巧(如性能优化、安全实践、GUI设计规范)更如同资深导师的贴身点拨,帮助读者避开陷阱、提升代码质量。
內容簡介:
在人工智能作为新质生产力持续渗透的当下,Java程序员如何借助AI持续创造并交付出有价值的产品或者服务?对此,这本Java经典及时提供了一个行之有效的答案。《AI高效应用:Java编程实践(第5版)》包含6部分22章,主题包括生成式AI编程和Java程序员必知必会的编程基础、面向对象编程、数据结构、泛型集合、Lambda表达式和流、JavaFXGUI、图形与多媒体以及高级主题,是一本全面深入、内容详细且风格独特的重要参考书。书中包含的200+实例代码和600+AI编程练习,有助于读者高效掌握生成式AI编程和调用API进行智能体开发。《AI高效应用:Java编程实践(第5版)》适合有一定编程背景的程序员阅读,更适合Java程序员作为案头参考书,用于提升AI素养和编程能力。
關於作者:
保罗·戴特尔与哈维·M·戴特尔联合创办了全球知名的编程教育和培训机构——Deitel&Associates。全球数百万人通过他们的专业书籍、教材、视频课程,以及在线学习平台(learning.oreilly.com)和Revel交互式多媒体课程(带视频和自动评分)发布的资源,学习Java、Python、C++、C、C#、移动开发(iOS/Android)、互联网、Web编程等技术。
目錄
第Ⅰ部分 导论
第1章 概述、Java应用实操演练
与生成式AI 2
1.1 导读 3
1.2 硬件 5
1.3 Java 7
1.4 面向对象简单回顾 8
1.5 Java API和开源库 11
1.6 典型的Java程序开发环境 12
1.7 使用JDK运行Java程序 15
1.7.1 使用javac和java命令编译并运行程序 15
1.7.2 直接使用java命令运行程序 18
1.8 互联网、万维网、云计算和物联网 18
1.8.1 互联网:网络的网络 18
1.8.2 万维网:使互联网更好用 19
1.8.3 云计算 19
1.8.4 物联网 20
1.8.5 边缘计算 20
1.8.6 混搭 21
1.9 元宇宙 21
1.9.1 虚拟现实 22
1.9.2 增强现实 22
1.9.3 混合现实 23
1.9.4 区块链技术 23
1.9.5 比特币与加密货币 23
1.9.6 以太坊平台 24
1.9.7 非同质化代币(NFT) 24
1.9.8 Web3 24
1.10 软件开发技术 24
1.11 数据分析与数据科学 25
1.12 大数据到底有多大 27
1.12.1 大数据分析 29
1.12.2 数据科学与大数据正在改变世界:应用场景 29
1.13 人工智能(AI),计算机科学与数据科学的交汇点 30
1.13.1 人工智能 30
1.13.2 通用人工智能 31
1.13.3 人工智能里程碑事件 31
1.13.4 机器学习 32
1.13.5 深度学习 32
1.13.6 强化学习 33
1.14 生成式AI 33
1.15 小结 38
专题:生成式AI练习 39
第2章 Java编程入门 42
2.1 导读 43“对象自然”学习方法 43
2.2 第一个Java程序:显示单行文本 43
2.2.1 编译程序 47
2.2.2 执行程序 48
2.3 修改第一个程序 49
2.4 使用printf输出文本 51
2.5 另一个程序:整数相加 52
2.6 算术运算 56
2.7 决策:相等性和关系操作符 58
2.8 “对象自然”案例学习:创建和使用Java API String 类的对象 61
2.9 小结 65
专题:生成式AI练习 65
第Ⅱ部分 编程基础
第3章 控制语句(上) 68
3.1 导读 69
3.2 控制结构 69
3.2.1 顺序结构 69
3.2.2 选择语句 70
3.2.3 循环语句 71
3.2.4 控制语句小结 71
3.3 if单选语句 72
3.4 if...else双选语句 72
3.4.1 嵌套if...else语句 73
3.4.2 代码块 74
3.4.3 条件操作符( :) 76
3.5 while循环语句 76
3.6 计数器控制的循环 78
3.6.1 实现算法 79
3.6.2 整数除法和截断 80
3.6.3 算术溢出 81
3.6.4 输入校验 81
3.7 哨兵值控制的循环 82
3.7.1 实现哨兵值控制的循环 83
3.7.2 基元类型之间的显式和隐式转换 85
3.7.3 浮点数的格式化 85
3.8 嵌套控制语句 87
3.8.1 问题陈述 87
3.8.2 实现程序 88
3.9 复合赋值操作符 90
3.10 递增和递减操作符 91
3.11 基元类型 94
3.12 “对象自然”案例学习:超大整数 94
3.13 小结 98
专题:生成式AI练习 98
第4章 控制语句(下) 99
第5章 方法 131
第6章 数组与ArrayList 169
第7章 字符串、NLP和正则表达式:生成式AI基础 208
第Ⅲ部分 面向对象编程
第8章 使用自定义类进行现实世界建模 262
第9章 使用继承、多态性和接口进行现实世界建模 322
第10章 深入异常处理 381
第11章 文件、I/O流、JSON序列化与CSV文件 410
第Ⅳ部分 数据结构、泛型集合、Lambda表达式与流
第12章 泛型集合 460
第13章 深入泛型类与方法 499
第14章 使用Lambda表达式和流进行函数式编程 524
第Ⅴ部分 JavaFX GUI、图形与多媒体
第15章 JavaFX GUI(上) 574
第16章 JavaFX GUI(下) 600
第17章 JavaFX图形与多媒体 638
第18章 并发:从平台线程到虚拟线程 694
第19章 构建基于API的Java生成式AI应用 754
第20章 使用JDBC和SQLite访问数据库 816
第21章 Java平台模块系统(JPMS) 855
第22章 递归和Big O表示法 904
附录A JShell交互式Java入门 929
附录B 格式化输出 985
附录C 数制系统 999
內容試閱
欢迎阅读《生成式AI与Java编程实践》(第5版)。在前言中,我们将揭示本书的“灵魂”——如何借助于AI提升编程效能。本版通过三种前沿互补的教学方法来帮助读者以更快的速度、更广的维度、更深的层次掌握Java编程。相较于传统学习方式,读者将能完成更具有挑战性的任务,为职业生涯中的编程与软件开发挑战做好充分的准备。
三大核心教学法,层层突破编程能力:
? 代码教代码——着眼于夯实基础的沉浸式学习。我们沿用经典的“实时编码”(Live-Code)教学法。通过沉浸于数百个完整的、带实际输出结果的可运行代码示例,读者将在掌握Java基础知识的同时,充分提升学习效能。这些代码直击应用场景,可以让抽象的概念在具体实现中自然落地。
对象教对象——面向对象编程的革新实践(第5版新增)。全新的“对象自然”教学法将引领读者通过Java庞大类库及GitHub等开源仓库中的现成功能类,学习面向对象编程。无需从零构建,读者可以直接调用成熟类库完成复杂任务,在实践中理解封装、继承与多态的本质,快速提升编写高质量代码的能力。
? 生成式AI教生成式AI——掌握未来编程的核心引擎(第5版新增)。作为本版首创的颠覆性编程教学内容,读者将系统地学习生成式AI这个提升创造力的关键技术。通过示例与练习,读者将学会并掌握如何运用提示词让AI生成原创文本、Java代码、图像、音频、语音、音乐乃至视频。最终,读者不仅可以成为AI的使用者,而且还能成为智能程序的创造者。
哈维的往事。20世纪70年代,有位朋友建议我到本地大学上计算机导论课程。在讲解编程语言类型层次(从低级机器语言到中级汇编语言再到高级语言)时,我亲自演示过如何用每种语言进行编程。我向学生解释:越往层次结构上层走,编程效能越高——远离原始硬件细节,贴近应用领域,以实际问题为导向进行思考。这些编程语言的语句在层级中每上升一层,就更强大一分:它们不仅能提升我们快速解决复杂问题的能力,而且还能让我们得到设计更精巧的解决方案。
这种层级跃升带来效能革命的理念,正是本书的核心脉络——从代码到对象,再到生成式AI,每一次迭代都在重塑编程的边界,帮助咱们程序员在技术浪潮中始终把握先机。
学生充满好奇,追问这一切将走向何方。我当时的回答是:“可以合理预测,未来会出现更高级别的编程技术,帮助人们更快、更好地解决更具挑战性的现实问题。随着程序员写的代码愈发强大,终有一天,编程将高度贴近应用领域——届时只需要聊聊天,把需求告诉计算机,无需提供越来越复杂的构建细节,计算机便会生成你想要的软件!”
当时是20世纪70年代。随后的20年,面向对象编程——Java的核心编程模型——横空出世。对象源自被称为“类”的“蓝图”,几乎任何名词或概念都能用类来表示。真实世界中这类事物不胜枚举,程序员开始构建庞大的类库,进一步提升了软件开发效率。20世纪90年代中期,早期Java版本问世时,其免费特性与数百个预构建的强大类库尤为引人瞩目,这使程序员能够在图形、GUI、并发、网络、数据结构、数据库等关键领域快速开发重要应用。这些类中许多包含数百甚至数千行代码,但程序员创建类的对象通常只需编写一行简洁代码,再用几句简短语句即可让对象大显身手。这标志着一种更接近问题领域的高级编程能力。
与此同时,人工智能领域自20世纪50年代诞生以来持续快速演进。然而,直到谷歌2017年发表“注意力就是你所需要的一切”(Attention is All You Need)研究论文 并定义Transformer模型,才掀起了当前这一波AI热潮。这个模型是今天的大语言模型的根基,为本书中将要使用的生成式AI聊天机器人和工具提供强大的支撑。
2022年11月,OpenAI发布ChatGPT,5天内用户突破百万,两个月内破亿。历史上没有任何一个应用能这样迅速地普及,让用户的生产力得到飙升,并极大地增强人们让计算机完成真正有趣且强大任务的能力。
我们在书中深度整合生成式AI。对Java开发者而言,重中之重在于,生成式AI能够出色地编写、文档化、解释、调试、纠正、优化Java代码并提升其性能。生成式AI并非完美无缺——它们会犯错,有时还会产生“幻觉”——因此必须仔细监控。我们将在全书约600个生成式AI练习和示例中展示这些编码能力。生成式AI创造了一种超高层次的编程能力,这将极大地提升大家的Java学习体验,使大家能够快速、便捷、低成本地开发出健壮、高质量的Java软件。
时间快进到2025年,真实世界中的Java应用场景如何呢?作为全球最流行的编程语言之一 ,Java因其平台独立性、健壮性及全面的标准库与第三方类库支持而在众多应用领域备受青睐。从最小的物联网设备(例如全球联网的传感器)到最大的基于云的企业计算平台(例如华为云),Java被用于构建各种软件。以下是一些有趣的Java应用案例:
? 《我的世界》,有史以来最受欢迎的电子游戏之一 ;
? 金融交易平台(如LSEG Real-Time SDK 7 );
? 美国联邦航空管理局(FAA)航班与机场信息 API ;
? Android 移动应用开发 ——Android 作为全球领先的移动设备操作系统,占据 73.5%的全球市场份额;
? 美国国家航空航天局(NASA)火星探测器软件;
? 基因DNA和RNA测序数据分析工具。
本书用到的流行生成式AI聊天机器人(DeepSeek、ChatGPT、Gemini、Claude和 Perplexity)还列出了其他Java应用场景:
? 桌面GUI应用程序(我们将用第15章~第17章介绍的JavaFX开发这种应用程序);
? 跨平台2D和3D游戏开发库(例如我们将在一篇博客文章中介绍的FXGL);
? 嵌入式系统(例如智能卡、蓝光播放器、有线电视机顶盒、打印机及汽车“信息娱乐”系统);
? 科学与教育软件;
? 基于Web的应用程序(例如Spring和Spring Boot框架);
? 高性能服务器端软件;
? 银行与金融领域的企业级解决方案;
? 大规模分布式系统;
? 机器人技术;
? 大数据技术(例如用于存储和处理海量数据的Hadoop)。
本书读者画像
本书采用的是模块化架构,因而更适合更广泛的读者群体:
? 参加初级和中级职业Java编程培训课程的读者,课程内容设计基于ACM(美国计算机协会)和IEEE(电气电子工程师学会)这两个权威专业机构所推荐的课程大纲;
? 熟悉其他编程语言或者需要为新项目学习Java的开发人员;
? 已掌握部分Java知识、需要学习最新Java特性与编程惯用法以应对新项目的程序员;
? 此外,本书还全面涵盖并更新了Oracle Java SE(标准版)开发人员认证考试的全部核心内容。
“实时编码”教学法
本书的核心是我们两位作者最有特色的实时编码(Live-Code)教学法。不同于只提供代码片段的方式,读者将通过200多个完整编写的真实世界示例和案例来动手研习Java,并附有来自计算机科学、数据科学、人工智能等领域的实时输出结果。请阅读“前言”之后的“准备工作”,了解如何下载示例代码,并设置自己的Windows或macOS计算机来运行这些代码。
第1章的1.7节要介绍如何使用免费、开源的OpenJDK来编译和运行这些代码示例。在阅读本书的同时,请主动执行每个程序,使自己的Java学习体验更加生动真实。我们还在 />? JetBrains IntelliJ IDEA 社区版;
? Eclipse IDE for Java Developers;
? Microsoft Visual Studio Code。
编程范式。本书涉及的编程范式包括过程式编程(第2章~第7章)、面向对象编程(第8章~第10章)、泛型(第12章和第13章)、函数式编程(第14章)、并发编程(第18章)和生成式AI增强(第19章)。
第Ⅰ部分:导论
第1章:概述、Java应用程序实操演练与生成式AI 互联网与万维网;云技术;物联网(IoT);元宇宙;AI/生成式AI简介;JDK快速入门;27个生成式AI 练习。
第2章:Java编程入门 Java基础知识;输入/输出;基元类型;算术运算;判断(决策)语句;“对象自然”案例学习:String类;12个生成式AI练习。
第Ⅱ部分:编程基础
第3章:控制语句(上) if、if/else和while语句;计数器控制/哨兵控制的迭代;嵌套控制语句;“对象自然”案例学习:用于超大整数的BigInteger;16个生成式AI练习。
第4章:控制语句(下) for、do/while、switch、break和continue语句;逻辑操作符;“对象自然”案例学习:用于精确货币计算的BigDecimal;13个生成式AI练习。
第5章:方法 自定义方法;随机数;模拟;“对象自然”案例学习:日期/时间API;16个生成式AI练习。
第6章:数组与ArrayList 数据结构;内置数组;“对象自然”案例学习:用ArrayList实现可动态调整大小的数组;28个生成式AI练习。
第7章:字符串、NLP与正则表达式:生成式AI基础 String、Character和StringBuilder类;自然语言处理(NLP)简介;两个“对象自然”案例学习:一是使用正则表达式进行文本模式匹配,二是使用AES私钥加密保护数据;22个生成式AI练习。
第Ⅲ部分:面向对象编程
第8章:使用自定义类进行真实世界建模 创建有价值的类;Account类案例学习;洗牌和发牌模拟;Time类案例学习;控制类成员的访问权限;构造函数;getter/setter方法;数据校验;抛出异常;static和final类成员;record类;33个生成式AI练习。
第9章:使用继承、多态性和接口进行现实世界建模 继承层次结构;运行时多态性;is-a(继承)关系与has-a(组合)关系;接口;针对接口编程,而非针对实现编程;依赖注入;sealed类和接口;31个生成式AI练习。
第10章:深入异常处理 用try语句捕获并处理异常;Throwable层次结构;受检(checked)与非受检(unchecked)异常 ;try-with-resources语句 ;30个生成式AI练习。
第11章:文件、I/O流、JSON序列化与CSV文件 数据持久化;文本文件与二进制文件;NIO类;获取文件/目录信息;Formatter类;JSON序列化;使用java.net.http特性 调用OpenWeatherMap Web服务;CSV文件格式;泰坦尼克号灾难CSV数据集与基础数据分析;“对象自然”案例学习:使用RSA公钥密码学保障数据安全并保护用户隐私;38个生成式AI练习。
第Ⅳ部分:数据结构、泛型集合、Lambda表达式与流
第12章:泛型集合 来自Java集合框架(Java Collections Framework)的预打包数据结构;预建的泛型数据结构;30个生成式AI练习。
第13章:深入泛型类与方法 实现自定义泛型方法和自定义泛型类;编译时类型安全;24个生成式AI练习。
第14章:使用Lambda表达式和流进行函数式编程 使用Lambda表达式和流管道更快、更简单地编写某些类型的程序,同时有望减少bug数量;不可变性;第18章会讲解如何在多核架构上通过并行化流管道来提升性能,37个生成式AI练习。(可以继续学习第22章)。
第Ⅴ部分:JavaFX GUI、图形与多媒体
第15章:JavaFX GUI(上) 用Scene Builder进行简单的拖放式GUI设计;布局;控件;事件处理;“欢迎”程序;“小费计算器”程序,13个生成式AI练习。
第16章:JavaFX GUI(下) 其他布局和控件;鼠标、RadioButton和属性变化事件;数据绑定;“绘图”程序;“封面查看器”程序;自定义控件外观;FileChooser和DirectoryChooser对话框;21个生成式AI练习。
第17章:JavaFX图形与多媒体 用于自定义JavaFX节点外观和文本字体的层叠样式表(CSS);2D和3D形状;移动、旋转和缩放节点变换(node transformation);显示、播放和暂停视频;使用Transition和Timeline动画逐步更改属性;使用AnimationTimer实现逐帧动画;使用CSS过渡(CSS transition)简单地实现动画效果;用Canvas进行鼠标绘图;31个生成式AI练习。
第Ⅵ部分:高级主题
第18章:并发:从平台线程到虚拟线程 多核编程;创建和管理多个任务;性能案例学习;使用Java日期/时间API测试顺序与并行排序性能;预包装的并行算法;经典的生产者/消费者关系;更容易使用、更不容易出错、更高级的并发特性;Loom项目:轻量级虚拟线程、结构化并发、作用域值(scoped value) ;51个生成式AI练习。
第19章:构建基于API的Java生成式AI应用程序 能理解文本、代码、图像、语音和视频输入,并生成文本、代码、图像、语音和视频的多模态生成式AI;使用OpenAI API创建能够总结文本、分析文本情感、为图像创建可访问描述、检测文本语言并将文本翻译成其他语言、生成Java代码、对文本执行命名实体识别并获得结构化JSON输出、将语音转录为文本、从文本合成语音、为视频生成字幕等的应用程序;21个生成式AI练习和73个基于API的编程项目。
第20章:使用JDBC和SQLite访问数据库 在数据库中存储持久数据;SQLite数据库管理系统;SQL的CRUD(创建、读取、更新、删除,简称“增删查改”)操作;JDBC API;连接到数据库;从数据库中检索数据;JavaFX TableView;JDBC PreparedStatement ;19个生成式AI练习。
第21章:Java平台模块系统(JPMS) 创建自定义包和模块;声明模块依赖项;指定模块导出哪些包;定义模块提供的或使用的服务;反射和启用反射访问;将模块与资源捆绑;31个生成式AI练习。
第22章:递归与Big O表示法 递归和迭代版的阶乘计算;递归斐波那契计算;递归创建“羽毛分形” 的JavaFX应用程序;基于文本的算法可视化;丰富的递归练习;11个生成式AI练习(可以在学完第Ⅳ部分后直接学习本章内容)。
附录
附录A:JShell交互式Java入门 使用Java友好的命令行REPL(读取-求值-输出循环)来探索、发现和实验。这就好比在Java中拥有了类似于Python的交互性。 本附录的许多内容都可以配合本书早期的章节阅读。
附录B:格式化输出 讲解如何对输出和内存字符串进行格式化。总结了全书已经讨论的格式化特性,并进行了补充。
附录C:数制系统 介绍二进制(基数2)、八进制(基数8)、十进制(基数10)和十六进制(基数16)数制系统。
Deitel.com博客。Deitel.com的博客包含的主题有序列化集合;灵活的构造函数体;位运算;带标签的break语句和continue语句;JavaFX Subscription(订阅)API;基于FXGL(FX游戏库)的JavaFX游戏开发入门,涉及动画、碰撞检测、粒子效果等。本书英文版主页 />“对象自然”教学法
面向对象编程书籍传统上采用“晚期对象”或“早期对象”的教学法。但这些书中所谓的“早”与“晚”,并非针对“对象”本身,而是指在什么时候教你学习开发自定义类(即构建对象所依据的“蓝图”)。我们使用这两种方式编写过多种流行的面向对象编程语言的教材。
什么是“对象自然”教学法?在撰写Python教材时,我们注意到尽管教学方式符合“晚期对象”模型,但实际上它更具独特性。我们将这种方法总结为“对象自然”教学法,并在后续所有面向对象编程语言教材和专业书籍中采用该方法。
与“晚期对象”类似,“对象自然”教学法也从编程基础内容开始讲解,如数据类型、变量、操作符/运算符、控制语句、方法、数组和字符串等,这些内容均安排在前几章——全部在开始创建自定义类之前。然而,在“对象自然”教学法中,学生会大量练习使用功能强大的现有类,快速创建这些类的对象(通常只需一行代码),并通过简单的Java语句让它们执行各种操作。
这正是使用Java等成熟的面向对象语言最具吸引力的一个方面。在学习第8章的自定义Java类及第9章的继承、多态性和接口之前,学生就已经能够熟练使用这些现成的对象了。
大量可用的免费类库。我们强烈建议使用Java生态系统中数量庞大的免费、有价值的类库。这些类库主要有两个来源:
? Java API,也就是Java标准库;
? 免费的第三方Java库,它们通常由开源社区开发。
我们鼓励大家在GitHub等网站上探索大量由别人写的Java 代码。阅读别人写的代码是一种非常高效的编程学习方式。
生成式AI教学法
在创作本书过程中,生成式AI不仅是不可或缺的核心环节,也将成为读者与书中内容进行互动的重要方式。我们将深入探讨如何把生成式AI融入本书的架构设计,它将如何革命性地提升Java教学效果,以及读者应如何在保持审慎批判思维的同时高效利用这些强大的工具。
在编写本书过程中,我们始终将生成式AI视为强化内容质量的强大辅助工具,而非替代我们的写作。同样,我们也鼓励读者将生成式AI用于提升学习与软件开发技能,而非依赖其替代自主思考。我们应用生成式AI的体验既富有启发性又充满乐趣——它仿佛一个由多元专家组成的全天候支持团队,当然,这一切仍然离不开人的细致监督。
本书采用以下两种方式来集成生成式AI。
? 提示工程。除了第19章,我们主要关注通过优化提示(prompt)来提升与生成式AI工具的交互效果。可以将这种方式理解为学习一种新的编程语言。在提示工程中要求设计精确的指令或问题,引导AI生成所需的结果。还可以迭代优化提示词,不断调整以提高结果的准确性与相关性——提示越清晰,结果越理想。掌握优秀的提示技巧需要大量实践,而这本书将为读者提供丰富的练习机会。
? 结合AI API的Java 编程与提示工程。第19章融合提示工程与基于AI API的代码开发,重点展示生成式AI如何协助你构建和优化完整的Java应用程序。我们使用的是OpenAI的API,但读者完全可以选择其他AI产品。
第19章的示例和练习将更深入地探讨如何使用生成式AI进行代码生成与分析,并指导读者构建基于AI API的Java生成式AI应用程序。读者通过这一章将学会如何编写有效的提示词来生成代码、调试并优化程序,甚至创建完整的Java应用程序。
我们使用的生成式AI工具有哪些呢?我们的工作借助了多个生成式AI模型,比如以下4个主要的生成式AI聊天机器人:
? OpenAI ChatGPT;
? Google Gemini;
? Anthropic Claude;
? Perplexity。
我们在每个任务中使用所有这些工具,因为它们产生的结果有一部分相同,也有一部分不同。换言之,每种工具都有其独特的价值。事实上,即使向同一个生成式AI输入相同的提示,在不同时间点也可能得到不同结果。每种工具都有其优势与局限。随着技术的发展,这些能力与限制也在不断变化。未来,它们的能力可能会有显著提升。
此外,我们还使用OpenAI的DALL-E(现已整合到ChatGPT中)来生成图像,以及Sora进行视频生成。许多生成式AI提供商提供免费的试用版本。虽然它们的功能可能不如付费版本强大,但效果也不错。
生成式AI在教学中扮演的角色。生成式AI将在职业教育与高等教育领域扮演至关重要的角色,尤其在编程语言教学场景中优势显著。这类技术如同一支全天候在线的虚拟专家团队,能以极低甚至零成本为学生提供即时协助。
当前,不同组织机构与教育机构对生成式AI的应用态度存在明显分歧:部分机构积极接纳(如本书所示);部分机构则明确禁止使用;还有一些机构在设置监管措施的前提下允许合理使用。我们鼓励你尽早熟悉这类工具——它们极有可能成为职业生涯中不可或缺的辅助。当然,务必严格遵守所在单位或院校制定的相关政策。
首先,生成式AI可以从以下几个方面提升学习体验:
? 从多个角度解释复杂概念;
? 提供交互式调试支持;
? 当概念理解不清晰时,辅助定位需要复习的内容;
? 通过多样化讲解方式适配不同学习风格;
? 为自己编写的代码提供个性化反馈。
我们建议读者在学习中注重动手实践,将生成式AI作为强化学习的工具。书中的“生成式AI练习”小节将提供以下帮助:
? 学习提示工程,设计和优化自己输入的提示,以获得最佳结果;
? 通过输入提示来探索生成式AI的能力边界;
? 了解不同生成式AI对提示响应的详细程度;
? 发现解决问题的新思路;
? 对比不同生成式AI的优势与局限;
? 理解生成式AI可能犯错,有时甚至还会产生“幻觉”,并掌握检测与应对方法;
? 注意到生成式AI可能会生成不准确的结果;
? 获得书中知识点的进一步阐释;
? 在需要更多细节时拓展自己的知识面。
其次,用好AI学好AI.我们是如何使用生成式AI的呢?
本书在创作过程中深度整合了生成式AI技术,但并非由其直接撰写书稿(特定注明的场景除外)或代码示例,而是借助其优化本书的研究、开发、文字润色及校对等环节。具体应用场景包括:
? 锤炼生成式AI提示工程技巧,以获取更优质的输出结果;
? 开展头脑风暴;
? 从书中内容提取要点,生成PowerPoint幻灯片草稿,辅助教师备课与授课;
? 验证内容准确性;
? 核查书中Java编程惯用法及代码规范是否符合当前行业标准;
? 检查语法、行文流畅度及表达清晰度;
? 基于内容生成选择题草稿;
? 仅使用书中已讲解的技术,为练习生成答案草稿;
? 直接根据内容生成营销文案草稿;
? 直接根据内容生成博客文章草稿;
? 重构代码以符合编码规范(例如代码缩进、注释相关性及密度等);
? 代码重构(例如重命名变量、方法和类,将重复代码提取为独立函数等)。
在大多数情况下,有效的提示工程是关键,通过反复优化对话提示词,往往能显著提升输出的质量。
关于生成式AI,我们鼓励读者将生成式AI视作一种学习工具,而非单纯的“答案生成器”。正如精通编程需要理解语言和库的功能,有效运用生成式AI同样需要通过实践不同的“提示”来培养编程技能。具体建议如下。
? 记录提示与结果:持续跟踪使用的提示及其输出质量,这不仅有助于梳理有效策略与无效尝试,还能帮助识别不同生成式AI平台的细微差异。久而久之,你将积累一套宝贵的提示库及预期结果,为未来编程工作提供有力支撑。
? 体验多平台工具:尝试使用多种生成式AI(包括新的工具),通过对比输出结果来理解各种工具的能力差异。
? 探索提示策略:尝试不同的提示构造方法,找出最能达成目标的策略——不同的编程挑战往往需要差异化的提示思路。
? 迭代优化提示:若生成结果未达预期,调整提示后再次尝试。例如,部分工具倾向于生成流畅专业的文本,而另一些则更擅长深入剖析主题。
? 使用生成式AI进行探索与发现:借助生成式AI探索新思路、洞察潜在模式与见解。其广泛的分析能力可处理海量数据并整合为可操作信息,既能提升创造力,也能辅助决策。这种发现能力可突破自己现有的知识边界,激发创新思维,助力拓展认知维度与智慧深度。
关于生成式AI,我们如何识别幻觉与错误呢?生成式AI有其固有的局限性。这类技术可能产生“幻觉”,即看似自信给出实则捏造的答案。要求它们执行任务时,其输出结果有时会包含谬误,例如生成无法正常运行的Java代码。在本书中,我们既展示了生成式AI的成功交互,也呈现了不理想的应用案例。例如,尽管生成式AI协助我们在“数制系统”附录中拓展了十六进制的创新应用场景,但在处理一些看似直截了当的任务时,AI却显得力不从心。在第2章中,我们就遇到了这样的情况:即使是要求生成式AI编写简单的Java语句,也可能遭遇失败。我们特意将部分此类失败案例收录于书中,作为富有价值的教学实例,旨在警示读者:生成式AI未必正确无误,务必谨慎使用。这也再次凸显了人工监督与验证的重要性,尤其是在商业决策和关键任务等核心环节。
最后,我们要考虑一个问题,为什么要使用付费服务?
尽管免费的生成式AI很有价值,但付费服务往往能提供更为强大的功能、更高的可用性及可靠性。为生成式AI提供强大能力的大语言模型,其训练成本本身就极为高昂,因此许多生成式AI工具也提供了付费模式。例如,单是训练OpenAI的GPT-4和谷歌的Gemini,其成本就分别达到了约7800万美元和1.91亿美元,这还不包括相关开发人员的薪酬及其他开销。 我们鼓励读者在条件允许时使用免费或低成本工具,甚至可以让生成式AI推荐当下最佳的免费版本。然而,专业开发者为了获得最理想的效果,最终往往会选择AI工具的付费版本。
本书的主旨
本书的主旨是帮助广大程序员为未来做好准备——在个人生活与职业生涯中,生成式AI将成为不可或缺的存在。通过书中生成式AI的应用案例与实践练习,我们旨在帮助你熟悉这些工具,同时理解其优势与潜在风险。在探索生成式AI能力的过程中培养适度的审慎态度,能够让你更高效地驾驭AI。
生成式AI练习
我们将书中约 600 个生成式AI练习的完整列表(一份超百页的PDF文档)输入到ChatGPT、Gemini、Claude和Perplexity中,让它们对这些练习涉及的内容进行分类。随后,我们将分类结果再次输入这4个AI,生成最终摘要并选出最优版本。Claude的分类结果如下。
? 代码生成与实现:根据需求规范编写全新Java程序,涵盖特定语言特性、算法及API的实现,创建测试程序与实际应用,为基础及高级任务提供解决方案。
? 代码重构与增强:实现代码现代化,优化代码结构、可读性和可维护性,在保持功能不变的前提下完成不同实现方法间的转换,并提升程序性能。
? 教育内容开发:创建教程、练习及学习材料,深入探索复杂概念,设计编程练习,撰写全面的文档与指南。
? 技术分析:分析代码行为与功能实现逻辑,对比不同方法、工具及框架,评估设计决策中的权衡取舍,拆解复杂技术概念。
? 最佳实践与标准:贯彻编码标准与设计模式,处理安全相关考量,优化性能表现,遵循Java开发最佳实践。
? 技术评估:对比各类库、工具及框架,评估不同方案的优缺点,辅助做出明智的技术选型,探索新功能与更新。
? 调试与错误处理:排查并修复语法及逻辑错误,实现异常处理机制,提升系统容错能力,预防常见开发陷阱。
? API与库集成:使用Java原生API及外部库,理解API功能与特性,实现集成技术,创建API文档与教程。
? 真实场景应用开发:开发实际用例与行业应用,构建交互式程序(如图形界面、游戏、多媒体应用),复现真实世界场景,创建示例项目。
? 性能优化:分析并提升程序性能,优化资源使用效率,执行基准测试,实施效率改进措施。
? 创意开发:构建多模态应用程序,生成可视化效果,创建测试场景与示例数据,开发独特用例。
独具特色的第19章
第19章的主题是如何通过与OpenAI API交互来开发完整的Java示例应用程序。
? 文本摘要(19.4.1节):调用OpenAI聊天API,针对作者的视频转录内容生成摘要及要点列表。此类文本响应称为“聊天补全”。
? 情感分析(19.4.2节):请求OpenAI聊天API分析转录文本的情感倾向,并解释生成式AI是如何推导出结论的。
? 无障碍图像描述(19.4.3节):该多模态应用程序将上传图像,要求OpenAI聊天API对4.3节的for循环UML图和阿鲁巴 海滩风景照片进行详细描述。
? 语言检测与翻译(19.4.4节):要求OpenAI聊天API将文本翻译为指定的目标语言(自动检测源语言)。示例完成了英语和西班牙语/日语的双向翻译,展示了生成式AI当前强大的多语言翻译能力。
? Java 代码生成(19.4.5节):调用OpenAI聊天API来生成Java代码,模拟投掷6亿次一枚六面骰子,并汇总结果。
? 命名实体识别与结构化输出(19.4.6节):演示如何生成指定格式的结构化JSON响应。该应用执行了一个称为“命名实体识别”(named entity recognition,NER)的“自然语言处理”(natural language processing,NLP)任务。该任务对文本中的日期、时间、数量、地点等实体进行定位和分类。为了使结果更容易处理,我们向API指定了确切的JSON响应格式,并使用第11章介绍的Jackson开源库处理结果。
? 语音转文字(19.5.1节):该多模态应用(语音+文本)将语音文件上传至OpenAI的Whisper模型,完成音频到文本的转录并返回结果。
? 文字转语音(19.5.2节):该多模态应用(语音+文本)将文本上传至OpenAI的TTS-1模型进行语音合成,示例使用同一音色将英、西、日三种语言文本转换为语音。
? 图像生成(19.6节):展示如何调用DALL-E API来生成图像,包括:黑色背景下霓虹色日本动漫风格的哈瓦那犬,以及梵高、达·芬奇风格的图像。
? 视频字幕生成(19.7.1节):该多模态无障碍应用(语音+文本+视频)提取视频音轨并转录为带时间戳的JSON文本,再通过聊天补全生成VTT格式的字幕。文中展示了VTT文本及视频字幕截图。
? 内容审核(19.8节):使用OpenAI的“内容审核API”来评估文本提示,从而检测骚扰、仇恨言论、暴力、自残及色情等有害或不当内容。
基于生成式AI API的Java编程练习
第19章提出了一些具有挑战性的项目练习,例如创建能够开展对话的生成式AI多媒体应用程序,以及使用生成式AI构建和解决填字游戏。我们将这94个练习提供给AI,要求它们提供分类摘要,然后我们对这些摘要进行总结。Claude生成的内容如下。
? 多模态应用程序。构建结合文本、图像、音频、语音和视频功能的综合工具;创建如互动书籍等集成体验;开发多媒体教育内容。
? 基于文本的应用程序。文档处理(索引、摘要、探索)、创意写作(故事、诗歌、辩论)、语言工具(翻译、语气重写)、专业文档创建(简历、演示文稿)、结构化输出。
? 图像处理应用程序。生成式艺术与设计(标志、时尚、平面图)、技术可视化(UML图)、图像分析与识别。
? 音频和音乐应用程序。语音处理(转录、语音克隆);音乐生成(MIDI、Magenta AI);多语言音频应用程序;播客和音频内容分析。
? 教育工具。编程导师(Java、编码练习);特定学科学习辅助工具(数学);课程内容创建;交互式教育体验。
? 游戏和拼图应用程序。拼图生成器和解谜器;交互式游戏开发。
? 视频。调研并实验生成式AI视频创建工具。
? 聊天机器人开发。基于角色的聊天体验;模拟专业领域专家的对话。
? 研究和分析工具。医疗应用(研究药物发现和个性化医疗);AI能力探索;文本检测和分析;教育研究。
? 创意应用程序。儿童书籍创作;互动故事讲述;艺术内容生成;创意写作。
? 实用工具和实用程序。文档生成器;翻译服务;内容摘要器;专业工具(简历筛选器、演示文稿创建器)。
生成式AI教学法的要点如下。
? 尝试多种生成式AI。对比不同工具的优势和劣势。
? 精通提示工程。设计高效提示以获取最佳结果,并建立个人的优质提示库。
? 警惕幻觉。始终审慎核查生成式AI的结果。
? 善用生成式AI的优势。将其作为Java学习的辅助工具,而非替代品。
? 遵守所在组织的生成式AI使用政策。
本书新增或者更新的内容
本书关键的新增与更新内容如下。
? “对象自然”案例学习。第1章深入浅出地介绍面向对象编程的基本概念和术语。在早期章节中,你将使用现有的Java API类创建并使用强大的对象,无需了解如何编写Java类或这些类的具体实现。第8章,开始创建自定义类。我们新增大量“对象自然”案例学习,String类(第2章);用于超大整数的BigInteger类(第3章);用于精确货币计算的BigDecimal类(第4章);日期/时间API(第5章);大小可动态调整的ArrayList类(第6章);用于查找文本模式的正则表达式(第7章);对称加密AES(第7章)和非对称加密RSA(第11章);其他章节也广泛使用了Java API和开源库中类的对象。
? 约600个生成式AI练习。大多数小节的末尾都包含“生成式AI练习”(共约450题),可以通过提示工程与生成式AI进行交互,从而拓展或巩固对当前小节所讲述的主题的理解。此外,许多章的末尾都有一个“专题:生成式AI练习”(共约150题),仿佛有数十位Java专家随时在为你解答学习中遇到的问题,帮助你深入探索感兴趣的主题,甚至协助你编写和调试Java代码。更妙的是,这些AI还相互竞争,不断推出新的版本,只为了向用户呈现最好的结果。
? 第19章:构建基于AI API的Java生成式AI应用程序。这一章展示如何在写代码时与OpenAI的API进行交互,涵盖了文本摘要、情感分析、图像描述(用于“无障碍访问”)、多语言翻译、Java代码生成、命名实体识别、语音转文字、文字转语音、视频字幕、图像生成等主题。另外,章末的94个练习涵盖了更多主题。
? 涵盖最新的Java语言特性、库特性和编程惯用法。为了保持书籍内容随Java新版本发布而更新,我们将持续在英文版博客( />? 简化现代面向对象编程。新增关于record(记录)类、sealed(密封)类/接口以及一个关于“面向接口编程,而非面向实现编程”的案例学习,重点在于组合关系 和依赖注入。
? 增强的文件处理功能。介绍如何使用Jackson开源库来输入输出JSON和CSV格式的数据,这些格式在当今的数据科学应用中非常流行。
? 调用流行的Web服务。介绍如何使用java.net.http包提供的Web联网功能来调用如OpenWeatherMap这样的服务。
? 特别专题。数据可视化与泰坦尼克号灾难数据集。介绍使用CSV格式的泰坦尼克号灾难数据集进行数据分析的基础知识。
? 密码学专题。包括对称加密(AES)和非对称加密(RSA),这两项技术在计算机隐私和安全领域至关重要。
? 数据清洗专题。介绍为训练自然语言处理(NLP)和生成式AI模型而准备文本时所需的简单数据清洗步骤,这是数据科学的关键技术之一。
? 第1章新增对元宇宙及其相关技术的讲解。简要探讨了元宇宙及其相关技术——虚拟现实(VR)、增强现实(AR)、混合现实(MR)、区块链、加密货币、非同质化代币(NFT)和Web3——以及软件开发技术、大数据,还有人工智能与计算机科学和数据科学的交叉领域。
? 增强JavaFX GUI、图形、动画和视频主题。这些技术将成为未来元宇宙的核心。我们要介绍JavaFX新增的CSS过渡效果,它们简化了动画实现。
? JavaFX游戏开发简介。在第17章中,要介绍使用开源FXGL库进行JavaFX游戏开发。
? JShell。Java的命令行REPL(读取-求值-输出循环)环境,便于快速探索和实验Java语言特性与库,提供类似于Python的交互式体验。
? 并发、并行与多核性能更新。针对Project Loom的关键技术进行更新,这些技术包括虚拟线程、结构化并发和作用域值等。
? 强化了对数据库主题的讲解。使用流行的SQLite数据库管理系统命令行工具交互式地讲解SQL。示例现在使用SQLite数据库。我们将旧版的Swing JTable替换为JavaFX TableView,以提供更好的外观、性能和定制能力。
? 提供大量增改的现代示例。
? 自Java 17引入的RandomGenerator。该类提供更强的随机数生成能力,适用于模拟场景。我们在安全场景中使用的是SecureRandom,例如在加密示例中。
? 大量编程技巧。数百条来自数十年编程教学经验的编程技巧已完全整合进本书正文。
? 应用程序编程案例学习。我们对现有的一些案例学习进行了增强,并新增了聚焦于AI与数据科学的案例学习,它们涉及随机数生成模拟、自然语言处理(NLP)、生成式AI与启发式编程等。
本书特色
本书具有以下特色。
? 语法着色与高亮显示。本书英文电子版采用与大多数IDE和代码编辑器相似的语法颜色对Java代码进行着色。本书印刷版则通过油墨的浓淡对语法进行高亮显示。
? 正文中的代码。正文中的代码采用等宽字体,例如,int x = 5;。
? 学习目标。每章开头列出该章的学习目标。
? 插图与图表。本书包含丰富的表格、线条图、UML图、程序代码和程序输出。
? 强调Java的标准用法。我们严格采用最新版《Java语言规范》( javase/specs)中的标准术语。此外,我们通过大量跨领域的实际开发案例(涵盖计算机科学、人工智能、数据科学等),系统展示了Java语言的标准实践方法。
? 把握现代Java技术脉络。为确保内容的先进性,我们系统研读了数千份最新技术资料,包括学术论文、技术白皮书、书籍、官方文档、博客文章、论坛讨论、在线研讨会及视频教程。同时,我们通过谷歌快讯(Google Alerts)持续监测数百个与Java、通用计算、人工智能及数据科学相关的关键词,实时捕捉技术演进趋势。
? 数百个现代示例与生成式AI练习。我们的代码示例和生成式AI练习涵盖了当前计算领域的热门话题。
? 性能优化。关注满足现代应用性能需求的技术和策略。
? 数据实战体验。第11章中,你将处理真实世界的文本数据,包括著名的泰坦尼克号灾难数据集(CSV格式),该数据集常用于数据分析的入门学习。
? 安全Java编程。构建能够抵御病毒和其他恶意软件攻击的工业级系统极具挑战性。在当今的互联网环境下,这类攻击的发生可以是瞬时且全球性的。从开发周期伊始就将安全性融入软件,能够显著减少系统漏洞。我们依据甲骨文公司的《Java SE安全编码指南》( />? 隐私保护。在ACM/IEEE 制定的计算机科学、信息技术和网络安全课程指南中,“隐私”一词被提及数百次。 每个程序员都必须重视隐私问题和相关考量。本书第7章和第11章将分别探讨密钥密码学(对称加密)和公钥密码学(非对称加密)技术。
? 伦理。在ACM/IEEE 制定的计算机科学、信息技术和网络安全课程指南中,“伦理”一词被提及超过百次。 在第1章和第19章的若干生成式AI练习中,我们将通过互联网搜索与生成式AI来研究伦理议题。具体包括:探索智能助手(如亚马逊 Alexa、苹果 Siri 及生成式AI语音功能)涉及的隐私与伦理问题,同时分析围绕OpenAI ChatGPT 、Dall-E 等生成式AI引发的行业热议与争议。
? 编程智慧。全书整合了数百条编程技巧,它们贯穿于正文各章中。
- 良好编程实践:强调有助于编写更清晰、更易理解、更易维护程序的技术。
- 常见错误:指出常见的编程错误,以降低犯错的可能性。
- 性能优化建议:突出可以提升程序运行速度或减少内存占用的机会。
- 软件工程观察:强调影响软件系统构建(尤其是大型系统)的架构与设计问题。
- 界面风格观察(第15章~第17章):介绍图形用户界面(GUI)的设计规范。这些 观察有助于设计出符合行业标准、美观且用户友好的GUI。
本书导读
前面对本书的模块化结构进行了概述,接下来要进行更详细的介绍。阅读本节时,建议同时参阅“高级概览”的内容。
本书前几章致力于帮助读者奠定坚实的Java基础,后续各章则循序渐进地引入中高级编程主题。书中将深入探讨以下6种编程范式:
? 过程式编程(第2章~第7章):采用我们独有的“对象自然”教学法加以强化;
? 面向对象编程(第8章~第10章);
? 泛型编程(第12章~第13章);
? 函数式编程(第14章);
? 并发编程(第18章);
? 第5版新增的生成式AI应用程序编程(第19章)。
无论你是需要熟悉教材内容的学生,还是正在进行课程规划的教师,抑或是在项目准备阶段考虑研读哪些章节的专业软件开发人员,这部分内容都将帮助你做出明智的决策。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2026 (香港)大書城有限公司  All Rights Reserved.