JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。
示例代码:
// Create a mailbox factory with a pool of 10 threads. MailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(10); // Create and initialize a Test actor. Mailbox mailbox = mailboxFactory.createAsyncMailbox();//.createMailbox(); MyActor actor = new MyActor(); actor.initialize(mailbox); // Send a MyRequest request and wait for completion. JAFuture future = new JAFuture(); long ct = System.currentTimeMillis(); System.out.println(MyRequest.req.send(future, actor)); // Shut down the thread pool. mailboxFactory.close();
要使用JActor,你首先要了解一些基础类,从这篇文章开始我会列出一些常用的基础类来让大家了解JActor的基础知识。 首先说JLPCActor,本篇文章主要讲这个类。 如果你要定义一个Actor类,那么你需要让它继承自JLPCActor这个类,你所定义的这个类的方法不必是线程安全的,它们通常会在合适的线程中被调用。 Actor之间通过发送请求来进行交互
这篇文章主要给大家讲下Mailbox,我认为学东西,基础最重要,基础都不懂学着就不会很流畅。后续我会结合实例为大家分享JActor。 被指定给actor的mailbox有一个收件箱用来接收消息(请求或响应),同时它也有一个发件箱用来发送给指定给它的actor。(发出去的消息以被有条理的组织成有优先级消息 块的手段来提高消息的吞吐量) 当消息发送给一个没有收件箱的maibox时ma
JActor 2.1.0 版本发布了,这个版本增加了 非阻塞 锁组件,修复了 actor 初始化中很少问题,因此它必须接受一个Open request 来完成初始化。 JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送 8500万条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。 实例代码: JAMailb
网上可以找到作者Jactor的源码: 作者对actor的解释: Actors are objects which send messages to each other and which process only one message at a time. Messages are either requests or responses. When an actor se
这篇文章给大家分享两个类JAMailboxFactory和Request。 JAMailboxFactory JAMailboxFactory类用来管理线程池(thread pool)和创建(邮箱)mailboxes,它有一个很方便的带int参数的构造函数可以规定线程池的容量。 关闭线程池可以用close()方法。 创建可以被征用的邮箱(Mailbox)
JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。 示例代码: JAMailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(1); try { Mailbox mailbox
JActor介绍 原题目:Introducing JActor Vertical scaling is today a major issue when writing server code. Threads and locks are the traditional approach to making full utilization of fat (multi-core) comput
在大型应用系统中,logger是必不可少的,但是在性能要求很高的多线程系统中,logger的I/O有时候成为性能杀手。我们简单的用一个例子说明,在10个线程中跑100次,每次记录1000行日志到文件中, 代码如下: @Test(invocationCount=100,threadPoolSize=10) public void testLog4j() { for(int i=0
JActor 4.2.0 正式版支持无 mailbox 的 actors。 JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。 示例代码: JAMailboxFactory mailboxFactory = JAMailboxFactory.newMa
JActor 4.2.0 RC1 发布,增加对降级 actors (无 mailbox 的 actors) 的支持,用于单线程和线程安全的应用程序。 JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。 示例代码: JAMailboxFactory ma
JActor 4.4.0 为定时器增加了 MailboxFactory。 JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。 示例代码: JAMailboxFactory mailboxFactory = JAMailboxFactory.newMai
JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。 示例代码: JAMailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(1); try { Mailbox mai
本文向大家介绍设计模式构建器模式/Java 实现,包括了设计模式构建器模式/Java 实现的使用技巧和注意事项,需要的朋友参考一下 示例 通过Builder模式,您可以以易于阅读的方式创建具有许多可选变量的类的实例。 考虑以下代码: 如果所有参数都是必需的,那么一切都很好。如果有更多的变量和/或其中一些是可选的怎么办?您不想使用必需参数和可选参数的每种可能的组合来创建大量的构造函数,因为它变得难以
本文向大家介绍Java单例模式实现的几种方式,包括了Java单例模式实现的几种方式的使用技巧和注意事项,需要的朋友参考一下 Java单例模式实现的几种方式 单例模式好多书上都是这么写的: 但是实际开发中是不会这么写的,因为有一个严重的问题,多线程并发访问的时候,可能会产生多个实例!! 下面列举几个常用的方法: 1.使用synchronized 关键字 2.加锁 3.利用静态变量: 以上就
我正在学习Java编程。 我的任务是使用策略模式(LFU、LRU和2Q)编写3个缓存实现。在这一点上,我已经编写了LRU实现,无法考虑实现它的条件。 这是我的密码 请帮帮我
本文向大家介绍Java实现SSH模式加密,包括了Java实现SSH模式加密的使用技巧和注意事项,需要的朋友参考一下 Java实现SSH模式加密的实现原理思路分享给大家。 一、SSH加密原理 SSH是先通过非对称加密告诉服务端一个对称加密口令,然后进行验证用户名和密码的时候,使用双方已经知道的加密口令进行加密和解密,见下图: 解释:SSH中为什么要使用非对称加密,又使用对称加密,到底有什么用处?到底
本文向大家介绍Java 中责任链模式实现的三种方式,包括了Java 中责任链模式实现的三种方式的使用技巧和注意事项,需要的朋友参考一下 责任链模式 责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。这里就不再过多的介绍什么是责任链模式,主要来说说java中如何编写。主要从下面3个框架中
问题内容: 谁能提供一个单例模式的示例并解释为什么有必要吗? 问题答案: 在走单身路线之前,请重新考虑。您真的需要单身人士吗?如果您需要实现单例的方案,那是因为对它们的需求并没有真正表达出来。您最好不要仅在代码库中引入单例,因为遵循设计模式会很酷。 干净的代码讨论-全局状态和单例 一次还不够 表演者单身人士 但是,真正值得了解的是Dependency Injection 。 现在,如果您真的想用J
问题内容: 我一直在阅读有关OCP主体以及如何使用策略模式来实现此目的的信息。 我打算尝试向几个人解释这一点,但是我能想到的唯一示例是根据“订单”的状态使用不同的验证类。 我已经在线阅读了几篇文章,但这些文章通常不会描述使用该策略的真实原因,例如生成报告/账单/验证等。 您是否认为现实世界中有常见的战略模式示例? 问题答案: 你必须加密文件。 对于小文件,可以使用“内存中”策略,其中读取完整的文件
本文向大家介绍java 单例模式的实例详解,包括了java 单例模式的实例详解的使用技巧和注意事项,需要的朋友参考一下 java 单例模式的实例详解 概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对