{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
免运费
Yami

Nickname

请告诉我们怎么更好地称呼你

更新你的名字
账户 订单 收藏
{{ inviteNavTitle }}
退出登录

切换配送区域

不同区域的库存和配送时效可能存在差异.

历史邮编

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

我们将在商品到货后第一时间通知你。

取消
Yami

京东图书

Scala 并发编程

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

Scala 并发编程

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
后结束
{{ 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 }}
后结束促销
后开始秒杀 后结束秒杀
{{ 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 }}) 详情
商品有效期

已下架

当前地址无法配送
已售完

商品描述

展开全部描述
编辑推荐

√ 本书由Scala发明人亲传弟子执笔完成,颇具权威性
√ 语言之外,系统性地梳理了并发及并发编程的核心知识
√ 重点讲解Future和Promise API等Scala专用并发框架的用法
√ 实例精心,兼顾理论与实践,既启发编程思路又面向实战方法
内容简介

免费的性能午餐已经结束――Intel、AMD 和 Sparc、PowerPC 等主要的处理器生产厂商,从前使用的提高 CPU 性能的传统方法已经走到尽头,单核处理器的主频多年来一直踏步不前,当今主流的CPU 制造技术是超线程和多核架构。面对计算机性能的挑战和硬件架构的改变,迷惘的软件开发者们应何去何从?本书为大家展示了一条光明的康庄大道!

《Scala 并发编程》由 Scala 语言的发明者,瑞士洛桑联邦理工大学教授 Martin Odersky 的爱徒 Aleksandar Prokopec 博士撰写。作者根据自己在 Scala 语言开发团队中的工作经验,全面地介绍了并发编程技术。这些并发编程技术包括:并发程序设计的基础知识和背景知识、常用并发实用组件(如线程池、原子变量和并发集合)的用法、Scala 专用并发框架(Future 和 Promise API)的用法、Scala 并行集合框架的用法、使用响应式扩展框架编写基于事件的程序和异步程序的方式、用于编写事务程序的 ScalaSTM库以及 Actor 编程模型和 Akka 框架。作者在本书中列举的实例既介绍了理论知识又展示了实践方法,同时还能够开拓读者的编程思路。此外,作者还在每章末尾提供了大量编程习题,帮助读者测试和巩固知识。

作者简介

Aleksandar Prokopec,是一位软件开发者,同时也是并发和分布式编程技术研究者。他拥有克罗地亚萨格勒布大学电子工程和计算学院的计算机专业硕士学位和瑞士洛桑联邦理工大学(EPFL)的计算机科学专业博士学位。作为 EPFL 博士助教和 Scala 语言开发团队成员,他积极为 Scala 编程语言做贡献,研究并发编程抽象、并行数据编程支持和 Scala并发数据结构。他编写了 Scala Parallel Collections 框架,这是一个高级的 Scala 并行数据编程库。他还参加了多个 Scala 并发库开发小组,开发了 Future、Promise 和 ScalaSTM 等抽象。


苏宝龙,1999年毕业于辽宁石化大学计算机系,从事过计算机硬件维修、网络和网站架设等计算机专业实践工作。投身计算机图书翻译行业已有十余年,译著超过三十余部,是一位优秀的、负责任的译者。

精彩书评

本书详细介绍了最佳的并发编程习惯,以及当前流行的高级Scala并发库的用法。本书先介绍在JVM中编写并发程序的基础知识,并概括介绍了Java内存模型的基础结构,然后展示了一些经典的并发程序构建材料,如原子变量、线程池、并发数据结构和并发事务的要点。之后本书介绍了多种专门与特定任务对应的高级并发抽象。最后,本书总结了这些并发库的用法和将它们组合到一起使用的方式。
□ 在现代多处理器系统(尤其是JVM并发模型)中,编写并发程序的基础知识
□ 使用简单的、低等级并发基元创建高性能并发系统的方式
□ 使用Future和Promise对象在并发计算中实现异步操作
□ 使用并行数据集合,以无缝方式提高顺序程序的性能
□ 通过Rx式事件流实现响应式和基于事件的程序
□ 使用内存事务数据模型,设计安全、可伸缩的且易于组装的程序
□ 编写具有透明性的、可部署到多台计算机上的分布式应用程序
□ 根据具体情况选择正确并发抽象的技巧,以及在大型应用程序中整合多种并发框架的方式
目录

