{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
free FREE

Change Your Zip Code

Inventory information and delivery speeds may vary for different locations.

Location History

{{email ? __('Got it!') : __('Restock Alert')}}

We will notify you by email when the item back in stock.

Cancel
Yami

Jingdong book

Java编程思想(英文版)(第4版)

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

Java编程思想(英文版)(第4版)

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
Ends in
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
Sale ends in
Sale will starts after Sale ends in
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) Details
Best before

Currently unavailable.

We don't know when or if this item will be back in stock.

Unavailable in your area.
Sold Out

Details

Full product details
Editer Recommend


本书曾荣获:
2003年《Software Development》杂志Jolt大奖
2002年《Java Developer’s Journal》读者选择图书奖
2001年《Java World》杂志编辑推荐图书奖
2000年《Java World》读者选择图书奖
1999年《Software Development》杂志产品奖
1998年《Java Developer’s Journal》编辑推荐图书奖
本书赢得了全球程序员的广泛赞誉,即使是晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到极高级特性,本书都能逐步指导你轻松掌握。

Content Description

本书特色:
·适合初学者与专业人员的经典的面向对象的叙述方式;为更新的Java SE5/6的相关内容增加了新的示例和章节。
·测验框架显示程序输出。
·设计模式贯穿于众多示例中:适配器、桥接器、职责链、命令、装饰器、外观、工厂方法、享元、点名、数据传输对象、空对象、代理、单例、状态、策略、模板方法以及访问者。
·为数据传输引入了XML;为用户界面引入了SWT和Flash。
·重新撰写了有关并发的章节,使您能牢牢地掌握线程的相关知识。
·专门为第4版以及Java SE5/6重写了在700多个编译文件中的500多个程序。
·支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。
·完全覆盖了所有基础知识,同时也论述了高级特性。
·详细彻底地阐述了面向对象原理。
·在线可获得Java讲座CD,包含Bruce Eckel的全部多媒体讲座。
Author Description

Bruce Eckel是Mind View公司的总裁,该公司向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一,拥有应用物理学学士和计算机工程硕士学位。除本书外,他还是《C++编程思想》(该书景印版及翻译版已由机械工业出版社引进出版)的作者,并与人合著了《C++编程思想 第2卷》及其他著作。他已经发表了150多篇论文,还经常参加世界各地的研讨会并进行演讲。
Catalogue

