首页>参考读物>计算机科学与技术>软件与程序设计

深入理解Java 7:核心技术与最佳实践
作者 : 成富 著
出版日期 : 2012-05-02
ISBN : 978-7-111-38039-9
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 467
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是学习Java 7新功能和新特性以及深入理解Java核心技术的最佳选择之一。
经过近6年的等待,Java迎来了它的又一个历史性的版本——Java 7。Java 7在提高开发人员的生产效率、平台性能和模块方向上又迈进了一步,变得更加强大和灵活。本书不仅对Java 7的所有重要更新进行了全面的解读,而且还对Java平台的核心技术的底层实现进行了深入探讨,包含大量最佳实践。
全书的主要内容可分为三大部分:第一部分是1~6章,全面阐释Java 7在语法、JVM、类库和API等方面的所有重要新功能和新特性,掌握这部分内容有助于大幅度提升编码效率和提高代码质量;第二部分是7~13章,对JVM、Java源代码和字节代码操作、类加载器、对象生命周期、多线程、并发编程、泛型、安全等Java平台的核心技术进行了深入解析,掌握这部分内容有助于深入理解Java的底层原理;第三部分为第14章,是对Java 8的展望,简要介绍了Java 8中将要增加的新特性。

图书特色

深入理解Java 7
核心技术与最佳实践
UNDERSTANDING THE JAVA 7
成富 著
封面:全面阐释Java 7在语法、JVM、API类库等方面的所有重要新功能和新特性,可帮助开发者大幅度提升编码效率和代码质量
对JVM、源代码和字节代码操作、类加载器、对象生命周期、多线程、并发编程、泛型、安全等Java平台的核心技术进行深入解析,包含大量最佳实践

封底:
Java 7六年磨一剑,它在前一个版本上发生了很大的变化,引入了非常多激动人心的新特性和新功能,在语法、Java虚拟机、I/O、安全性、并发和国际化等方面都有重要的更新。作为国内第一本Java 7方面的专著,本书全面介绍了这些重要的更新,对有一定开发经验的Java程序员来说非常宝贵,能极大地降低他们的学习成本。此外,本书 还探讨了各项Java技术的底层原理,对于想深入学习Java的读者尤为有价值。强烈推荐!
——51CTO(www.51cto.com) 中国领先的IT技术网站

长期以来,Java一直雄踞TIOBE编程语言排行榜的首位,它拥有人数最庞大的开发者社区。Java的每一次版本更新都会对语言、虚拟机和API类库等进行重要更新,Java 7这个版本尤为明显。Java 7的一个显著改变就是它提供的新特性能让开发者通过简化代码来提升开发效率和编码质量。本书以“深入理解”为宗旨,对Java 7中新增的内容和之前版本中已经非常成熟的核心技术都进行了非常深入的讨论,是系统学习Java 7和Java技术进阶的必备参考书。书中还给出了非常多的代码示例,可以帮助读者更好地在实际中应用这些知识。
——秦小波 资深Java技术专家
著有畅销书《设计模式之禅》和《编写高质量代码:改善Java程序的151个建议》

学习一门技术,要想做到“知其然”并不难,难的是要“知其所以然”,而且这更重要,也是考查一个技术人员真实实力的标杆。想跨越这个标杆,除了自己付出时间和精力之外,高人的点拨和指导更能起到事半功倍之效。成富是InfoQ中文站的资深专栏作者,从读者对他的“Java深度历险”系列技术文章的反馈可以看出:他不仅能帮你“知其然”,而且还能通过深入浅出的讲解让你“知其所以然”。他的这本书一定能让你的Java技能更上一层楼。
——郑柯 InfoQ中文站总编辑
作者简介
成 富 资深Java软件工程师,有多年Java企业级应用开发经验,对Java 7和Java平台的各项技术的底层原理有深入透彻的研究。曾就职于IBM中国研发中心,先后在IBM新技术学院和Lotus部门参与了多个重要产品的开发工作,现就职于新西兰PropellerHead公司。他是非常受欢迎的技术作家,在IBM developerWorks上发表中英文技术文章近30篇,获得了其颁发的“极具人气作者奖”;他还是知名技术网站InfoQ的专栏作家,撰写了“Java深度历险”专栏,共发表技术文章10余篇。此外,他还非常精通HTML 5、CSS 3、JavaScript等Web 2.0核心技术,实战经验丰富。