前言 XVII

1 简介 1

2 JVM 和Java 内存模型中的并发处理方式 13

3 构建并发程序的传统材料 47

4 使用Future 和Promise 对象编写异步程序 85

5 数据并行集合 121

6 使用Reactive Extensions 编写并发程序 153

7 基于软件的事务内存 189

8 Actor 227

9 实用并发技术 269

精彩书摘


并发和并行编程技术已经从内核程序设计和高性能计算等尖端领域延伸而出,发展成为每位程序员都必备的知识。当前并行和分布式计算系统已经变成了一种规范,大多数应用程序都使用并发处理方式,有些程序是为了提高性能,也有些程序是为了处理异步事件。
目前,大多数开发者都没有做好迎接这场变革的准备工作。也许他们在学校学习过传统的并发模型(基于线程和锁的),但是这类模型无法在确保可接受生产效率的前提下,以可靠的方式处理海量的并发工作。而且,线程和锁不仅难以使用还易于出错。开发者如果想要提高自己的水平,就必须使用等级更高且可组合性更高的并发抽象。
15 年前,我设计了Scala 语言的前身Funnel 语言。Funnel 是一种实验性编程语言,其核心中含有并发语义。这门语言将所有编程概念都表现为,以functional Net 模型(joincalculus 模型的面向对象版本)为基础的语法糖。尽管join calculus 是非常优秀的理论,但经过一些实验后,我们认识到并发问题是多层面的,无法通过单一形式解决它。解决所有并发问题的万能灵药是不存在的;正确的解决方式是对症下药。你是否想要定义用于回应事件或数据流的异步计算?是否想要创建用于通过消息进行通信的独立实体?是否想要为可变数据定义事务?是否想要通过并行处理方式提高性能?Scala 语言提供了完成所有这些任务的抽象:Future 类、响应式事件流、Actor 类、事务内存和并行集合。
Scala 和这本书使我们走到了一起。当前有如此多的优秀并发抽象,通过编程语言以硬编码的方式实现它们好像意义不大。但我们通过Scala 努力实现的目标,是能够在用户代码和库中更轻松地定义高级抽象的。通过这种工作模式,开发者可以定义用于处理各种并发程序设计层面的模块。所有这些模块都会建立在由主机系统提供的低等级内核上。现在回过头来看,这种工作模式确实取得了很好的效果。Scala 拥有当今功能最强、结构最简洁的并发编程库。本书将带你领略其中最重要的几个库的风采,使你了解这些库的擅长领域和使用它们的方式。
不是计算机专家就写不好计算机书籍。本书的作者Aleksandar Prokopec 编写过多个最流行的Scala 并发和并行编程库,他还发明过多个精妙的数据结构和算法。在推出这本书的同时,他还创建了网上教程和权威参考站点。我相信本书能够成为所有Scala 并发和并行程序开发者的良师益友。我期望这本书能够成为对并发领域感兴趣的人的书架藏品,因为他们都预见到了正在快速发展的并发计算领域的美好未来。Martin Odersky
Scala 语言的发明者,瑞士洛桑联邦理工大学教授
前言/序言

并发处理方式无处不在。随着多核处理器在消费者市场中崛起,并发编程技术也在软件开发行业内取得了霸主地位。并发编程技术以前就在程序或计算机系统中被用于实现异步计算,并且自成一个学术领域,而现在并发程序设计已经变成了开发人员普遍使用的软件开发技术。因此,高级并发框架和库正在以惊人的速度发展。近年来,并发计算领域呈现出了与文艺复兴类似的蓬勃发展景象。