读者评论
前言
简介
第1章 对象导论
1.1抽象过程
1.2每个对象都有一个接口
1.3每个对象都提供服务
1.4被隐藏的具体实现
1.5复用具体实现
1.6继承
1.6.1“是一个”(is-a)与“像是一个”(is-like-a)关系
1.7伴随多态的可互换对象
1.8单根继承结构
1.9容器
1.9.1 参数化类型(范型)
1.10对象的创建和生命期
1.11异常处理:处理错误
1.12并发编程
1.13Java与Internet
1.13.1Web是什么
1.13.2 客户端编程
1.13.3服务器端编程
1.22总结
第2章一切都是对象
2.1用引用操纵对象
2.2必须由你创建所有对象
2.2.1存储到什么地方
2.2.2特例:基本类型
2.2.3Java中的数组
2.3永远不需要销毁对象
2.3.1作用域
2.3.2对象的作用域
2.4创建新的数据类型:类
2.4.1 域和方法
2.4.2 基本成员默认值
2.5方法、参数和返回值
2.5.1 参数列表
2.6构建一个Java程序
2.6.1名字可见性
2.6.2运用其他构件
2.6.3static 关键字
2.7你的第一个Java程序
编译和运行
2.8注释和嵌入式文档
2.8.1注释文档
2.8.2语法
2.8.3嵌入式HTML
2.8.4一些标签示例
2.8.5文档示例
2.9编码风格
2.10总结
2.11练习
第3章操作符
3.1更简单的打印语句
3.2使用Java操作符
3.3优先级
3.4赋值
3.4.1 方法调用中的别名问题
3.5算术操作符
3.5.1 一元加、减操作符
3.6自动递增和递减
3.7关系操作符
3.7.1 测试对象的等价性
3.8逻辑操作符
3.8.1短路
3.9 直接常量
3.9.1 指数记数法
3.10按位操作符
3.11移位操作符
3.12三元操作符 if-else
3.13字符串操作符 + 和 +=
3.14使用操作符时常犯的错误
3.15类型转换操作符
3.15.1 截尾和舍入
3.15.2提升
3.16Java没有“sizeof”
3.17操作符小结
3.18总结
第4章控制执行流程
4.1true和false
4.2if-else
4.3迭代
4.3.1do-while
4.3.2for
4.3.3逗号操作符
4.4Foreach语法
4.5return
4.6break和 continue
4.7臭名昭著的“goto”
4.8switch
4.9总结
第5章初始化与清理
5.1用构造器确保初始化
5.2方法重载
5.2.1区分重载方法
5.2.2涉及基本类型的重载
5.2.3以返回值区分重载方法
5.3缺省构造器
5.4this关键字
5.4.1 在构造器中调用构造器
5.4.2 static的含义
5.5清理:终结处理和垃圾回收
5.5.1finalize()的用途何在
5.5.2你必须实施清理
5.5.3终结条件
5.5.4垃圾回收器如何工作
5.6成员初始化
5.6.1指定初始化
5.7构造器初始化
5.7.1初始化顺序
5.7.2. 静态数据的初始化
5.7.3. 显式的静态初始化
5.7.4. 非静态实例初始化
5.8数组初始化
5.8.1 可变参数列表
5.9枚举类型
5.10总结
第6章访问权限控制
6.1包:库单元
6.1.1 代码组织
6.1.2创建独一无二的包名
6.1.3定制工具库
6.1.4用 import改变行为
6.1.5对使用包的忠告
6.2Java访问权限修饰词
6.2.1包访问权限
6.2.2public:接口访问权限
6.2.3private: 你无法访问
6.2.4protected:继承访问权限
6.3接口和实现
6.4类的访问权限
6.5总结
第7章复用类
7.1组合语法
7.2继承语法
7.2.1 初始化基类
7.3 代理
7.4结合使用组合和继承
7.4.1确保正确清理
7.4.2名称屏蔽
7.5在组合与继承之间选择
7.6protected关键字
7.7向上转型
7.7.1 为什么称为“向上转型”?
7.7.2 再论组合与继承
7.8final关键字
7.8.1final 数据
7.8.2final 方法
7.8.3final 类
7.8.4有关final的忠告
7.9初始化及类的加载
7.9.1 继承与初始化
7.10总结
第8章多态
8.1再论向上转型
8.1.1 忘记对象类型
8.2转机
8.2.1方法调用绑定
8.2.2产生正确的行为
8.2.3可扩展性
8.2.4缺陷:“覆盖”私有方法
8.2.5缺陷:域与静态方法
8.3构造器和多态
8.3.1构造器的调用顺序
8.3.2继承与清理
8.3.3构造器内部的多态方法的行为
第9章接口
9.1抽象类和抽象方法
9.2接口
9.3 完全解耦
9.4Java中的“多重继承”
9.5通过继承来扩展接口
9.5.1 组合接口时的名字冲突
9.6 适配接口
9.7接口中的域
9.7.1初始化接口中的域
9.8嵌套接口
9.9接口与工厂
9.10 总结
第10章内部类
10.1 创建内部类
10.2链接到外部类
10.3 使用.this与.new
10.4内部类与向上转型
10.5在方法和作用域内的内部类
10.6匿名内部类
10.6.1 再访工厂方法
10.7嵌套类
10.7.1 接口内部的类
10.7.2从多层嵌套类中访问外部类的成员
10.8为什么需要内部类
10.8.1闭包与回调
10.8.2内部类与控制框架
10.9内部类的继承
10.10内部类可以被覆盖吗
10.11局部内部类
10.12内部类标识符
10.13总结
第11章持有对象
11.1泛型和类型安全的容器
11.2基本概念
11.3添加一组元素
11.4容器的打印
11.5List
11.6迭代器
11.6.1 ListIterator
11.7 LinkedList
11.8 Stack
11.9 Set
11.10 Map
11.11 Queue
11.11.1 PriorityQueue
11.12 Collection和Iterator
11.13 Foreach与迭代器
11.13.1 适配器方法惯用法
11.14 总结
第12章通过异常处理错误
12.1 概念
12.2基本异常
12.2.1 异常参数
12.3捕获异常
12.3.1try块
12.3.2异常处理程序
12.4创建自定义异常
12.4.1 异常与记录日志
12.5异常说明
12.6捕获所有异常
12.6.1栈轨迹
12.6.2重新抛出异常
12.6.3异常链
12.7Java标准异常
12.7.1 特例: RuntimeException(运行时异常)
12.8使用finally进行清理
12.8.1finally用来做什么
12.8.2在return中使用finally
12.8.3缺憾:异常丢失
12.9异常的限制
12.10构造器
12.11异常匹配
12.12其他可选方式
12.12.1历史
12.12.2观点
12.12.3把异常传递给控制台
12.12.4把“受检查异常”转换为“不受检查的异常”
12.13异常使用指南
12.14总结
第13章字符串
13.1不可变String
13.2重载"+"与StringBuilder
13.3无意识的递归
13.4String上的操作
13.5格式化输出
13.5.1printf()
13.5.2System.out.format()
13.5.3Formatter类
13.5.4格式化说明符
13.5.5Formatter转换
13.5.6String.format()
13.6正则表达式
13.6.1基础
13.6.2创建正则表达式
13.6.3限定符
13.6.4Pattern和Matcher
13.6.5split()
13.6.6替换操作
13.6.7reset()
13.6.8正则表达式与Java I/O
13.7扫描输入
13.7.1Scanner定界符
13.7.2用正则表达式扫描
13.8StringTokenizer
13.9总结
第14章类型信息
14.1为什么需要RTTI
14.2Class对象
14.2.1 类字面常量
14.2.2 泛化的Class引用
14.2.3 新的转型语法
14.3类型转换前先做检查
14.3.1 使用类字面常量
14.3.2 动态instanceof
14.3.3 递归计数
14.4 注册工厂
14.5 instanceof 与 Class的等价性
14.6 反射:运行时类信息
14.6.1 类方法抽取器
14.7 动态代理
14.8 空对象
14.8.1 模拟对象与桩
14.9 接口与类型信息
14.10 总结
第15章泛型
15.1与C++的比较
15.2简单泛型
15.2.1一个元组类库
15.2.2一个栈类
15.2.3RandomList
15.3泛型接口
15.4泛型方法
15.4.1利用类型参数推断
15.4.2可变参数与泛型方法
15.4.3用于Generator的泛型方法
15.4.4一个通用的Generator
15.4.5简化元组的使用
15.4.6一个Set实用工具
15.5匿名内部类
15.6构建复杂模型
15.7擦除的神秘之处
15.7.1C++的方式
15.7.2迁移的可兼容性
15.7.3擦除的问题
15.7.4边界处的动作
15.8擦除的补偿
15.8.1创建类型实例
15.8.2泛型数组
15.9边界
15.10通配符
15.10.1编译器有多聪明?
15.10.2抗变
15.10.3无界通配符
15.10.4捕获转换
15.11问题
15.11.1任何基本类型都不能作为类型参数
15.11.2实现参数化接口
15.11.3转型和警告
15.11.4重载
15.11.5基类劫持了接口
15.12自限定的类型
15.12.1离奇的循环泛型
15.12.2自限定
15.12.3参数协变
15.13动态类型安全
15.14异常
15.15混用
15.15.1C++中的混用
15.15.2与接口混用
15.15.3使用装饰器模式
15.15.4与动态代理混用
15.16潜在类型机制
15.17缺乏潜在类型机制的补偿
15.17.1反射
15.17.2将一个方法应用于序列
15.17.3当你并未碰巧拥有正确的接口时
15.17.4用适配器仿真潜在类型机制
15.18将函数对象用作策略
15.19总结:转型真的如此之糟吗?
15.19.1进阶读物
第16章数组
16.1数组为什么特殊
16.2数组是第一级对象
16.3返回一个数组
16.4多维数组
11.5 数组与泛型
16.6 创建测试数据
16.6.1Arrays.fill()
16.6.2数据生成器(Generator)
16.6.3从Generator中创建数组
16.7Arrays实用功能
16.7.1复制数组
16.7.2数组的比较
16.7.3数组元素的比较
16.7.4数组排序
16.7.5在已排序的数组中查找
16.8总结
第17章容器深入研究
17.1完整的容器分类法
17.2填充容器
17.2.1一种Generator解决方案
17.2.2Map生成器
17.2.3使用Abstract类
17.3Collection的功能方法
17.4可选操作
17.4.1未获支持的操作
17.5List的功能方法
17.6Set和存储顺序
17.6.1SortedSet
17.7队列
17.7.1优先级队列
17.7.2双向队列
17.8理解Map
17.8.1性能
17.8.2SortedMap
17.8.3LinkedHashMap
17.9散列与散列码
17.9.1理解hashCode()
17.9.2为速度而散列
17.9.3覆盖hashCode()
17.10选择接口的不同实现
17.10.1性能测试框架
17.10.2对List的选择
17.10.3微基准测试的危险
17.10.4对Set的选择
17.10.5对Map的选择
17.11实用方法
17.11.1List的排序和查询
17.11.2设定Collection或Map为不可修改
17.11.3Collection或Map的同步控制
17.12持有引用
17.12.1WeakHashMap
17.13Java 1.0/1.1 的容器
17.13.1Vector 和 Enumeration
17.13.2Hashtable
17.13.3Stack
17.13.4BitSet
17.14总结
第18章Java I/O系统
18.1File类
18.1.1目录列表器
18.1.2 目录实用工具
18.1.3 目录的检查及创建
18.2输入和输出
18.2.1InputStream类型
18.2.2OutputStream类型
18.3添加属性和有用的接口
18.3.1通过FilterInputStream从InputStream读取
18.3.2通过FilterOutPutStream向OutputStream写入
18.4Reader和Writer
18.4.1数据的来源和去处
18.4.2更改流的行为
18.4.3未发生变化的类
18.5自我独立的类:RandomAccessFile
18.6I/O流的典型使用方式
18.6.1缓冲的输入文件
18.6.2从内存中输入
18.6.3格式化的内存输入
18.6.4基本文件输出
18.6.5存储和恢复数据
18.6.6读取和写入随机访问文件
18.6.7管道流
18.7文件读写的实用工具
18.7.1读取二进制文件
18.8标准I/O
18.8.1从标准输入中读取
18.8.2将System.out转换成PrintWriter
18.8.3标准I/O重定向
18.9进程控制
18.10新I/O
18.10.1转换数据
18.10.2获取基本类型
18.10.3视图缓冲器
18.10.4用缓冲器操纵数据
18.10.5缓冲器的细节
18.10.6内存映射文件
18.10.7文件加锁
18.11压缩
18.11.1用GZIP进行简单压缩
18.11.2用Zip进行多文件存储
18.11.3Java档案文件
18.12对象序列化
18.12.1寻找类
18.12.2序列化的控制
18.12.3使用“持久性”
18.13XML
18.14Preferences
18.15总结
第19章枚举类型
19.1基本enum特性
19.1.1将静态导入用于enum
19.2向enum中添加新方法
19.2.1覆盖enum的方法
19.3switch语句中的enum
19.4values()的神秘之处
19.5实现但不继承随机选取
19.6为组织而使用接口
19.7使用EnumSet替代标志
19.8使用EnumMap
19.9常数相关的方法
19.9.1使用enum的职责链
19.9.2使用enum的状态机
19.10多路分发
19.10.1使用enum分发
19.10.2使用常数相关的方法
19.10.3使用EnumMap分发
19.10.4使用二维数组
19.11总结
第20章注解
20.1基本语法
20.1.1定义注解
20.1.2元注解
20.2编写注解处理器
20.2.1注解元素
20.2.2缺省值限制
20.2.3生成外部文件
20.2.4注解不支持继承
20.2.5实现处理器
20.3使用apt处理注解
20.4将观察者模式用于apt
20.5基于注解的单元测试
20.5.1将@Unit用于泛型
20.5.2不需要任何“套件”
20.5.3实现@Unit
20.5.4移除测试代码
20.6总结
第21章并发
21.1并发的多面性
21.1.1更快的执行
21.1.2改进代码设计
21.2基本的线程机制
21.2.1定义任务让步
21.2.2Thread类
21.2.3使用Executor
21.2.4从任务产生返回值
21.2.5休眠
21.2.6优先级
21.2.7让步
21.2.8后台线程
21.2.9编码的变体
21.2.10术语
21.2.11加入一个线程
21.2.12创建有响应的用户界面
21.2.13线程组
21.2.14捕获异常
21.3共享受限资源
21.3.1不正确地访问资源
21.3.2解决共享资源竞争
21.3.3原子性与易变性
21.3.4原子类
21.3.5临界资源
21.3.6在其他对象上同步
21.3.7线程局部存储
21.4终结任务
21.4.1装饰性花园
21.4.2在阻塞时终结
21.4.3中断
21.4.4检查中断
21.5线程之间的协作
21.5.1wait()与notifyAll()
21.5.2notify()与notifyAll()
21.5.3生产者与消费者
21.5.4生产者-消费者与队列
21.5.5任务间使用管道进行输入/输出
21.6死锁
21.7新类库中的构件
21.7.1CountDownLatch
21.7.2CyclicBarrier
21.7.3DelayQueue
21.7.4PriorityBlockingQueue
21.7.5使用ScheduledExecutor的温室控制器
21.7.6Semaphore
21.7.7Exchange
21.8仿真
21.8.1银行出纳仿真
21.8.2饭店仿真
21.8.3分发工作
21.9性能调优
21.9.1比较各类互斥技术
21.9.2免锁容器
21.9.3乐观锁
21.9.4ReadWriteLock
21.10活动对象
21.11总结
21.12进阶读物
第22章图形化用户界面
22.1applet
22.2Swing基础
22.2.1一个显示框架
22.3创建按钮
22.4捕获事件
22.5文本区域
22.6控制布局
22.6.1BorderLayout
22.6.2FlowLayout
22.6.3GridLayout
22.6.4GridBagLayout
22.6.5绝对定位
22.6.6BoxLayout
22.6.7最好的方式是什么
22.7Swing事件模型
22.7.1事件与监听器的类型
22.7.2跟踪多个事件
22.8Swing组件一览
22.8.1按钮
22.8.2图标
22.8.3工具提示
22.8.4文本域
22.8.5边框
22.8.6滚动面板
22.8.7一个迷你编辑器
22.8.8复选框
22.8.9单选按钮
22.8.10组合框(下拉列表)
22.8.11列表框
22.8.12页签面板
22.8.13消息框
22.8.22菜单
22.8.15弹出式菜单
22.8.16绘图
22.8.17对话框
22.8.18文件对话框
22.8.19Swing组件上的HTML
22.8.20滑块与进度条
22.8.21选择外观
22.8.22树、表格和剪贴板
22.9JNLP与Java Web Start
22.10Swing与并发
22.10.1长期运行的任务
22.10.2可视化线程机制
22.11可视化编程与JavaBean
22.11.1JavaBean是什么
22.11.2使用Introspector抽取出BeanInfo
22.11.3一个更复杂的Bean
22.11.4JavaBean与同步
22.11.5把Bean打包
22.11.6对更复杂的Bean的支持
22.11.7更多有关Bean的读物
22.12Swing的可替换选择
22.13用Flex构建Flash Web客户端
22.13.1Hello, Flex
22.13.2编译MXML
22.13.3MXML与ActionScript
22.13.4容器与控制
22.13.5效果与风格
22.13.6事件
22.13.7连接到Java
22.13.8数据模型与数据绑定
22.13.9构建和部署
22.14创建SWT应用
22.14.1安装SWT
22.14.2Hello, SWT
22.14.3根除冗余代码
22.14.4菜单
22.14.5页签面板、按钮和事件
22.14.6图形
22.14.7SWT中的并发
22.14.8SWT还是Swing
22.15总结
22.15.1资源
附录A补充材料
可下载的补充材料
Thinking in C:Java的基础
Java编程思想 研讨课
Hands-on Java研讨课CD
Thinking in Objects研讨课
Thinking in Enterprise Java
Thinking in Patterns(with Java)
Thinking in Patterns研讨课
设计咨询与复审
附录B资源
软件
编辑器与IDE
书籍
分析与设计
Python
我的著作列表
索引
Book Abstract