前:
随着各种新的需求和应用场景的不断出现,新的软件开发思想和程序设计语言也层出不穷。虽然Java语言多年来一直稳坐编程语言排行榜的头把交椅,但是它近年来也面临着其他语言的冲击。首先是因为互联网的发展而带来的各种动态语言,动态语言的灵活性带来了开发效率的极大提升,Java语言的静态类型特点限制了开发人员编码时的创造性与灵活性;其次是Groovy、Scala、JRuby等运行在Java虚拟机上的语言,它们既有简洁优雅的语法,又能充分利用Java虚拟机的资源,极具竞争力。于是各种唱衰Java的悲观论调在社区里此起彼伏。Java 7的发布是对这些悲观论调的有力回应,同时也让开发者社区看到了Oracle执掌Java后Java的发展前景,给了开发者信心。
面对这种现状,Java平台正沿着三个重要方向发展:第一,提高开发人员的生产效率,尽可能在保证健壮性的同时降低语法的复杂度;第二,提高平台的性能,新的Java技术要能让Java应用充分利用硬件升级(多核CPU和多CPU架构)所带来的性能提升;第三,模块化,通过把Java平台提供的类库划分为相互依赖的不同模块,不仅可以提升程序员的开发效率,而且还能提升应用的运行速度。
本书不仅全面阐释了Java 7在这三个方面的所有重要更新,而且通过大量最佳实践深入探讨了Java平台的各种核心技术的底层实现,是系统学习Java 7新功能和新特性以及充分理解Java核心技术的最佳选择之一。

图书前言

为什么要写这本书
  我最早开始接触Java语言是在大学的时候。当时除了用Java开发一些小程序之外,就是用Struts框架开发Web应用。在后来的实习和工作中,我对Java的使用和理解更加深入,逐渐涉及Java相关的各种不同技术。使用Java语言的一个深刻体会是:Java语言虽然上手容易,但是要真正掌握并不容易。
  Java语言对开发人员屏蔽了一些与底层实现相关的细节,但是仍然有很多内容对开发人员来说是很复杂的,这些内容恰好是容易出现错误的地方。我在工作中就经常遇到与类加载器和垃圾回收相关的问题。在解决这些问题的过程中,我积累了一些经验,遇到类似的问题可以很快地找到问题的根源。同时,在解决这些实际问题的过程中,我意识到虽然可以解决某些具体的问题,但是并没有真正理解这些问题的解决办法背后所蕴含的基本原理,仍然还只是处于一个“知其然,不知其所以然”的状态。于是我开始阅读Java相关的基础资料,包括Java语言规范、Java虚拟机规范、Java类库的源代码和其他在线资料等。在阅读的基础上,编写小程序进行测试和试验。通过阅读和实践,我对Java平台中的一些基本概念有了更加深入的理解。从2010年开始,我对积累的相关知识进行了整理,在InfoQ中文站的“Java深度历险”专栏上发表出来,受到了一定的关注。
  2011年7月,在时隔数年之后,Java的一个重大版本Java SE 7发布了。在这个新的版本中,Java平台增加了很多新的特性。在Java虚拟机方面,invokedynamic指令的加入使虚拟机上的动态语言的性能得到很大的提升。这使得开发人员可以享受到动态语言带来的在提高生产效率方面的好处。在Java语言方面,语言本身的进一步简化,使开发人员编写代码的效率更高。在Java类库方面,新的IO库和同步实用工具类为开发人员提供了更多实用的功能。从另外一个角度来说,Java SE 7是Oracle公司收购Sun公司之后发布的第一个Java版本,从侧面反映出了Oracle公司对Java社区的领导力,可以继续推动Java平台向前发展。这可以打消企业和社区对于Oracle公司领导力的顾虑。Java SE 7的发布也证明了基于JCP和OpenJDK的社区驱动模式可以很好地推动Java向前发展。
  随着新版本的发布,肯定会有越来越多的开发人员想尝试使用Java SE 7中的新特性,毕竟开发者社区对这个新版本期待了太长的时间。在Java程序中使用这些新特性,可以提高代码质量,提升工作效率。Java平台的每个版本都致力于提高Java程序的运行性能。随着新版本的发布,企业都应该考虑把Java程序的运行平台升级到最新的Java SE 7,这样可以享受到性能提升所带来的好处。对于新的Java程序开发,推荐使用Java SE 7作为标准的运行平台。本书将Java SE 7中的新特性介绍和对Java平台的深入探讨结合起来,让读者既可以了解最新版本的Java平台的新特性,又可以对Java平台的底层细节有更加深入的理解。
  读者对象及如何阅读本书
  本书面向的主要读者是具备一定Java基础的开发人员和在校学生。本书中不涉及Java的基本语法,因此不适合Java初学者阅读。如果只对Java SE 7中的新特性感兴趣,可以阅读第1章到第6章;如果对Java中的特定主题感兴趣,可以根据目录有选择地阅读。另外,第1章到第6章虽然以Java SE 7的新特性介绍为主,但是其中也穿插了对相关内容的深入探讨。
  本书可分为三大部分:
  第一部分为Java SE 7新特性介绍,从第1章到第6章。这部分详细地介绍了Java SE 7中新增的重要特性。在对新特性的介绍中,也包含了对Java平台相关内容的详细介绍。
  第二部分为Java SE 7的深入探讨,从第7章到第13章。这部分着重讲解了Java平台上的底层实现,并对一些重要的特性进行了深入探讨。这个部分所涉及的内容包括Java虚拟机、Java源代码和字节代码操作、Java类加载器、对象生命周期、多线程与并发编程实践、Java泛型和Java安全。
  第三部分为Java SE 8的内容展望,即第14章。这部分简要介绍了Java SE 8中将要增加的新特性。
  本书还通过两个附录对OpenJDK(附录A)和Java语言的历史(附录B)进行了简要的介绍。