随着现代编程语言和并发框架抽象等级的提高,了解和使用这些语言和框架的时机已经变为极为重要的知识。仅掌握经典并发和异步基元(如线程、锁和监控器)的使用方式,已经不足以应对当前的形势。高级并发框架既可以解决传统并发问题,也可以为特定任务做出调整。因此,高级并发框架逐渐占领了并发编程领域。

本书介绍Scala 语言高级并发编程技术。本书不仅详细介绍了各种并发主题,还介绍了并发编程的基础理论。同时,本书也介绍了多种主要的现代并发框架、这些框架的语义细节和使用这些框架的方式。这样做的目的是展示重要的并发抽象,同时让你了解在实践中使用这些抽象的方式。

我们相信当你阅读了这本书后,既可以掌握坚实的并发编程理论基础,又能够获得编写正确、高效并发程序的实用技巧。这些技巧是通向现代并发编程专家之路的基石。希望本书能够为你带来快乐。

本书的结构

本书的主要目标是帮助你掌握开发正确、高效并发程序的必备技巧。获得技巧的最佳方式是在实践中使用它。因此,获得编程技巧的最佳方式,是亲手编写程序。本书旨通过一系列精心挑选的案例程序,全方位向你展示并发编程技术,从而使你掌握使用Scala语言编写并发程序的方式。这些案例程序包括从最简单的Hello World 示例程序,到错综复杂的高级并发程序。

本书中程序的一个最大共同点是,既简洁又独立。选取这类程序的优点有两个。首先,你可以不受干扰地学习大多数案例程序。尽管我们建议你按照先后顺序阅读本书的各个章节,但如果你想要先关注某个主题也不会有问题。其次,简洁性可以确保每个新概念都能够易于被掌握和理解。通过简单的示例程序,理解原子处理方式、内存争用和忙等待等问题要容易得多。但这不意味着这些示例程序,仅是为展示这些概念而专门编写的;尽管有些案例程序可能会被删去不相关的部分,但每个案例程序都是选自现实世界的真实案例。我们强烈建议你在阅读本书的过程中,亲手编写和运行这些示例程序,而不应仅是消极地阅读它们。每个案例程序都会向你展示一个新概念,但是你只有亲手在实践中使用这些概念,才能彻底理解它们。通过亲手运行并发程序并观察其特殊效果获得的经验,比仅从纸上阅读它得到的经验要宝贵得多。因此,你应该下载SBT,并在阅读本书前创建一个空白项目,这一点请参阅本书中介绍的详细步骤。本书选取的案例程序都比较短小,从而使你能够毫无压力地尝试它们。本书每一章的末尾都有一组编程练习。这些练习专门用于测试你对该章内容的理解程度。我们建议你在阅读完一章内容后,至少做几道该章末尾的练习题。在大多数情况中,我们会避免展示API 方法和它们的确切签名。这样做的原因有多个。

首先,你随时可以在网上学习ScalaDoc 文档介绍的API。本书如果重复这些内容会浪费一些篇幅。其次,软件永远都处于不断变化的状态中。尽管Scala 并发框架的设计者们努力使这些API 具有稳定性,但这些方法的名称和签名也可能会偶尔改变。本书介绍了改变可能性不高的许多重要并发工具的语义,使用这些工具足以编写并发程序。本书的目标不是事无巨细地介绍Scala 并发API 的所有知识。本书旨在介绍最重要的并发编程概念。掌握了本书介绍的知识后,你不仅可以阅读网上文档介绍的补充资料,还可以明确寻找这些资料的方向。本书不是详细介绍每个方法确切语义的API 参考文档,教授你从这些参考资料获取知识的方式才是本书的目的。当你阅读了本书的内容后,你不仅可以了解各种并发库不同的运行方式,还能获得编写并发程序的思路。