为一本书写作新版时,作者最满意的是:把事情做得“恰如其分”。这是我从本书上一个版本发布以来所学到的东西。通常而言,这种见识正如谚语所云,“学习就是从失败中汲取教训。”并且,我也借机进行了一些修订。与往常一样,一个新的版本必将带来引人入胜的新思想。此时,新发现带来的喜悦,采用比以往更好的形式表达思想的能力,已经远远超过了可能引入的小错误。
这也是对不断在我脑中盘旋低语着的一种挑战,那就是让持有本书老版本的读者也愿意购买新的版本。这些促使着我尽可能改进,重写,以及重新组织内容,为热忱的读者们献上一本全新的,值得拥有的书。
改变
此版本中将不再包含以往本书中所携带的CD光盘。该CD中的重要部分《Thinking in C》的多媒体教程(由Chuck Allison为MindView创建),现在提供了可下载的Flash版本。该教程是为不熟悉C语法的读者所准备的。虽然,本书用了两章对语法做了较为完整的介绍,然而对于没有相应背景知识的读者而言,这也许仍然不够。而《Thinking in C》正是为了帮助这些读者提升到必要的程度。
完全重写了“并发”这一章(以前称为“多线程”),以符合Java SE5并发类库的重大改变。它将为读者了解并发的核心思想打下基础。如果没有这些核心的基础知识,读者很难理解关于线程的更复杂的议题。我花了很多个月撰写这一章,深陷“并发”的地狱之中,最终,这一章不仅涵盖了基础知识,而且大胆地引入了一些高级议题。
而对于Java SE5所具有的每一个重大的新特性,本书都有一个新的章节与之对应。其他的新特性则加入到了原有的章节中。我还一直在研究设计模式,因此在本书中,也介绍了设计模式的相关内容。
本书经历了重大的重组。这大多源自教授Java的过程,以及我对于“章节”的意义的重新思考。以前,我会不假思索地认为,每个“章节”应该包含一个“足够大的”主题。但是,在我教授设计模式的时候,我发现,如果每次只介绍一个模式(即使讲课的时间很短),然后立刻组织大家做练习,此时那些学员们的表现是最好的(我发现,这种节奏对于我这个老师而言也更有乐趣)。因此,在这一版中,我试着打破按主题划分章节的做法,也不理会章节的长度。我想,这也是一个改进。
我同样也认识到代码测试的重要性。必须要有一个内建的测试框架,并且每次你开发系统时都必须进行测试。否则,根本没有办法知道代码可靠与否。为了做到这一点,我开发了一个测试框架以显示和验证本书中每一个程序的输出结果。(该框架是用Python编写的,你可以在www.MindView.net找到可下载的代码。)关于测试的话题在附录中有讨论,你可以在https://MindView.net/Books/BetterJava找到。其中还包含了其他一些基本技术,我认为所有程序员都应该将它们加入到自己的工具箱中。
此外,我还仔细检查了书中的每一个示例,并且问我自己,“我为什么采用这种方式实现?”对大多数的示例,我都做了一定程度的修订与改进,使得这些示例更加贴切。同时,也传达出我所认为的Java编程中的最佳实践(至少起到抛砖引玉的作用)。许多以前的示例都经过了重新设计与重新编写;同时,删除了不再有意义的示例,也添加了新的示例。
读者们为此书的前三个版本提出了许多许多精彩的意见。这自然使我觉得非常高兴。不过,偶尔读者也会有抱怨,例如有读者埋怨“本书太长了”。对我而言,如果“页数太多”是你唯一的苦恼,那这真令人哭笑不得。(据说奥地利皇帝曾抱怨莫扎特的音乐“音符太多”!我可不是想把自己比作莫扎特。)此外,我只能猜测,发出这种抱怨的读者还不了解Java语言的博大精深,而且也没有看过这一领域的其他书籍。无论如何,在这一版中,我已经删减了过时无用,或不再重要内容。总的来说,我已经尽我所能仔细复查了全书,进行了必要的增删与改进。对于删除旧的章节,我还是挺放心的。因为原始的材料在网站上都有)。本书从第一版到第三版,以及本书的附录,都可以从此网站上下载。
对于仍然不能接受本书篇幅的读者,我向你们道歉。请相信,我已经尽我所能精简本书的长度了。