勘误和支持
  由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果您有更多的宝贵意见,欢迎发送邮件至邮箱alexcheng1982@gmail.com,也可以通过微博(http://weibo.com/alexcheng1982)与我取得联系。期待能够得到您的真挚反馈。
  本书官方微群:http://q.weibo.com/943166。
  本书中的源代码请至机工新阅读网站(www.cmpreading.com)本书页面进行下载。
致谢
  感谢InfoQ中文站和InfoQ编辑张凯峰先生。这本书能够面世,得益于我在InfoQ中文站的“Java深度历险”专栏上发表的文章。
  感谢机械工业出版社华章分社的编辑杨福川和姜影的辛勤工作,使得这本书能够最终顺利完成。
  感谢家人和朋友对我的支持与帮助!

上架指导

计算机\程序设计

封底文字

Java 7六年磨一剑,它在前一个版本上发生了很大的变化,引入了非常多激动人心的新特性和新功能,在语法、Java虚拟机、I/O、安全性、并发和国际化等方面都有重要的更新。作为国内第一本Java 7方面的专著,本书全面介绍了这些重要的更新,对有一定开发经验的Java程序员来说非常宝贵,能极大地降低他们的学习成本。此外,本书还探讨了各项Java技术的底层原理,对于想深入学习Java的读者尤为有价值。强烈推荐!
——51CTO(www.51cto.com) 中国领先的IT技术网站
长期以来,Java一直雄踞TIOBE编程语言排行榜的首位,它拥有人数最庞大的开发者社区。Java的每一次版本更新都会对语言、虚拟机和API类库等进行重要更新,Java 7这个版本尤为明显。Java 7的一个显著改变就是它提供的新特性能让开发者通过简化代码来提升开发效率和编码质量。本书以“深入理解”为宗旨,对Java 7中新增的内容和之前版本中已经非常成熟的核心技术都进行了非常深入的讨论,是系统学习Java 7和Java技术进阶的必备参考书。书中还给出了非常多的代码示例,可以帮助读者更好地在实际中应用这些知识。
——秦小波 资深Java技术专家/著有畅销书《设计模式之禅》和《编写高质量代码:改善Java程序的151个建议》
学习一门技术,要想做到“知其然”并不难,难的是要“知其所以然”,而且这更重要,也是考察一个技术人员真实实力的标杆。想跨越这个标杆,除了自己付出时间和精力之外,高人的点拨和指导更能起到事半功倍之效果。成富是InfoQ中文站的资深专栏作者,从读者对他的“Java深度历险”系列技术文章的反馈可以看出:他不仅能帮你“知其然”,而且还能通过深入浅出的讲解让你“知其所以然”。他的这本书一定能让你的Java技能更上一层楼。
——郑柯 InfoQ中文站总编辑
作者简介
成 富 资深Java软件工程师,有多年Java企业级应用开发经验,对Java 7和Java平台的各项技术的底层原理有深入透彻的研究。曾就职于IBM中国研发中心,先后在IBM新技术学院和Lotus部门参与了多个重要产品的开发工作,现就职于新西兰PropellerHead公司。他是非常受欢迎的技术作家,在IBM developerWorks上发表中英文技术文章近30篇,获得了其颁发的“极具人气作者奖”;他还是知名技术网站InfoQ的专栏作家,撰写了“Java深度历险”专栏,共发表技术文章10余篇。此外,他还非常精通HTML 5、CSS 3、JavaScript等Web 2.0核心技术,实战经验丰富。

作者简介

成富 著:暂无简介

图书目录

前 言
Java的挑战与展望
第1章 Java 7语法新特性 / 1
1.1 Coin项目介绍 / 1
1.2 在switch语句中使用字符串 / 2
1.2.1 基本用法 / 2
1.2.2 实现原理 / 3
1.2.3 枚举类型 / 5
1.3 数值字面量的改进 / 5
1.3.1 二进制整数字面量  / 6
1.3.2 在数值字面量中使用下划线 / 6
1.4 优化的异常处理 / 7
1.4.1 异常的基础知识 / 7
1.4.2 创建自己的异常 / 8
1.4.3 处理异常 / 12
1.4.4 Java 7的异常处理新特性 / 14
1.5 try-with-resources语句 / 17
1.6 优化变长参数的方法调用 / 19
1.7 小结 / 21
第2章 Java语言的动态性 / 22
2.1 脚本语言支持API / 22
2.1.1 脚本引擎 / 23
2.1.2 语言绑定 / 24
2.1.3 脚本执行上下文 / 25
2.1.4 脚本的编译 / 27
2.1.5 方法调用 / 28
2.1.6 使用案例 / 29
2.2 反射API / 31
2.2.1 获取构造方法 / 32
2.2.2 获取域 / 34
2.2.3 获取方法 / 34
2.2.4 操作数组 / 35
2.2.5 访问权限与异常处理 / 36
2.3 动态代理 / 36
2.3.1 基本使用方式 / 36
2.3.2 使用案例 / 40
2.4 动态语言支持 / 42
2.4.1 Java语言与Java虚拟机 / 43
2.4.2 方法句柄 / 44
2.4.3 invokedynamic指令 / 66
2.5 小结 / 73
第3章 Java I/O / 75
3.1 流 / 75
3.1.1 基本输入流 / 76
3.1.2 基本输出流 / 77
3.1.3 输入流的复用 / 78
3.1.4 过滤输入输出流 / 80
3.1.5 其他输入输出流 / 81
3.1.6 字符流 / 81
3.2 缓冲区 / 82
3.2.1 基本用法 / 83
3.2.2 字节缓冲区 / 84
3.2.3 缓冲区视图 / 86
3.3 通道 / 87
3.3.1 文件通道 / 88
3.3.2 套接字通道 / 93
3.4 NIO.2 / 98
3.4.1 文件系统访问 / 98
3.4.2 zip/jar文件系统 / 106
3.4.3 异步I/O通道 / 108
3.4.4 套接字通道绑定与配置 / 111
3.4.5 IP组播通道 / 111
3.5 使用案例 / 113
3.6 小结 / 115
第4章 国际化与本地化 / 117
4.1 国际化概述 / 117
4.2 Unicode / 118
4.2.1 Unicode编码格式 / 119
4.2.2 其他字符集 / 124
4.2.3 Java与Unicode / 124
4.3 Java中的编码实践 / 125
4.3.1 Java NIO中的编码器和解码器 / 126
4.3.2 乱码问题详解 / 130
4.4 区域设置 / 133
4.4.1 IETF BCP 47 / 134
4.4.2 资源包 / 135
4.4.3 日期和时间 / 143
4.4.4 数字和货币 / 144
4.4.5 消息文本 / 146
4.4.6 默认区域设置的类别 / 148
4.4.7 字符串比较 / 148
4.5 国际化与本地化基本实践 / 149
4.6 小结 / 152
第5章 图形用户界面 / 153
5.1 Java图形用户界面概述 / 153
5.2 AWT / 156
5.2.1 重要组件类 / 156
5.2.2 任意形状的窗口 / 157
5.2.3 半透明窗口 / 158
5.2.4 组件混合 / 159
5.3 Swing / 159
5.3.1 重要组件类 / 159
5.3.2 JLayer组件和LayerUI类 / 161
5.4 事件处理与线程安全性 / 163
5.4.1 事件处理 / 163
5.4.2 事件分发线程 / 165
5.4.3 SwingWorker类 / 167
5.4.4 SecondaryLoop接口 / 169
5.5 界面绘制 / 170
5.5.1 AWT中的界面绘制 / 170
5.5.2 Swing中的绘制 / 171
5.6 可插拔式外观样式 / 172
5.7 JavaFX / 175
5.7.1 场景图 / 175
5.7.2 变换 / 177
5.7.3 动画效果 / 177
5.7.4 FXML / 179
5.7.5 CSS外观描述 / 181
5.7.6 Web引擎与网页显示 / 182
5.8 使用案例 / 183
5.9 小结 / 185
第6章 Java 7其他重要更新 / 186
6.1 关系数据库访问 / 186
6.1.1 使用try-with-resources语句 / 186
6.1.2 数据库查询的默认模式 / 187
6.1.3 数据库连接超时时间与终止 / 188
6.1.4 语句自动关闭 / 189
6.1.5 RowSet实现提供者 / 190
6.2 java.lang包的更新 / 191
6.2.1 基本类型的包装类 / 191
6.2.2 进程使用 / 192
6.2.3 Thread类的更新 / 194
6.3 Java实用工具类 / 195
6.3.1 对象操作 / 195
6.3.2 正则表达式 / 197
6.3.3 压缩文件处理 / 200
6.4 JavaBeans组件 / 201
6.4.1 获取组件信息 / 201
6.4.2 执行语句和表达式 / 202
6.4.3 持久化 / 202
6.5 小结 / 203
第7章 Java虚拟机 / 205
7.1 虚拟机基本概念 / 205
7.2 内存管理 / 206
7.3 引用类型 / 208
7.3.1 强引用 / 209
7.3.2 引用类型基本概念 / 211
7.3.3 软引用 / 213
7.3.4 弱引用 / 215
7.3.5 幽灵引用 / 217
7.3.6 引用队列 / 220
7.4 Java本地接口 / 221
7.4.1 JNI基本用法 / 221
7.4.2 Java程序中集成C/C++代码 / 225
7.4.3 在C/C++程序中启动Java虚拟机 / 227
7.5 HotSpot虚拟机 / 228
7.5.1 字节代码执行 / 229
7.5.2 垃圾回收 / 229
7.5.3 启动参数 / 235
7.5.4 分析工具 / 236
7.5.5 Java虚拟机工具接口 / 241
7.6 小结 / 244
第8章 Java源代码和字节代码操作 / 245
8.1 Java字节代码格式 / 245
8.1.1 基本格式 / 246
8.1.2 常量池的结构 / 248
8.1.3 属性 / 249
8.2 动态编译Java源代码 / 249
8.2.1 使用javac工具 / 250
8.2.2 Java编译器API / 251
8.2.3 使用Eclipse JDT编译器 / 254
8.3 字节代码增强 / 257
8.3.1 使用ASM / 258
8.3.2 增强代理 / 267
8.4 注解 / 271
8.4.1 注解类型 / 271
8.4.2 创建注解类型 / 273
8.4.3 使用注解类型 / 274
8.4.4 处理注解 / 275
8.5 使用案例 / 284
8.6 小结 / 286
第9章 Java类加载器 / 287
9.1 类加载器概述 / 287
9.2 类加载器的层次结构与代理模式 / 288
9.3 创建类加载器 / 290
9.4 类加载器的隔离作用 / 294
9.5 线程上下文类加载器 / 296
9.6 Class.forName方法 / 298
9.7 加载资源 / 299
9.8 Web应用中的类加载器 / 301
9.9 OSGi中的类加载器 / 303
9.9.1 OSGi基本的类加载器机制 / 303
9.9.2 Equinox框架的类加载实现机制 / 303
9.9.3 Equinox框架嵌入到Web容器中 / 306
9.10 小结 / 308
第10章 对象生命周期 / 309
10.1 Java类的链接 / 309
10.2 Java类的初始化 / 311
10.3 对象的创建与初始化 / 312
10.4 对象终止 / 314
10.5 对象复制 / 318
10.6 对象序列化 / 322
 10.6.1 默认的对象序列化 / 324
 10.6.2 自定义对象序列化 / 326
 10.6.3 对象替换 / 329
 10.6.4 版本更新 / 330
 10.6.5 安全性 / 331
 10.6.6 使用Externalizable接口 / 332
10.7 小结 / 334
第11章 多线程与并发编程实践 / 335
11.1 多线程 / 335
 11.1.1 可见性 / 336
 11.1.2 Java内存模型 / 339
 11.1.3 volatile关键词 / 340
 11.1.4 final关键词 / 341
 11.1.5 原子操作 / 342
11.2 基本线程同步方式 / 343
 11.2.1 synchronized关键词 / 343
 11.2.2 Object类的wait、notify和notifyAll方法 / 344
11.3 使用Thread类 / 346
 11.3.1 线程状态 / 346
 11.3.2 线程中断 / 347
 11.3.3 线程等待、睡眠和让步 / 348
11.4 非阻塞方式 / 349
11.5 高级实用工具 / 352
 11.5.1 高级同步机制 / 352
 11.5.2 底层同步器 / 355
 11.5.3 高级同步对象 / 357
 11.5.4 数据结构 / 363
 11.5.5 任务执行 / 365
11.6 Java SE 7新特性 / 368
 11.6.1 轻量级任务执行框架fork/join / 368
 11.6.2 多阶段线程同步工具 / 370
11.7 ThreadLocal类 / 373
11.8 小结 / 374
第12章 Java泛型 / 375
12.1 泛型基本概念 / 375
12.2 类型擦除 / 378
12.3 上界和下界 / 382
12.4 通配符 / 384
12.5 泛型与数组 / 385
12.6 类型系统 / 388
12.7 覆写与重载 / 391
 12.7.1 覆写对方法类型签名的要求 / 391
 12.7.2 覆写对返回值类型的要求 / 395
 12.7.3 覆写对异常声明的要求 / 396
 12.7.4 重载 / 396
12.8 类型推断和<>操作符 / 397
12.9 泛型与反射API / 400
12.10 使用案例 / 402
12.11 小结 / 403
第13章 Java安全 / 405
13.1 Java安全概述 / 405
13.2 用户认证 / 406
 13.2.1 主体、身份标识与凭证 / 406
 13.2.2 登录 / 407
13.3 权限控制 / 415
 13.3.1 权限、策略与保护域 / 416
 13.3.2 访问控制权限 / 418
 13.3.3 特权动作 / 420
 13.3.4 访问控制上下文 / 421
 13.3.5 守卫对象 / 423
13.4 加密与解密、报文摘要和数字签名 / 424
 13.4.1 Java密码框架 / 424
 13.4.2 加密与解密 / 425
 13.4.3 报文摘要 / 427
 13.4.4 数字签名 / 428
13.5 安全套接字连接 / 430
 13.5.1 SSL协议 / 431
 13.5.2 HTTPS / 432
13.6 使用案例 / 434
13.7 小结 / 437
第14章 超越Java 7 / 438
14.1 lambda表达式 / 438
 14.1.1 函数式接口 / 439
 14.1.2 lambda表达式的语法 / 440
 14.1.3 目标类型 / 440
 14.1.4 词法作用域 / 441
 14.1.5 方法引用 / 442
 14.1.6 接口的默认方法 / 443
14.2 Java平台模块化 / 444
14.3 Java SE 8的其他更新 / 445
14.4 小结 / 445
附录A OpenJDK / 446
附录B Java简史 / 448

教学资源推荐
作者: [美]雷蒙德·盖拉多(Raymond Gallardo) 斯科特·霍梅尔(Scott Hommel) 索娅·坎南(Sowmya Kannan) 琼尼·戈登(Joni Gordon) 沙伦·比奥卡·扎卡沃(Sharon Biocca Zakhour)著
作者: [美]埃里克 S. 罗伯茨(Eric S. Roberts) 著
作者: 郑阿奇 主编 王燕平 汤玫 编著
作者: 史涯晴 贺汛 编著
参考读物推荐
作者: (美)Matt Neuburg 著
作者: Cedric Beust;Hani Suleiman
作者: 王秀文 郭明鑫 王宇韬 编著