本书的内容

本书根据各个并发编程主题,划分为多个章节。本书的内容涵盖Scala 运行时系统中的基础并发API、较复杂的并发基元和高级并发抽象概要。

第1 章介绍编写并发程序的原因和一些背景知识。本章也介绍了Scala 编程语言的基础知识,以便使你能够顺畅地阅读本书后面介绍的内容。

第2 章介绍并发程序设计的基础知识。本章介绍了使用线程的方式、防止以并发方式访问共享内存的方式,以及Java 内存模型(JMM)。__第3 章介绍常用的并发实用组件,如线程池、原子变量和并发集合。本章还着重介绍了使用并发集合与Scala 语言功能进行交互的方式。本书将重点放在高等级的现代并发编程框架上;因此,虽然本章概述了传统的并发编程技巧,但并非将重点放在这个方面。

第4 章是第一个介绍Scala 专用并发框架的章节。本章介绍了Future 和Promise API,以及在编写异步程序时正确使用这些API 的方式。

第5 章介绍Scala 并行集合框架。本章介绍了在条件允许的情况下,通过并行方式处理集合操作的方式,以及通过这种方式提高性能的手段。

第6 章介绍使用响应式扩展框架编写基于事件的程序和异步程序的方式。本章会介绍事件流操作与集合操作的对应关系、在线程之间传递事件的方式和使用事件流设计响应式用户界面的方式。

第7 章介绍用于编写事务程序的ScalaSTM 库,使用该库可以获得更加安全、更加直观的共享内存编程模型。本章会介绍使用可伸缩的内存事务防止多个线程以并发方式访问共享内存的方式,还会介绍减少死锁和竞态条件的方式。

第8 章介绍Actor 编程模型和Akka 框架。本章会介绍编写在多台计算机上运行的、以透明方式传递消息的分布式程序的方式。

第9 章总结了前面各章介绍过的多种并发库。本章会介绍根据指定问题选择正确并发抽象的方式,还会介绍当设计较大的并发应用程序时,将多种并发抽象组合到一起的方式。我们建议你根据先后顺序阅读各个章节,但这并非严格要求。如果你已经很好地掌握了第2 章介绍的内容,就可以直接学习大多数章节。对其他章节介绍的知识依赖程度较高的是第9 章,因为这一章是对前面介绍的各个主题的总结。

阅读本书前需要具备的知识

本节介绍阅读本书之前,你需要具备的知识。本节介绍了安装Java Development Kit(Java 开发工具集)的方式,它是用于运行Scala 程序的开发环境;还介绍了使用SimpleBuild Tool(SBT)项目构建工具运行各种示例程序的方式。阅读本书前无须具备IDE 知识。你可以根据自己的喜好选择编写代码的编辑器,如Vim、Emacs、Sublime Text、Eclipse、IntelliJ IDEA 和Notepad++等文本编辑器。

安装JDK

Scala 程序不会被直接编译为机器码,因此它们无法像可执行程序那样在各种硬件平台上直接运行。Scala 编译器生成的是一种中间代码——Java 字节码。要运行这种中间代码,你的计算机必须安装Java 虚拟机(JVM)软件。本节介绍下载和安装Java Development Kit的方式,该开发环境集成了Java 虚拟机和其他有用的工具。软件市场上有多个JDK 版本。我们建议你使用Oracle JDK 分发版本。你可通过下列步骤下载和安装这个版本的Java Development Kit:

1.在你的浏览器中打开URL:www.oracle.com/technetwork/java/javase/

downloads/index.html。

2.如果你无法打开这个URL,可以在搜索引擎中搜索关键字JDK Download。

3.一旦你找到Oracle 网站中的Java SE 下载链接,应下载与你当前使用的操作系统(如32 位或64 位的Windows、Linux 或者Mac OS X)对应的JDK 7 版本。

