Archive for the ‘ 并发译文 ’ Category

AKKA文档(java)——术语,概念

原文:http://doc.akka.io/docs/akka/2.3.6/general/terminology.html 译者:吴京润

本章我们试图建立一个通用的术语列表,用来定义有关并发和分布式系统的坚实的基础,而这也是akka的目标。请注意,在这些术语当中许多并没有一致的定义。我们简单的寻求在akka文档范围内使用的工作定义。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java)——术语,概念



akka文档(java)——akka的用例示例

原文:http://doc.akka.io/docs/akka/2.3.6/intro/use-cases.html   译者:吴京润

我们看到akka正被许多大型组织所采用,已被广泛应用于投资与商业银行业务,零食与社交媒体,虚拟仿真,游戏与博彩,数据分析等等行业。任何需要高吞吐量和低延迟的系统都是使用akka的良好候选者。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: akka文档(java)——akka的用例示例



AKKA文档(java版)——用例与部署场景

原文:http://doc.akka.io/docs/akka/2.3.6/intro/deployment-scenarios.html 译者:吴京润

我如何使用与部署akka?

有两种不同的使用akka的方式:

  • 作为一个库:作为一个web应用的类路径下的普通JAR使用,将它放在WEB-INF/lib。
  • 在一上主类中通过实例化ActorSystem作为一个独立的应用运行,或使用微内核 (Scala) /(Java)

将akka作为一个库使用

如果你在构建一个web应用,这可能就是你想要的。在库模式下,通过向模块栈添加越来越多的模块有许多种使用akka的方式。

将akka作为独立的微内核使用

akka还可以作为一个独立的微内核运行。更多信息见微内核 (Scala) / (Java) 

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java版)——用例与部署场景



AKKA文档(java版)——hello world

原文:http://doc.akka.io/docs/akka/2.3.6/java/hello-world.html 译者:吴京润

基于actor在控制台打印这一知名问候的困难在Typesafe Activator教程中名为Akka Main in Java项目中已有介绍。

本教程说明了通用启动器类akka.Main,只接收一个命令行参数:应用的主actor类名。这个main方法将为运行actor创建基础设施,用来启动指定的主actor以及在主actor终止时为关闭整个应用做出安排

Typesafe Activator中有相同问题域的另一个名为Hello Akka!的教程讲述了更深入的akka基础知识。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java版)——hello world



AKKA文档(java版)——准备开始

原文:http://doc.akka.io/docs/akka/2.3.6/intro/getting-started.html  译者:吴京润

预备知识

AKKA要求你的计算机已经安装了Java1.6或更高版本。

入门指南与模板项目

学习AKKA的最好方式是下载Typesafe Activator并尝试一个AKKA模板项目。

下载

有许多种下载AKKA的方式。你可以把它当作Typesafe平台的一部分下载(就像上面描述的)。还可以下载完全发布版,它包含微内核以及所有模块。或者使用像Maven或SBT这样的构建工具从AKKA Maven仓库下载依赖。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java版)——准备开始



AKKA文档(java版)

目前我正在翻译AKKA官网文档。翻译:吴京润

译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java版)



AKKA文档(java版)——什么是AKKA?

原文:http://doc.akka.io/docs/akka/2.3.6/intro/what-is-akka.htmll  译者:吴京润

可扩展的实时事务处理

我们相信编写并发、容错、可扩展的应用相当的困难。盖因大多数时候我们一直在使用错误的工具和错误的抽象等级。AKKA就是为了改变这一切的。我们利用角色模型提升了抽象等级,并且提供了一个用来构建可扩展的、弹性的以及响应式应用的更好的平台——更多信息请见Reactive Manifesto。对于容错机制我们采用“让它崩溃”模型,这一模型已在电信行业取得了巨大的成功,旨在构建自我修复与永不停机的系统。角色还提供了透明的分布式抽象以及真正的可扩展且容错应用的基础。

AKKA是开源的,并遵守Apache2许可。

http://akka.io/downloads下载。

请注意所有代码样例的编译,因此如果你想直接访问这些源码,可以去github上访问AKKA文档子项目:JavaScalaRead more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java版)——什么是AKKA?



Harris’s Linked List

原文地址 作者:Pedro Ramalhete,译者:叶磊,校对:周可人

在学术论文中Harris Linked List是使用最广泛的并发数据结构之一。

Harris Linked List是一个基于linked-list的并发有序set(或者是map),可进行无锁性质的插入,删除和查找操作。

http://research.microsoft.com/pubs/67089/2001-disc.pdf

这篇文章最早在2001年的DISC会议上发表,作者是Tim Harris,目前在Oracle就职。

https://labs.oracle.com/pls/apex/f?p=labs:bio:0:296

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Harris’s Linked List



Ticket Lock的Relaxed Atomics优化

原文地址 作者:Pedro Ramalhete,译者:周可人,校对:梁海舰

Tick lock是mutual lock的一种简单实现:

http://web.mit.edu/6.173/www/currentsemester/readings/R06-scalable-synchronization-1991.pdf

它是由John Mellor-Crummey和Michael Scott在1991年提出的(pdf中2.2节),感谢C++11和C11中新的内存模型,我们可以对单个变量进行具有屏障或者不具有屏障的原子操作。当屏障没有使用,只有原子性保证时,我们称之为“relaxed atomic”:

http://en.cppreference.com/w/cpp/atomic/memory_order