Specifications

Brand Jingdong book
Brand Origin China

Disclaimer

Product packaging, specifications and price are subject to change without notice. All information about the products on our website is provided for information purposes only. Please always read labels, warnings and directions provided with the product before use.

View Full Terms of Use
Add to favorites
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
Quantity
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
Sold by JD@CHINA
Ship to
{{ __("Ship to United States only") }}
Free shipping over 69
Genuine guarantee

Added to Cart

Keep Shopping

More to Consider

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

Coupons

{{ coupon.coupon_name_new | formatCurrency }}
Clip Clipped Over
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
Expires soon {{ formatTime(coupon.use_end_time) }}

Share this item with friends

Cancel

Yami Gift Card

Get this exclusive deal when paying with gift card

Terms and Conditions

Gift card deals are special offers for selected products;

The gift card deals will automatically be activated if a customer uses gift card balance at check out and the balance is sufficient to pay for the total price of the shopping cart products with gift card deals;

You will not be able to activate the gift card deals if you choose other payment methods besides gift card. The products will be purchased at their normal prices;

If your account balance is not enough to pay for the products with gift card deals, you can choose to reload your gift card balance by clicking on the Reload button at either shopping cart page or check out page;

Products that have gift card deals can be recognized by a special symbol showing 'GC Deal';