4.如果你使用Windows,那么只需运行安装程序即可。如果你使用Mac OS X,则需要打开dmg 存档才能安装JDK。如果你使用Linux,则需要将dmg 存档解压到XYZ 目录,并在PATH 变量中添加bin 子目录:export PATH=XYZ/bin:$PATH

5.现在你就能够在命令行界面中运行java 和javac 命令了。输入javac 命令,查看该命令是否可用(本书没有介绍配置这个命令的方式,但你可以通过运行它,查明它是否可用):

javac这样你的操作系统就安装好了JDK。要验证这一点,只需执行javac 命令,如第5步骤所示。

安装和使用SBT

SBT 是一种用于构建Scala 项目的命令行工具。它的作用是编译Scala 代码、管理依赖关系、进行持续编辑和测试、开发等。本书通篇都会使用SBT,管理项目的依赖关系和运

行示例程序。

通过下列步骤可以安装SBT:

1.浏览https://www.scala-sbt.org/。

2.下载与你所用平台对应的安装文件。如果你使用Windows,应下载msi 安装文件。如果你使用Linux 或Mac OS X,应下载zip 或tgz 归档文件。

3.安装SBT。如果你使用Windows,只需运行安装文件即可。如果你使用Linux 或Mac OS X,则应在主目录解压归档文件。

安装好SBT 后就可以使用它了。通过下列步骤可以创建新的SBT 项目:

1.如果你使用Windows,应打开命令行界面。如果你使用Linux 或Mac OS X,应打开一个终端窗口。

2.创建一个名为scala-concurrency-examples 的新目$ mkdir scala-concurrency-examples

3.切换到scala-concurrency-examples 目录:$ cd scala-concurrency-examples

4.创建一个用于存储示例程序的源代码$ mkdir src/main/scala/org/learningconcurrency/

5.使用编辑器创建定义文件build.sbt。该文件用于定义各种项目属性。应在项目的根目录(scala-concurrency-examples)中创建该文件。应向定义文件中添加下列内容(注意,必须保留空白行):name := "concurrency-examples"version := "1.0"scalaVersion := "2.11.1"

6.切换回终端窗口,并在项目的根目录运行SBT:

$ sbt

7.SBT 会启动一个响应式壳,我们可以使用该壳执行各种创建项目的命令。现在你就可以编写Scala 程序了。打开编辑器, 在src/main/scala/org/learningconcurrency 目录中创建一个名为HelloWorld.scala 的源代码文件。向HelloWorld.scala 文件中添加下列内容:package org.learningconcurrencyobject HelloWorld extends App {println("Hello, world!")}

切换回已经启动SBT 响应式壳的终端窗口,使用下面的命令运行这个程序:

> run

该程序运行后会输出下面的结果:

Hello, world!

通过上述步骤足以运行本书介绍的大部分示例程序。在运行这些示例程序时,偶尔可能会用到外部库。SBT 能够通过标准软件仓库自动解决部分外部库问题。在处理另一些外部库时,我们需要手动设置额外的软件仓库,因而需要向build.sbt 文件添加下面的代码:

resolvers ++= Seq(

"Sonatype OSS Snapshots" at

"https://oss.sonatype.org/content/repositories/snapshots",

"Sonatype OSS Releases" at

"https://oss.sonatype.org/content/repositories/releases",

"Typesafe Repository" at

"https://repo.typesafe.com/typesafe/releases/")

现在我们已经添加了所有必要的软件仓库,因而就能够添加一些具体库了。通过向build.sbt 文件添加下面的代码,我们就可以使用Apache Commons IO 库:libraryDependencies += "commons-io" % "commons-io" % "2.4"更改了build.sbt 文件的内容后,必须重新加载所有正在运行的SBT 实例。应在SBT的响应式壳中,输入下列命令:> reload

