Akka边学边写(3)-- ByteString介绍】的更多相关文章

Akka的IO层设计能够參考这篇文档,本文简介一下ByteString的设计. Immutable消息 Actor之间是通过消息沟通的.但为了避免同步问题,消息必须是Immutable. 因此.Akka无法使用byte[]或ByteBuffer.而是设计了ByteString来表示二进制数据.理解这一点非常重要,由于ByteString是不可变的.所以ByteString的非常多看似改动状态的方法实际上都是返回一个新的ByteString实例. 假设对String或BigInteger等Java…
Akka Akka是什么呢?直接引用Akka站点上面的描写叙述吧: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM. 反正我认为Akka是比較难上手的,并且文档对于新手来说,也不太友好.本文会用Akka写一个Hello World程序,从这个程序入手,介绍Akka的一些基本概念. he…
前面几篇文章用Akka写了HelloWorld和EchoServer,为了更进一步学习Akka,本文将会实现一个非常小的RPG游戏server:MiniRPG. 游戏逻辑 由于是迷你RPG,所以逻辑非常easy.server能够处理四种操作:创建玩家.给玩家加经验.升级.查询玩家信息.以下是Player类的代码(Getters和Setters省略): public class Player { private int id; private String name; private int ex…
EchoServer 上篇文章里,我们用Akka写了一个简单的HelloWorld样例,对Akka(以及Actor模式)有了初步的认识.本文将用Akka写一个EchoServer,看看在Actor的世界里,怎样使用TCP协议. Github项目 照例.EchoServer的代码被放在了Github上.EchoServer比HelloWorld略微复杂一点,一共同拥有三个类.例如以下图所看到的: Main 这次先从主类入手: main()方法的第一行创建了一个Actor系统,名字为mySystem…
说明:我是先上手做一些简单的例子,然后在尝试的过程中理解Django的原理,笔记也是按这个思路来的. 一.Django结构与基本文件介绍 1. django-admin.py 工程管理工具,主要用于创建项目和app等.例:django-admin.py startproject project_example会创建一个名为project_example的工程,目录结构如下:|-- project_example|    |--project_example|        |-- __init_…
makefile 介绍 make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序. 首先,我们用一个示例来说明makefile的书写规则.以便给大家一个感性认识.这个示例来源于gnu的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件.我们的规则是: 1)如果这个工程没有编译过,那么我们的所有c文件都要编译并被链接. 2)如果这个工程的某几个c文件被修改,那么我们只编译被…
Activity activity 是最基本的模块,我们成为活动,一个activity通常就是一个单独的屏幕,每一个活动都被实现为一个独立的类,且都继承活动的基类.在activity的实现类里显示用户的视图,并处理事件. Intent实现activity与activity直接的切换.Intent类用于描述应用的功能.他有2个重要的部分:动作和动作对应的数据.典型的动作类型有:MAIN,VIEW等 如果需要activity 显示指定的view,只需要调用Activity 的setContentVi…
文章可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6928612.html.文章未完,如果不在博客园(cnblogs)发现本文,请访问前面的链接查看最新版. GUI是什么 GUI是图形用户界面(graphical user interface)的意思,意思是采用图形方式显示的计算机操作用户界面. 这里的写GUI,指的是在屏幕上绘制控件(widget),并对这些控件进行管理.控件,大致就是像按钮.文本框这些组成一个GUI程序的基本部件.(注:这…
1.创建数值对象并赋值 a=1#整数 b=1.1#浮点数 c=1.23e5#实数 d=1.23+4.56j#虚数 2.更新数值对象 注意:由于数值对象是不可变,所以与其说更新,还不如说把变量名从一个对象摘下,贴到还有一个新的对象上去 从上图能够看见尽管相同赋值1000,可是两者的id是不同的,代表不同的对象,仅仅只是是值相同而已 3.删除数值对象 依据第二点,事实上一般所谓的删除事实上就是不使用那个数值对象,假设严格来说删除,那么就须要用到del这个keyword 在运行del操作之后,a事实上…
首先讲一下我为什么要写这一系列的文章,现在网上大量的springcloud相关的文章,使用的springboot和springcloud的版本都相对比较老,很多还是在使用springboot1.x的版本,如果尝鲜想使用springboot2.x的版本,很多配置都和之前的不一样,有了大量的修改,很多刚开始学习的朋友可能试一试搭不起来就放弃了,本系列教程就是帮助刚接触springcloud的朋友简单上手,快速起步. springboot进入2.x以后,历经一年多的修修改改,终于到了2.1.x的版本,…