For any additional questions or concerns, please contact our customer service;

Yamibuy reserves the right of final interpretation.

Sold by Yami

Service Guarantee

Yami Free Shipping over $49
Yami Easy Returns
Yami Ships from United States

Shipping

  • United States

    Standard Shipping is $5.99 (Excluding Alaska & Hawaii). Free on orders of $49 or more.

    Local Express is $5.99 (Available in Parts of CA, NJ, MA & PA). Free on orders of $49 or more.

    2-Day Express (Includes Alaska & Hawaii) starts at $19.99.

Return Policy

Yami is committed to provide our customers with a peace of mind when purchasing from us. Most items shipped from Yamibuy.com can be returned within 30 days of receipt of shipment (For Food, Beverages, Snacks, Dry Goods, Health supplements, Fresh Grocery and Perishables Goods, within 7 days of receipt of shipment due to damages or quality issues; To ensure that every customer receives safe and high-quality products, we do not provide refunds or returns for beauty products once they have been opened or used, except in the case of quality issues; Some products may have different policies or requirements associated with them, please see below for products under special categories, or contact Yami Customer Service for further assistance).
Thank you for your understanding and support.

Learn More

Sold by Yami

Terms and Conditions of Yami E-Gift Card

If you choose “Redeem automatically” as your delivery method, your gift card balance will be reload automatically after your order has been processed successfully;