这能够使SBT 检测到定义文件的所有更改情况,并在必要时下载额外的软件包。不同的Scala 库拥有不同的命名空间,这种命名空间称为软件包。要获取指定软件包的内容,需要使用import 语句。当我们第一次在某个示例程序中使用指定的并发库时,总是会展示必要的import 语句组。如果之后还需要使用相同的库,我们不会重复列出相同的import 语句。与此类似,为简洁起见我们不会在示例代码中重复列出软件包声明。我们约定一章中的示例代码都处于同一软件包中。例如, 第2 章中的所有示例代码都处于

org.learningconcurrency.ch2 软件包中。该章中每个示例程序的源代码文件都以下列代码开头:

package org.learningconcurrency

package ch2

因为本书主要介绍并发和异步操作,所以许多示例程序都会含有主线程停止运行后仍继续运行的并发计算。为了确保这些并发计算操作能够执行完毕,我们会使用运行SBT 的JVM 实例中运行的大多数示例程序。因而向build.sbt 文件添加了下面的代码:

fork := false

在介绍需要在独立JVM 进程中运行的示例程序时,我们会做明确说明并列出详细的处理步骤。

使用Eclipse、IntelliJ IDEA 等IDE

使用Eclipse 或IntelliJ IDEA 等集成开发环境(IDE)的好处,是能够通过自动方式编写、编译和运行Scala 程序。这样就无须安装上一节介绍的SBT。你可以使用SBT 运行示例程序,也可以使用IDE 运行示例程序。

在使用IDE 运行本书的示例程序时有一点需要特别注意:Eclipse 和IntelliJ IDEA 之类的编辑器会在独立的JVM 进程中运行程序。如上一节所述,某些并发计算会在主线程停止后继续运行。为了确保这些计算操作能够执行完毕,有时需要在主执行流程的末尾添加sleep 语句,该语句会降低主线程的执行速度。本书的大多数示例程序已经添加sleep 语句,但某些示例程序需要你亲自添加该语句。

本书面向的读者

本书主要面向已经掌握Scala 顺序编程技术的开发者,以帮助这些开发者掌握编写正确并发程序的技术。本书假定你已经掌握了Scala 编程语言的基础知识。贯穿本书始终,我们都努力使用简单的Scala 功能,展示编写并发程序的方式。只要你具备Scala 的基础知识,了解各种并发主题就不会有困难。这并不意味着本书仅限于供Scala 开发者阅读。不论你拥有Java 或.NET 专业背景,或者仅是一名编程语言爱好者,都能够从本书介绍的内容中获得启迪。对面向对象和函数式编程有基本的了解,也是阅读本书的先决条件。

本书还从更广阔的视角,对现代并发编程技术做了详细介绍。即使你已经掌握了多线程计算或JVM 并发模型的基础知识,通过本书你也可以了解许多现代的高级并发实用组件。本书介绍的许多并发库仅处于进入主流编程语言的起步阶段,其中一部分是真正的尖端技术。

约定

本书使用多种字体区分多种信息。下面介绍这些字体和它们的含义。文本中的代码、数据库中表的名称、文件夹名称、文件名、文件扩展名、路径名称、URL 示例、用户输入信息和Twitter 账号使用下列字体:“然后,它会调用square 方法计算局部变量s 的值。”

代码块使用下面的字体:

object SquareOf5 extends App {

def square(x: Int): Int = x * x

val s = square(5)

println(s"Result: $s")

}

命令行界面中的输入信息和输出结果使用下列字体:

run-main-46: ...

Thread-80: New thread running.

run-main-46: ...

run-main-46: New thread joined.

新术语和重点词汇使用粗体。屏幕显示的信息、菜单和对话框中的内容使用下列字体:“单击Thread Dump 按钮后,Java VisualVM 会显示所有线程的堆栈跟踪信息,如下图所示:

下载示例程序的代码

你可以从https://www.broadview.com.cn 的“下载专区”,下载所有已购买的博文视点书籍的示例代码文件。

勘误表