注意在C11/C++11内存模型中,一个原子变量并不具有内在的“顺序一致性”或者“relaxed”性质,然而我们可以在每次访问的时选择它的行为。

原子修饰符只能保证原子性,即这个变量会被单步读或写。其他语言,如Java和Scala则不同,它们可以保证几乎所有的原生类型提供原子性保证,从而表现为“relaxed atomic”。并且,所有被声明为顺序一致性的变量可以在整个程序中保持性质(除非在Java中使用sun.misc.unsafe)。尽管这个细微的差异可能看起来并不重要,但是当我们的目标是从同步或是并发算法中挖掘最大性能时,就需要关注这个差异了。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Ticket Lock的Relaxed Atomics优化



为什么开发人员从Java转到Go

原文地址 译文地址  译者:梁海舰  校对:郭蕾

使用Java来开发企业级的应用可能是一个不错的选择,但是使用Google的Go语言来开发系统软件会更有优势,一名来自PivotalJava开发者如是说,目前他已经成为Go语言的支持者。

Pivotal的一个使用Go语言开发其Cloud Foundry 云平台的工程师Matt Stine说:Go语言在包、模块化和并发方面有很大优势,如果你尝试解决的问题是Go语言所擅长的领域,如大型、高性能服务器端程序,我可以说Go非常适合这样的场景。”

Stine认为Go是一个“相当无聊”的语言,而不是一个神奇的、现代的、功能丰富的语言,但是尽管如此,“你仍然可以使用它开发出一些令人兴奋的东西”。他认为Go是一个构建系统级软件的工具。开发者可以使用Go语言标准库来构建系统级软件,而不像其他语言一样需要第三方框架。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 为什么开发人员从Java转到Go



Java8:Lambdas(二)学习怎样去使用lambda表达式

原文链接  作者:Ted Neward   译者:赵峰

Java SE 8的发布很快就到了。伴随着它来的不仅仅是新的语言lambda表达式(同样被称为闭包或匿名方法)——伴随着一些语言特性支持——更重要的是API和library的增强将会使传统的Java核心libraries变的更易于使用。其中大多数的增强和补充是在Collections API中,因为Collections API在整个应用中随处可见,这篇文章大部分是在讨论它。

然而 ,很有可能大多数的Java开发者将不会熟悉隐藏在lambdas背后的概念,和在设计中体现出的lambda形式与行为 。所以,在使用它们之前,最好先弄清楚它们为什么这样设计和怎么工作。因此,我们将在之前和之后看一些方法,看它们在lambda之前和lambda之后是怎么去处理一个问题的。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java8:Lambdas(二)学习怎样去使用lambda表达式



Java 7: 全面教程-第一章节: Java初体验

第一章节
Java初体验

 
开发一个Java程序关系到写代码,编译成字节码(bytecode), 和运行字节码。作为一个Java项目开发者将要一直重复做这些事情,所以做这个的时候你要感到舒适是很重要的。而此章节主要目标是让你趁此机会体验Java软件的开发过程。

写代码的关键不仅仅是要让它运做,还要让它方便阅读和维护,此章节介绍了Java 代码的规格。还有,自从聪明的开发者们使用了集成开发环境(Integrated Development Environment,简称IDEs) 使开发变得更简单了,所以此章节的最后一个小节给予了一些Java IDEs的使用建议。

1.1 第一个Java程序
1.2 Java代码规格
1.3 集成开发环境(IDEs)

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java 7: 全面教程-第一章节: Java初体验



Netty 5用户指南

原文地址http://netty.io/wiki/user-guide-for-5.x.html    译者:光辉勇士      校对:郭蕾

前言

问题

现如今我们使用通用的应用程序或者类库来实现系统之间地互相访问,比如我们经常使用一个HTTP客户端来从web服务器上获取信息,或者通过web service来执行一个远程的调用。

然而,有时候一个通用的协议和他的实现并没有覆盖一些场景。比如我们无法使用一个通用的HTTP服务器来处理大文件、电子邮件、近实时消息比如财务信息和多人游戏数据。我们需要一个合适的协议来处理一些特殊的场景。例如你可以实现一个优化的Ajax的聊天应用、媒体流传输或者是大文件传输的HTTP服务器,你甚至可以自己设计和实现一个新的协议来准确地实现你的需求。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Netty 5用户指南



Disruptor入门

翻译自Disruptor git库教程   英文地址

获得Disruptor

可以通过Maven或者下载jar来安装Disruptor。只要把对应的jar放在Java classpath就可以了。

基本的事件生产和消费

我们从一个简单的例子开始学习Disruptor:生产者传递一个long类型的值给消费者,而消费者消费这个数据的方式仅仅是把它打印出来。首先声明一个Event来包含需要传递的数据:

public class LongEvent { 
    private long value;
    public long getValue() { 
        return value; 
    } 
 
    public void setValue(long value) { 
        this.value = value; 
    } 
} 

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Disruptor入门



【闲说】性能测试

版权声明:本文为本作者原创文章,转载请注明出处。感谢 码梦为生| 刘锟洋 的投稿

性能测试是一件看起来不简单,操作起来确更困难的事情,我认为,每认真做一次性能测试,一定会有不同收获,而每次性能测试暴露的问题,现象都不是仅仅涉及Java,tomcat这么简单,简单说就是光会写代码是无法做好性能测试的。

那么,就趁着这次性能测试的机会,重新梳理下对linux,网络IO等基本功的认识已经就性能瓶颈的定位分享下自己的心得。
Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 【闲说】性能测试



return top