If you choose “Send to Email”as your delivery method, the card number and CVV will be sent to the email address automatically;

Any user can use the card number and CVV to redeem the gift card, please keep your gift card information safely. If you have any trouble receiving email, please contact Yami customer service;

Yami gift card can be used to purchase both Yami owned or Marketplace products;

Yami gift card will never expire;

Yami gift card balance does not have to be used up at once;

All rights reserved by Yami.

Return Policy

Gift card that has already been consumed is non-refundable.

Sold by JD@CHINA

Service Guarantee

Yami Free Shipping over $49
Yami Easy Returns
Yami Ships from United States

Shipping

  • United States

    Standard Shipping is $5.99 (Excluding Alaska & Hawaii). Free on orders of $49 or more.

    Local Express is $5.99 (Available in Parts of CA, NJ, MA & PA). Free on orders of $49 or more.

    2-Day Express (Includes Alaska & Hawaii) starts at $19.99.

Return Policy

You may return product within 30 days upon receiving the product. Items returned must be new in it's original packing, including the original invoice for the purchase. Customer return product at their own expense.

Sold by JD@CHINA

Service Guarantee

Yami Cross-store Free Shipping over $69
Yami 30-days Return

Yami-China FC

Yami has a consolidation warehouse in China which collects multiple sellers’ packages and combines to one order. Our Yami consolidation warehouse will directly ship the packages to your door. Cross-store free shipping over $69.