尽管我们努力提高书籍的质量,但错误在所难免。如果你发现了我们书籍中的错误(不论是文字错误还是代码错误),请不吝指正。通过指出书中的错误,你不仅能够帮助其他读者,并且可以帮助我们提高后续版本的质量。如果你发现了错误,可以在博文视点网站相应图书的页面提交勘误信息。一旦你找到的错误被证实,你提交的信息就会被接受,我们的网站也会发布这些勘误信息。你可以随时浏览图书页面,查看已经发布的勘误信息。

规格参数

品牌 京东图书
品牌属地 中国
ISBN 9787121271731
著者 Aleksandar Prokopec
出版社 电子工业出版社
印刷时间 2015-09-01
用纸 胶版纸
包装 平装
出版时间 2015-09-01
页数 340
译者 苏宝龙
语言 中文
版次 1

免责声明

产品价格、包装、规格等信息如有调整,恕不另行通知。我们尽量做到及时更新产品信息,但请以收到实物为准。使用产品前,请始终阅读产品随附的标签、警告及说明。

查看详情
加入收藏
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
数量
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
由 京东图书 销售
送至
{{ __("Ship to United States only") }}
满$69免运费
正品保证

已加入购物车

继续逛逛

为你推荐

{{ item.brand_name }}

{{ item.item_name }}

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

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

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

优惠券

{{ coupon.coupon_name_new | formatCurrency }}
领取 已领取 已领完
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
即将过期: {{ formatTime(coupon.use_end_time) }}

分享给好友

取消

亚米礼卡专享价

使用礼卡支付即可获得礼卡专享价

规则说明

礼卡专享价是部分商品拥有的特殊优惠价格;

购买礼卡专享价商品时,若在结算时使用电子礼卡抵扣支付,且礼卡余额足够支付订单中所有礼卡专享价商品的专享价总和,则可以启用礼卡专享价;

不使用礼卡支付,或礼卡余额不满足上一条所述要求时,将无法启用礼卡专享价,按照普通售价计算,但您仍然可以购买这些商品;

在购买礼卡专享价商品时,若余额不足,可以在购物车或结算页中点击“充值”按钮对礼卡进行购买和充值;

商品若拥有礼卡专享价,会显示“专享”的特殊价格标记;

如有疑问,请随时联系客服;

礼卡专享价相关规则最终解释权归亚米所有。

由 亚米 销售

服务保障

Yami 满$49免运费
Yami 无忧退换
Yami 从美国发货

配送信息

  • 美国

    标准配送 $5.99(不包含阿拉斯加,夏威夷),最终价满$49免运费

    本地配送$5.99(加州,纽约州,新泽西,麻省和宾夕法尼亚,以上州部分地区);最终价满$49免运费

    两日达(包含阿拉斯加夏威夷)运费$19.99起

退换政策

亚米网希望为我们的客户提供最优秀的售后服务,让所有人都能放心在亚米购物。亚米自营商品在满足退换货条件的情况下,可在收到包裹的30天之内退换商品(食品因商品质量问题7天内可退换;为了确保每位客户都能获得安全和高质量的商品,对于美妆类产品,一经开封或使用即不提供退款或退货服务,质量问题除外;其他特殊商品需联系客服咨询)。
感谢您的理解和支持。

查看详情

由 亚米 销售

亚米电子礼品卡使用规则

若购买时选择自动充值,订单完成后礼卡将自动充值到您的账户中;

若购买时选择发送邮件,订单完成后系统将自动发送卡号和密码到您填写的邮箱;

发送邮件时,任何用户均可使用邮件中的卡号密码进行礼卡充值,请妥善保管邮件信息。

如接收邮件遇到问题,请联系客服处理;

发送邮件时,若礼卡没有被兑换,可以补发邮件。若已经被其他用户兑换,则无法补偿;

亚米网电子礼卡可用于购买自营或第三方商品;

亚米网电子礼卡没有有效期限制,长期有效;

亚米网电子礼卡的金额,可分多次使用;

