于吉吉的技術(shù)博客

          建造高性能門(mén)戶(hù)網(wǎng)

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            65 隨筆 :: 6 文章 :: 149 評(píng)論 :: 0 Trackbacks

          2011年1月6日 #

          posted @ 2014-03-04 10:49 陳于喆 閱讀(450) | 評(píng)論 (0)編輯 收藏

          posted @ 2014-02-23 12:54 陳于喆 閱讀(419) | 評(píng)論 (0)編輯 收藏

               摘要: 最近接手項(xiàng)目從cocos2dx 2.0 升級(jí)為 3.0 ,至于為什么要升級(jí)我也弄不清楚,只感覺(jué)3.0是要擺脫cocos2d-iphone的身影,這是要作死的態(tài)度嗎,沒(méi)時(shí)間去了解3.0的核心發(fā)生了神馬變化,只為了從cocos2dx2.0經(jīng)常適應(yīng)到3.0做了一些紀(jì)錄,以便查閱和方便正在從2.0到3.0的朋友。  閱讀全文
          posted @ 2013-12-27 23:29 陳于喆 閱讀(18059) | 評(píng)論 (5)編輯 收藏

          posted @ 2013-07-05 17:18 陳于喆 閱讀(4528) | 評(píng)論 (6)編輯 收藏

          posted @ 2012-03-19 16:33 陳于喆 閱讀(4383) | 評(píng)論 (3)編輯 收藏

               摘要: 其實(shí)為什么javascript的定時(shí)器會(huì)出現(xiàn)所謂的不可靠或偏差的情況,這是可以理解的,最主要的問(wèn)題是它們并不是所謂的線程,其實(shí)
          javascript是運(yùn)行于單線程的環(huán)境中,而定時(shí)器只是計(jì)劃代碼在未來(lái)某個(gè)執(zhí)行的時(shí)間,執(zhí)行的時(shí)間點(diǎn)是不能被保證的,因?yàn)樵陧?yè)面的生命周期中,不同時(shí)間可能存在其他代碼,或各個(gè)瀏覽器的內(nèi)核控制住javascript進(jìn)程。  閱讀全文
          posted @ 2012-01-10 15:15 陳于喆 閱讀(3548) | 評(píng)論 (6)編輯 收藏

          posted @ 2011-12-06 16:22 陳于喆 閱讀(4992) | 評(píng)論 (7)編輯 收藏

          posted @ 2011-08-21 15:55 陳于喆 閱讀(6428) | 評(píng)論 (0)編輯 收藏

          posted @ 2011-08-15 16:51 陳于喆 閱讀(6337) | 評(píng)論 (13)編輯 收藏

               摘要: Starting and Stopping Mongo
          Security and Authentication
          Monitoring and Diagnostics
          Backups
            閱讀全文
          posted @ 2011-07-30 18:23 陳于喆 閱讀(20571) | 評(píng)論 (2)編輯 收藏

          posted @ 2011-06-15 15:07 陳于喆 閱讀(894) | 評(píng)論 (0)編輯 收藏

               摘要: objectid是一種輕量型的,不同的機(jī)器都能用全局唯一的同種方法輕量的生成它,而不是采用傳統(tǒng)的自增的主鍵策略,因?yàn)樵诙嗯_(tái)服務(wù)器上同步自動(dòng)增加主鍵既費(fèi)力又費(fèi)時(shí),不得不佩服,mongodb從開(kāi)始設(shè)計(jì)就被定義為分布式數(shù)據(jù)庫(kù)。
          下面深入一點(diǎn)來(lái)翻翻這個(gè)Objectid的底細(xì),在mongodb集合中的每個(gè)document中都必須有一個(gè)"_id"建,這個(gè)鍵的值可以是任何類(lèi)型的,在默認(rèn)的情況下是個(gè)Objectid對(duì)象。
          當(dāng)我們讓一個(gè)collection中插入一條不帶_id的記錄,系統(tǒng)會(huì)自動(dòng)地生成一個(gè)_id的key  閱讀全文
          posted @ 2011-06-12 18:30 陳于喆 閱讀(15260) | 評(píng)論 (8)編輯 收藏

          posted @ 2011-06-02 16:11 陳于喆 閱讀(971) | 評(píng)論 (0)編輯 收藏

               摘要: google map測(cè)距的實(shí)現(xiàn)和分析
          不斷有傳聞google map在今年的7月1號(hào)之后在大陸停止運(yùn)營(yíng),具體原因是因?yàn)樘斐呐普諉?wèn)題,這個(gè)就不多講了,可以發(fā)現(xiàn)現(xiàn)在搜房網(wǎng)的地圖,和安居客等的地圖紛紛都撤下 google map,而重新選擇了mapabc或baidu,當(dāng)然網(wǎng)易房產(chǎn)地圖也不例外,現(xiàn)在也在使用mapabc作為網(wǎng)易房產(chǎn)地圖的開(kāi)發(fā),預(yù)計(jì)將在6月底前上線,到 時(shí)再跟大家分享一下mapabc的一些開(kāi)發(fā)實(shí)踐。
          還是說(shuō)回google map的開(kāi)發(fā),自從上次建了個(gè)qq群就有不少人在問(wèn)測(cè)距怎么實(shí)現(xiàn),當(dāng)然很多人想的是拿來(lái)主義的,當(dāng)時(shí)是拿http://xf.house.163.com /gz/map/000B.html的例子出來(lái),但確實(shí)頁(yè)面上進(jìn)行了封裝也寫(xiě)得比較亂,所以還是比較難以抽離,先給個(gè)簡(jiǎn)單實(shí)現(xiàn)的例子:  閱讀全文
          posted @ 2011-06-02 14:01 陳于喆 閱讀(3969) | 評(píng)論 (1)編輯 收藏

               摘要: 有朋友去一家大型的互聯(lián)網(wǎng)公司參加了java程序員的筆試,抄下了一些筆試題,可能有的抄的并不全,試了解答一下,有些還真的答不出來(lái)

          1.cookie和session的作用以及他們的應(yīng)用場(chǎng)合
          2.怎樣讓jvm加載一個(gè)Class的同時(shí)執(zhí)行一段代碼
          3.post和get區(qū)別
          4.事務(wù)的屬性有哪些?寫(xiě)出spring或jdbc管理事務(wù)的例子
          5.實(shí)現(xiàn)一個(gè)高并發(fā)、高性能的hashmap。寫(xiě)出偽代碼
          6.解析一段xml,拼接成一個(gè)url。  閱讀全文
          posted @ 2011-04-21 17:23 陳于喆 閱讀(3772) | 評(píng)論 (9)編輯 收藏

               摘要: 好吧,這個(gè)錯(cuò)誤浪費(fèi)了我今天幾個(gè)小時(shí)的時(shí)間,必須把它記錄下來(lái)。
          問(wèn)題是這樣的,在啟動(dòng)更新了portmap,exportfs,一些沒(méi)問(wèn)題后,在做/etc/init.d/nfs-kernel-server restart 出現(xiàn)

          /etc/init.d/nfs-kernel-server start
          Exporting directories for NFS kernel daemonexportfs: /etc/exports [1]:
          Neither 'subtree_check' or 'no_subtree_check' specified for export
          "foobar".
          Assuming default behaviour ('no_subtree_check').
          NOTE: this default has changed since nfs-utils version 1.0.x

          .
          Starting NFS kernel daemon: nfsd
          Not st  閱讀全文
          posted @ 2011-04-06 17:13 陳于喆 閱讀(1931) | 評(píng)論 (1)編輯 收藏

               摘要: NFS服務(wù)器端
          apt-get install nfs-kernel-server nfs-common portmap

          vi /etc/hosts.allow
          portmap: 192.168.0.
          lockd: 192.168.0.
          rquotad: 192.168.0.
          mountd: 192.168.0.
          statd: 192.168.0.

          vi /etc/hosts.deny
          portmap:ALL
          lockd:ALL
          mountd:ALL
          rquotad:ALL
          statd:ALL

          vi /etc/default/portmap
          將 -i 127.0.0.1 注釋掉  閱讀全文
          posted @ 2011-04-06 17:09 陳于喆 閱讀(1461) | 評(píng)論 (0)編輯 收藏

               摘要: google Map的交互基本都是事件驅(qū)動(dòng)的,這表示js是通過(guò)生成時(shí)間來(lái)響應(yīng)交互的,并且處于監(jiān)聽(tīng)我們?cè)O(shè)定的事件,每個(gè) Google Maps API 對(duì)象都可導(dǎo)出大量已命名的事件。如果程序想要實(shí)現(xiàn)某些事件,則會(huì)為這些事件注冊(cè) Javascript 事件偵聽(tīng)器,并會(huì)在通過(guò)在 google.maps.event 命名空間中注冊(cè) addListener() 事件處理程序接收這些事件時(shí)執(zhí)行相應(yīng)的代碼。

          初步的事件響應(yīng)

          google map中的所有對(duì)象都可以對(duì)用戶(hù)事件監(jiān)聽(tīng)并作出響應(yīng),用戶(hù)的事件可以包括鼠標(biāo)或鍵盤(pán),對(duì)象可以監(jiān)聽(tīng)以下這幾種事件:
          'click','dblclick','mouseup','mousedown','mouseover','mouseout'
          這些事件看上去很像標(biāo)準(zhǔn)的DOM事件,但這些時(shí)間可以在不同的瀏覽器實(shí)現(xiàn)不同的DOM事件模型。  閱讀全文
          posted @ 2011-03-30 16:58 陳于喆 閱讀(26595) | 評(píng)論 (0)編輯 收藏

               摘要: 在微博看到介紹的一款linux系統(tǒng)信息神器,dstat,收藏一下

          dstat可以直接可直接替換vmstat, iostat, netstat ,nfsstat, ifstat等系統(tǒng)工具,監(jiān)控cpu、disk 、mem、load、interrupt、net、proc、CS....

          安裝
          wget http://rpmforge.sw.be/redhat/7.3/en/i386/rpmforge/RPMS/dstat-0.6.9-1.rh7.rf.noarch.rpm
          rpm -ivh dstat-0.6.9-1.rh7.rf.noarch.rpm
          or
          apt-get install dstat
          yum install dstat  閱讀全文
          posted @ 2011-03-24 17:15 陳于喆 閱讀(2268) | 評(píng)論 (3)編輯 收藏

               摘要: 本來(lái)是想將房產(chǎn)地圖google map的應(yīng)用記錄一個(gè)系列,但繼1)記錄完之后總找不到時(shí)間繼續(xù)記錄下去,1)中主要解決了Google Maps JavaScript API V3 與 Google Local Search API兩者由于版本問(wèn)題帶來(lái)的一系列麻煩,思路是使用一個(gè)iframe作為兼容的跳板,子頁(yè)面應(yīng)用Local Search API獲得查詢(xún)的result后返回給父頁(yè)面,下面再記錄一些地圖坐標(biāo)的定位和一些UI的組成。

          可參考 http://xf.house.163.com/gz/map/00Xa.html  閱讀全文
          posted @ 2011-03-05 16:02 陳于喆 閱讀(4420) | 評(píng)論 (2)編輯 收藏

               摘要: 一直以來(lái)似乎都有一個(gè)錯(cuò)覺(jué),認(rèn)為map跟其他的集合類(lèi)一樣繼承自Collection,其實(shí)不然,Map和Collection在結(jié)構(gòu)層次上是沒(méi)有任何關(guān)系的,通過(guò)查看源碼可以發(fā)現(xiàn)map所有操作都是基于key-value對(duì),而不是單獨(dú)的元素。

          下面以HashMap為例子,深入對(duì)Map的實(shí)現(xiàn)機(jī)制進(jìn)行了解,在這個(gè)過(guò)程中,請(qǐng)打開(kāi)jdk源碼。

          Hash算法

          HashMap使用Hash算法,所以在解剖HashMap之間,需要先簡(jiǎn)單的了解Hash算法,Hash算法一般也成為散列算法,通過(guò)散列算法將任意的值轉(zhuǎn)化成固定的長(zhǎng)度輸出,該輸出就是散列值,這是一種壓縮映射,也就是,散列值的空間遠(yuǎn)遠(yuǎn)小于輸入的值空間。
          簡(jiǎn)單的說(shuō),hash算法的意義在于提供了一種快速存取數(shù)據(jù)的方法,它用一種算法建立鍵值與真實(shí)值之間的對(duì)應(yīng)關(guān)系,(每一個(gè)真實(shí)值只能有一個(gè)鍵值,但是一個(gè)鍵值可以對(duì)應(yīng)多個(gè)真實(shí)值),這樣可以快速在數(shù)組等里面存取數(shù)據(jù)。

          下面我們建立一個(gè)HashMap,然后往里面放入12對(duì)key-value,這個(gè)HashMap的默認(rèn)數(shù)組長(zhǎng)度為16,我們的key  閱讀全文
          posted @ 2011-02-15 19:18 陳于喆 閱讀(10177) | 評(píng)論 (6)編輯 收藏

               摘要: 以前的房產(chǎn)地圖一直都是使用有道地圖,雖然有道地圖是很好,但是為了更好,還是決定使用google地圖來(lái)重新開(kāi)發(fā)^_^,下面是一個(gè)開(kāi)發(fā)完畢的簡(jiǎn)單應(yīng)用http://xf.house.163.com/gz/map/000B.html

          1)整合Google Maps JavaScript API V3 與 Google Local Search API

          Google Maps JavaScript API V3
          地址 http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/

          Google Maps JavaScript API V3 文檔讀起來(lái)真的是很清晰,各種demo也很齊全,并且論壇的擁有巨大的論壇支持,對(duì)比了一下Google Maps JavaScript API V3 和 V2 的版本,雖然第3版的 Google Maps API 看上去跟第2版挺相識(shí),但在內(nèi)在機(jī)制上有了較大的變化,尤其在對(duì)移動(dòng)瀏覽器的支持上,專(zhuān)門(mén)針對(duì)iphone和android  閱讀全文
          posted @ 2011-02-12 15:57 陳于喆 閱讀(4967) | 評(píng)論 (6)編輯 收藏

               摘要: 對(duì)于進(jìn)程管理工具平時(shí)大多用的是ps,kill,top,sleep等等這些命令,平時(shí)linux的一些指令我都會(huì)做一些記錄,本著好記性不如爛博客的精神,也把進(jìn)程管理的命令做一點(diǎn)系統(tǒng)性的記錄,參考資料基本是鳥(niǎo)哥還有網(wǎng)上的一些文章。

          ps
          ps命令主要是查看系統(tǒng)進(jìn)程的狀態(tài),平時(shí)最常用的命令是ps aux,然后再使用管道導(dǎo)向到grep查找特定的進(jìn)程,然后進(jìn)此特定進(jìn)程進(jìn)行操作。
          要對(duì)進(jìn)程進(jìn)行操作必須先了解到當(dāng)前進(jìn)程的情況,ps命令體現(xiàn)了現(xiàn)實(shí)當(dāng)前運(yùn)行進(jìn)程的快照,ps和top和相似,但ps提供了更多的信息,可以確定哪些進(jìn)程正在運(yùn)行,哪些進(jìn)程被掛起,運(yùn)行了多長(zhǎng)時(shí)間,以及進(jìn)行使用的資源和進(jìn)程的優(yōu)先級(jí),這些信息對(duì)我們都有很重要的作用,當(dāng)我們使用ps aux可以獲得終端所有用戶(hù)的有關(guān)進(jìn)程信息。  閱讀全文
          posted @ 2011-01-21 17:56 陳于喆 閱讀(1101) | 評(píng)論 (0)編輯 收藏

          posted @ 2011-01-21 12:34 陳于喆 閱讀(597) | 評(píng)論 (0)編輯 收藏

               摘要: 問(wèn)題是這樣的,有個(gè)腳本需要10秒鐘執(zhí)行一次,腳本具體功能就不細(xì)說(shuō),定時(shí)任務(wù)自然選用crontab,但是crontab最小的執(zhí)行時(shí)間為分鐘,最后決定選用死循環(huán)進(jìn)行實(shí)現(xiàn)。

          腳本
          vi hello.sh
          #!/bin/sh
          while :
          do
          echo `date` >> /home/chenyz/1 //這里是任務(wù)的實(shí)現(xiàn)
          sleep 10
          done

          這里的程序運(yùn)行時(shí)間間隔是10s,小心咯,如果沒(méi)有加sleep 10,你的機(jī)器很快就會(huì)耗盡資源,負(fù)載會(huì)狂飆。

          接著需要把腳本用后臺(tái)守護(hù)進(jìn)程來(lái)運(yùn)行,避免用戶(hù)退出而導(dǎo)致腳本失效  閱讀全文
          posted @ 2011-01-19 17:47 陳于喆 閱讀(2557) | 評(píng)論 (0)編輯 收藏

               摘要: 對(duì)于用戶(hù)管理工具平時(shí)大多用的是groupadd,useradd,usermod等等這些命令,平時(shí)linux的一些指令我都會(huì)做一些記錄,本著好記性不如爛博客的精神,也把用戶(hù)管理的命令做一點(diǎn)系統(tǒng)性的記錄,參考資料基本是鳥(niǎo)哥還有網(wǎng)上的一些文章。

          用戶(hù)組的管理
          linux可以對(duì)一個(gè)用戶(hù)組中的所有用戶(hù)進(jìn)行集中的管理,用戶(hù)組的管理包括用戶(hù)組添加,刪除修改,實(shí)際上這些操作就是對(duì)/etc/group文件作出修改。

          groupadd 新增一個(gè)用戶(hù)組
          groupadd [-g gid [-o]] [-r] [-f] group
          -g 其中g(shù)id是指定新用戶(hù)組的標(biāo)識(shí)號(hào),除非配合使用-o參數(shù),不然該值必須是唯一的
          -o 標(biāo)識(shí)新用戶(hù)組gid可以和系統(tǒng)中原有的用戶(hù)組的gid值相同
          實(shí)例:
          groupadd chenyuzhe1
          groupadd -g 789 chenyuzhe2

          groupdel 刪除用戶(hù)組
          實(shí)例:
          groupdel chenyuzhe1  閱讀全文
          posted @ 2011-01-19 15:36 陳于喆 閱讀(1460) | 評(píng)論 (0)編輯 收藏

               摘要: 對(duì)于磁盤(pán)管理工具平時(shí)大多用的是df,du這些命令,平時(shí)linux的一些指令我都會(huì)做一些記錄,本著好記性不如爛博客的精神,先把磁盤(pán)管理的命令做一點(diǎn)系統(tǒng)性的記錄。

          du
          du的英文為:disk usage,含義是磁盤(pán)空間使用情況,功能是逐級(jí)進(jìn)入指定目錄的每一個(gè)子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊的情況,如果沒(méi)有指定目錄,則對(duì)當(dāng)前的目錄進(jìn)行統(tǒng)計(jì)。
          du的命令各個(gè)選項(xiàng)含義如下:

          a:顯示全部目錄和其次目錄下的每個(gè)檔案所占的磁盤(pán)空間
          s:只顯示各檔案大小的總合
          b:大小用bytes來(lái)表示
          x:跳過(guò)在不同文件系統(tǒng)上的目錄不予統(tǒng)計(jì)
          a:遞歸地顯示指定目錄中各文件及子孫目錄中各文件占用的數(shù)據(jù)塊數(shù)  閱讀全文
          posted @ 2011-01-19 13:08 陳于喆 閱讀(511) | 評(píng)論 (0)編輯 收藏

               摘要: List在數(shù)據(jù)結(jié)構(gòu)中表現(xiàn)為是線性表的方式,其元素以線性方式存儲(chǔ),集合中允許存放重復(fù)的對(duì)象,List接口主要的實(shí)現(xiàn)類(lèi)有
          ArrayList
          ArrayList 其實(shí)就是一組長(zhǎng)度可變的數(shù)組,當(dāng)實(shí)例化了一個(gè)ArrayList,該數(shù)據(jù)也被實(shí)例化了,當(dāng)向集合中添加對(duì)象時(shí),數(shù)組的大小也隨著改變,這樣它所帶來(lái)的有優(yōu)點(diǎn)是快速的隨機(jī)訪問(wèn),即使訪問(wèn)每個(gè)元素所帶來(lái)的性能問(wèn)題也是很小的,但缺點(diǎn)就是想其中添加或刪除對(duì)象速度慢,當(dāng)你創(chuàng)建的數(shù)組是不確定其容量,所以當(dāng)我們改變這個(gè)數(shù)組時(shí)就必須在內(nèi)存中做很多的處理,如你想要數(shù)組中任意兩個(gè)元素中間添加對(duì)象,那么在內(nèi)存中數(shù)組要移動(dòng)所有后面的對(duì)象。

          LinkedList
          LinkedList 是通過(guò)節(jié)點(diǎn)的連接實(shí)現(xiàn)鏈表的數(shù)據(jù)結(jié)構(gòu),向linkedList中插入或刪除元素的速度是特別快,而隨機(jī)訪問(wèn)的速度相對(duì)較慢,這個(gè)是由于鏈表本身的性質(zhì)造成的,在鏈表中,每個(gè)節(jié)點(diǎn)都包含了前一個(gè)節(jié)點(diǎn)的引用,后一個(gè)節(jié)點(diǎn)的引用和節(jié)點(diǎn)存儲(chǔ)值,當(dāng)一個(gè)新節(jié)點(diǎn)插入式,只需要修改其中相關(guān)的前后關(guān)系節(jié)點(diǎn)引用即可,刪除節(jié)點(diǎn)也是一樣。操作對(duì)象只需要改變節(jié)點(diǎn)的鏈接,新節(jié)點(diǎn)可以存放在  閱讀全文
          posted @ 2011-01-16 17:36 陳于喆 閱讀(11412) | 評(píng)論 (1)編輯 收藏

               摘要: 我們都知道Set是一種最簡(jiǎn)單的集合,對(duì)象的排序無(wú)特定的規(guī)則,集合里面存放的是對(duì)象的引用,所以沒(méi)有重復(fù)的對(duì)象,在上面的代碼中,程序創(chuàng)建了a、b、 c、d、e五個(gè)變量,其中a和c,b和e所引用的字符串是一致的,然后向set添加了這5個(gè)變量。打印出來(lái)的size()只有3個(gè),實(shí)際上向集合加入的只有3個(gè)對(duì)象,在執(zhí)行Set的add()方法時(shí)已經(jīng)進(jìn)行了判斷這個(gè)對(duì)象是否存在于集合,如果對(duì)象已經(jīng)存在則不繼續(xù)執(zhí)行。
          Set的接口有兩個(gè)實(shí)現(xiàn)類(lèi),HashSet和TreeSet,HashSet是按照哈希算法來(lái)進(jìn)行存取集合中的對(duì)象,存取速度比較快,TreeSet類(lèi)顯示了SortedSet接口,具有排序功能

          HashSet
          HashSet是按照哈希算法來(lái)存取集合中的對(duì)象,具有很好的存取和查找性能,當(dāng)向集合中加入一個(gè)對(duì)象時(shí),HashSet會(huì)調(diào)用對(duì)象的hashCode()方法來(lái)獲取哈希碼,然后根據(jù)這個(gè)哈希嗎來(lái)計(jì)算對(duì)象在集合中的存放位置。
          在Object類(lèi)中定義了hashCode()和equal(),equal()是按照內(nèi)存地址比較對(duì)象是否相同,如果 object1.equal(  閱讀全文
          posted @ 2011-01-06 18:07 陳于喆 閱讀(8613) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 肥西县| 会泽县| 伊通| 黄龙县| 黄骅市| 瑞昌市| 永定县| 建宁县| 新巴尔虎右旗| 大渡口区| 多伦县| 霸州市| 泌阳县| 连江县| 油尖旺区| 苍梧县| 富阳市| 兴海县| 资兴市| 梅河口市| 乐至县| 永昌县| 扬州市| 张家界市| 西贡区| 卢湾区| 盈江县| 山东| 新昌县| 淮南市| 老河口市| 泸溪县| 潮安县| 来凤县| 于田县| 高尔夫| 电白县| 朝阳县| 澄江县| 义乌市| 门头沟区|