Return Policy

You may return products within 30 days upon receiving the products. Sellers take responsibilities for any wrong shipment or missing items. Packing needs to be unopened for any other than quality issues return. We promise to pack carefully, but because goods are taking long journey to destinations, simple damages to packaging may occur. Any damages not causing internal goods quality problems are not allowed to return. If you open the package and any quality problem is found, please contact customer service within three days after receipt of goods.

Shipping Information

Yami Consolidation Service Shipping Fee $9.99(Free shipping over $69)

Sellers in China will ship their orders within 1-2 business days once the order is placed. Packages are sent to our consolidation warehouse in China and combined there. Our Yami consolidation warehouse will directly ship the packages to you via UPS. The average time for UPS to ship from China to the United States is about 10 working days and it can be traced using the tracking number. Due to the pandemic, the delivery time may be delayed by about 5 days. The package needs to be signed by the guest. If the receipt is not signed, the customer shall bear the risk of loss of the package.

Sold by JD@CHINA

Service Guarantee

Free shipping over 69
Genuine guarantee

Shipping

Yami Consolidated Shipping $9.99(Free shipping over $69)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

Yami Points information

All items are excluding from any promotion or points events on Yamibuy.com

Return Policy

You may return product within 30 days upon receiving the product. Items returned must be new in it's original packing, including the original invoice for the purchase. Customer return product at their own expense.