亚米网电子礼卡业务规则,最终解释权归亚米网所有。

退换政策

已消费的电子礼卡不支持退款。

京东图书 销售

服务保障

Yami 满$49免运费
Yami 最优售后
Yami 美国本土发货

配送信息

  • 美国

    标准配送 $5.99(不包含阿拉斯加,夏威夷),最终价满$49免运费

    本地配送$5.99(加州,纽约州,新泽西,麻省和宾夕法尼亚,以上州部分地区);最终价满$49免运费

    两日达(包含阿拉斯加夏威夷)运费$19.99起

退换政策

提供30天内退还保障。产品需全新未使用原包装内,并附有购买凭据。产品质量问题、或错发漏发等,由商家造成的失误,将进行补发,或退款处理。其它原因需退货费用由客户自行承担。

由 京东图书 销售

服务保障

Yami 跨店满$69免运费
Yami 30天退换保障

亚米-中国集运仓

由亚米从中国精选并集合各大优秀店铺的商品至亚米中国整合中心,合并包裹后将一次合包跨国邮寄至您的地址。跨店铺包邮门槛低至$69。您将在多商家集合提供的广泛选品中选购商品,轻松享受跨店铺包邮后的低邮费。

退换政策

提供30天内退换保障。产品需在全新未使用的原包装内,并附有购买凭据。产品质量问题、错发、或漏发等由商家造成的失误,将进行退款处理。其它原因造成的退换货邮费客户将需要自行承担。由于所有商品均长途跋涉,偶有简易外包压磨等但不涉及内部质量问题者,不予退换。

配送信息

亚米中国集运 Consolidated Shipping 运费$9.99(订单满$69 包邮)

下单后2个工作日中国商家发货,所有包裹抵达亚米中国整合中心(除特别情况及中国境内个别法定节假日外)会合并包裹后通过UPS发往美国。UPS从中国发货后到美国境内的平均时间为10个工作日左右,根据直发单号可随时跟踪查询。受疫情影响,目前物流可能延迟5天左右。包裹需要客人签收。如未签收,客人须承担包裹丢失风险。

由 京东图书 销售

服务保障

满$69免运费
正品保证

配送信息

Yami Consolidated Shipping 运费$9.99(订单满$69包邮)


下单后1-2个工作日内发货。 物流时效预计7-15个工作日。 如遇清关,交货时间将延长3-7天。 最终收货日期以邮政公司信息为准。

积分规则

不参加任何折扣活动以及亚米会员积分制度。

退换政策

提供30天内退还保障。产品需全新未使用原包装内,并附有购买凭据。产品质量问题、或错发漏发等,由商家造成的失误,将进行补发,或退款处理。其它原因需退货费用由客户自行承担。

Yami

下载亚米应用

返回顶部

为你推荐

品牌故事

京东图书

为您推荐

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折

评论{{'('+ commentList.posts_count + ')'}}

分享你的感受,帮助更多用户做出选择。

写评论
{{ totalRating }} 写评论
  • {{i}}星

    {{i}}星

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

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已购买 {{groupData}}

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

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已购买 {{groupData}}

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

暂无符合条件的评论

评论详情

Yami Yami

{{ showTranslate(commentDetails) }}收起

{{ strLimit(commentDetails,800) }}查看全部

Show Original

{{ commentDetails.content }}

Yami
查看更多

{{ formatTime(commentDetails.in_dtm) }} 已购买 {{groupData}}

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

请输入内容

回复{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}收起

{{ strLimit(reply,800) }}查看全部

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')}}

请输入内容

取消

End

发表评论
商品评分

请输入评论

  • 一个好的昵称,会让你的评论更受欢迎!
  • 修改了这里的昵称,个人资料中的昵称也将被修改。
感谢你的评论
你的好评可以帮助我们的社区发现更好的亚洲商品。

举报

取消

确认删除该评论吗?

取消

历史浏览

品牌故事

京东图书