成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Scala代碼實例之Kestrel:總結

開發(fā) 后端
本文對Scala代碼實例之Kestrel系列進行了總結。作者對Scala的感覺是:語法和結構相當靈活,而語法則和Ruby有些相似之處。關于Kestrel本身,就算是不學習Scala語言,它的一些設計方式也是非常值得學習的。

Scala代碼實例之Kestrel系列到了本篇就基本結束了,***再總結一下。

代碼讀到這里,基本上已經把核心部分的代碼都已經讀完了。只剩下一個KestrelHandler.scala,我們就簡單地說一說。

如果對Apache Mina的API有一個簡單的了解之后,閱讀KestrelHandler.scala已經不會有什么問題。KestrelHandler是當Mina獲得一個新的鏈接請求之后創(chuàng)建出來的對象,對象的主流程就是一個act。通過 react 的機制來處理所有往來的信息,當然除了異常處理之外,只有MinaMessage.MessageReceive(msg)是會調用到PersistentQueue的一些操作。具體的函數(shù)就是handle,這里用到了一個叫做asInstanceOf的方法,這是Scala最基礎類的一個方法,用途就是強制類型轉換,在做與Java接口的時候,可能會經常遇到它。

handle處理報文的格式,兼容memcached的協(xié)議,也沒有太多需要解釋的地方。

總結一下:

讀完 Kestrel 之后,給我的感覺就是,Scala的語法非常輕盈,跟六脈神劍+凌波微步似的,有的時候還真抓不住。Scala的語法和結構相當靈活,比如有些地方需要嚴格地寫,會有很多的 () 和 . ,但是簡化的寫法,就用空格隔開了。另外Scala也沿襲了Ruby的語法特點,不需要每句話的***都要;,直接用回車對語法進行判斷,這些優(yōu)化讓程序看起來更像是一些自然語言,或者——呃——更加智能。

由于Scala弱化了變量類型,同時還強化了類的定義,所有變量都是類,所有的方法也都是類,連消息傳遞中,也使用了case class這樣的特殊類,并且讓常見的單例模式,或者常用的需要重載的函數(shù),都由編譯器自動實現(xiàn),確實可以讓代碼大大的精簡,變得很輕盈。

這種語言的設置,經過先輩語言,比如Lisp,Python證明,對于把Scala語言作為初學語言的人來說,幾乎是沒有門檻的,因為這無非是一套劍譜而已。而對于從C,Java這樣的語言轉過去的工程師來說,確實有點困難,因為打慣了橫拳的人,直接告訴他,虛空一指就能讓敵人動彈不得,用這樣的招式多半有點心虛,擔心這真氣不那么靠譜。而且有的時候,因為不熟指譜,打出來的命中率也不高。所以如果可以的話,還是會堅持用自己習慣的語法來寫Scala。

寫慣Pascal的人,寫C,總用不習慣 a++這樣的語法一樣,寫出漂亮的Scala程序,還是需要慢慢地才會適應過來。

關于Kestrel本身,就算是不學習Scala語言,它的一些設計方式也是非常值得學習的。比如說Journal.scala對文件緩存這個機制的處理方式,非常的巧妙。而為了提高每個鏈接的效率,而讓client等待一段時間,不是直接告訴client沒有新的消息,這樣的細節(jié)處理,會大大提高消息隊列整體的性能。非常值得學習。

畢竟它是用在Twitter上的一個核心消息隊列算法呀。

【相關閱讀】

  1. 從Java走進Scala(Scala經典讀物)
  2. A Scala Tutorial for Java programmers
  3. 專題:Scala編程語言
  4. 細說Kestrel.scala中的PersistentQueue
  5. Scala快速入門:從下載安裝到定義方法
責任編輯:yangsai 來源: dingsding
相關推薦

2009-09-28 10:26:12

Scala代碼實例Kestrel

2009-09-18 11:44:05

Scala實例教程Kestrel

2009-09-22 10:15:42

PersistentQScala

2009-09-22 09:59:40

QueueCollecScala

2009-09-28 11:25:17

PersistentQKestrelScala

2009-09-28 11:37:03

Journal.scaKestrel

2009-09-22 09:42:24

Scala的核心

2009-10-26 16:53:00

VB.NET常用代碼

2009-07-09 00:25:00

ScalaSet類Map類

2009-07-09 00:25:00

ScalaListTuple

2009-07-22 07:47:00

Scala客戶代碼

2009-07-22 07:45:00

Scala代碼重復

2009-07-09 00:25:00

Scala參數(shù)化

2011-07-06 14:46:27

ASP

2011-07-06 14:43:41

ASP

2022-10-28 07:10:51

HudiJavaHive

2009-07-08 09:47:49

Scala 2.8Scala

2009-09-27 15:29:00

Scala講座面向對象Scala

2009-09-09 14:09:35

Scala Trait

2012-07-27 10:30:12

重構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美一区二区三区久久手机版 | 激情欧美一区二区三区中文字幕 | 亚洲色欧美另类 | 国产在线观看 | 久久久久久一区 | 国产精品自产av一区二区三区 | 日本爱爱 | www.日本精品| 自拍在线 | 国产精品日韩一区二区 | 亚洲国产精品成人综合久久久 | 午夜久久av | 久久网一区二区三区 | 亚洲精品av在线 | 亚洲成人国产精品 | 五月激情婷婷在线 | 在线播放国产视频 | 色婷婷综合成人av | 国产免费自拍 | 国产精品一区二区av | 国产极品91 | 激情黄色在线观看 | 亚洲日韩中文字幕一区 | 成人一区二区在线 | 狠狠操狠狠搞 | 欧美日韩视频在线播放 | 久久天堂网 | 国产成人精品亚洲日本在线观看 | 一本综合久久 | 99久久精品国产一区二区三区 | eeuss国产一区二区三区四区 | 免费一级黄色 | 成人在线精品视频 | 超碰综合 | 日韩高清中文字幕 | 九九热在线视频 | 午夜合集| 久久精品这里 | 亚洲国产精品一区二区久久 | 欧美成人精品二区三区99精品 | 欧美日本一区 |