Yami

Download the Yami App

Back Top

Recommended for You

About the brand

Jingdong book

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

Reviews{{'('+ commentList.posts_count + ')'}}

Have your say. Be the first to help other guests.

Write a review
{{ totalRating }} Write a review
  • {{i}} star

    {{i}} stars

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}Show Less

{{ strLimit(comment,800) }}Show more

Show Original

{{ comment.content }}

Yami
Show All

{{ formatTime(comment.in_dtm) }} VERIFIED PURCHASE {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}Show Less

{{ strLimit(comment,800) }}Show more

Show Original

{{ comment.content }}

Yami
Show All

{{ formatTime(comment.in_dtm) }} VERIFIED PURCHASE {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

No related comment~

Review

Yami Yami

{{ showTranslate(commentDetails) }}Show Less

{{ strLimit(commentDetails,800) }}Show more

Show Original

{{ commentDetails.content }}

Yami
Show All

{{ formatTime(commentDetails.in_dtm) }} VERIFIED PURCHASE {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

Please write at least one word

Comments{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}Show Less

{{ strLimit(reply,800) }}Show more

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

Please write at least one word

Cancel

That’s all the comments so far!

Write a review
How would you rate this item?

Please add your comment.

  • A nice nickname will make your comments more popular!
  • The nickname in your account will be changed to the same as here.
Thanks for your review
Our community rely on great reviews like yours to find the best of Asia.

Report

If you find this content inappropriate and think it should be removed from the Yami.com site, let us know please.

Cancel

Are you sure to delete your review?

Cancel

You’ve Recently Viewed

About the brand

Jingdong book