<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    設(shè)計(jì)java

    j2ee輕量級(jí)框架,IMVC,IORM && web網(wǎng)絡(luò)游戲

    2008年7月26日 #

    抽取最小的jre--BuildJre項(xiàng)目開(kāi)啟

        java在桌面軟件的失利,很大程度上取決與她運(yùn)行環(huán)境的陪著復(fù)雜度,還有隨時(shí)帶的一個(gè)龐大的jre環(huán)境。有時(shí)候我們并不需要jre中全部的類(lèi)庫(kù)支持,我們只需要一些對(duì)我們項(xiàng)目有用的類(lèi)庫(kù),能否有一種通用的方法來(lái)抽取jre中的這些對(duì)我們有用的部分呢?google了下找到了幾篇文章介紹這個(gè)的。主要就是用verbose參數(shù)運(yùn)行jar,然后觀察java載入了多少java類(lèi),然后手動(dòng)或者寫(xiě)個(gè)程序自動(dòng)的吧這些類(lèi)打包和jvm打包為一個(gè)全新的jre環(huán)境。這種方法是可行的,但是卻是不通用,而且這種方法還有一個(gè)很大的弊端,當(dāng)有些類(lèi)導(dǎo)入到我們項(xiàng)目中,但是在verbose的時(shí)候沒(méi)有用到(比如一些異常類(lèi)),我們就不會(huì)導(dǎo)入,最終可能在發(fā)布運(yùn)行的時(shí)候就用到了,這樣可不妙。那么是否還有其他方法來(lái)瘦身jre環(huán)境呢,然后通過(guò)隨身附帶jre發(fā)布java程序?答案一定是有的,我已經(jīng)著手在開(kāi)發(fā)這個(gè)應(yīng)用,我把她起名為BuildJre。
        一,可行性分析(我們加上在win系統(tǒng)下):
           java.exe是java運(yùn)行的一個(gè)入口程序,當(dāng)我們鍵入明了 java className的時(shí)候,首先啟動(dòng)都是這個(gè)程序,然后這個(gè)程序回去查找可用的jre庫(kù),一般是先搜索本目錄和父親目錄,如果接著搜索環(huán)境變量,判斷是否為jre的依據(jù)是,首先java.exe查找懷疑目錄(比如父目錄)的bin下有沒(méi)有java.dll,如果找到,那么他就判定這個(gè)是jre目錄然后查找lib\i386下的jvm.cfg,最后更具這里面的參數(shù)去啟動(dòng)bin\client或者bin\server下的jvm.dll,這個(gè)才是真正的java虛擬機(jī),到這里,java.exe把控制權(quán)全部交給jvm,然后jvm就初始化,分配內(nèi)存等,運(yùn)行程序了,運(yùn)行程序期間導(dǎo)入的jdk包,都在jre目錄下的lib\rt.jar下。
           說(shuō)道這里,我們發(fā)現(xiàn),其實(shí)不用環(huán)境變量,只要有jre環(huán)境就能運(yùn)行java程序,這使得我們更加堅(jiān)定java程序也可以桌面化,因?yàn)樗彩强梢圆挥门渲媚敲绰闊┑沫h(huán)境變量直接運(yùn)行的。再回到瘦身來(lái),剛才說(shuō)了,jdk中所有的以來(lái)包全部位于jre\lib\rt.jar下,我們要廋的就是這個(gè),40多M的rt,我們通過(guò)類(lèi)依賴(lài)抽取,對(duì)于一個(gè)普通的java程序,預(yù)計(jì)可以廋到小于10M,然后配合java.exe,java.dll,等幾個(gè)小的程序,預(yù)計(jì)目標(biāo)是平均廋身到15M以?xún)?nèi)。

        二,實(shí)施思路,用verbose方法不通用,不能在程序內(nèi)部抽取jre,而且還有可能遺漏依賴(lài)項(xiàng),不足提倡。我們架設(shè)有一個(gè)標(biāo)志的依賴(lài)說(shuō)明庫(kù),比如ArrayList這個(gè)類(lèi)依賴(lài)的所有包都一一對(duì)應(yīng),那么我們?nèi)绻诔绦蚶飅mport ArrayList的話(huà),那么我們可以迅速抽取相關(guān)的依賴(lài)包,然后在整個(gè)項(xiàng)目的所有import中去重復(fù),不就ok了?現(xiàn)在的問(wèn)題在于:
              1,不是所有的jdk包都需要import的,比如java.lang下就不用import
              2,有些jdk內(nèi)部類(lèi)在同一個(gè)包下不用寫(xiě)import也一樣依賴(lài)。
              3,計(jì)算jdk內(nèi)部依賴(lài)估計(jì)要很長(zhǎng)實(shí)踐,因?yàn)槲募芏啵蕾?lài)很復(fù)雜。
        這些問(wèn)題基本上都有解決方法,我已經(jīng)開(kāi)始著手解決。

        希望有一天,我們的java項(xiàng)目發(fā)布,只要帶上10M的小型環(huán)境,也不用配置環(huán)境變量,雙擊,ok。。哈哈

    posted @ 2008-08-05 20:59 剎那 閱讀(2038) | 評(píng)論 (2)編輯 收藏

    突然說(shuō)幾句

        這年頭,webgame一個(gè)一個(gè)的冒出來(lái),令我們應(yīng)接不暇,有人說(shuō)webgame是一場(chǎng)新的泡沫,也有人說(shuō)是互聯(lián)網(wǎng)新的機(jī)會(huì),有人說(shuō)webgame是小公司叫板游戲行業(yè)的機(jī)會(huì),也有資深游戲人士說(shuō)小公司做webgmae沒(méi)戲(盛大高管說(shuō),因?yàn)闆](méi)有品牌和玩家資源)。不管怎么樣,webgame的興起已經(jīng)無(wú)法阻擋,包括我們公司,也是眾進(jìn)軍者中的一個(gè)。

        webgame游戲商進(jìn)軍的主要兩個(gè)領(lǐng)域是 策略類(lèi)游戲(往往以js,ajax技術(shù)和純通的web技術(shù)為基礎(chǔ)),和flash休閑社區(qū)游戲(以flash as3等技術(shù)為基礎(chǔ))。策略類(lèi)游戲很早就有了,甚至比現(xiàn)在的門(mén)戶(hù)網(wǎng)站還早,只是那個(gè)時(shí)候沒(méi)有現(xiàn)在這么興起,時(shí)下具有代表性的主要是一些三國(guó),戰(zhàn)爭(zhēng)類(lèi)游戲,像盛大這種大游戲公司也介入不少,連baidu這種重來(lái)不碰游戲的公司都開(kāi)始進(jìn)入了。而flash游戲相對(duì)來(lái)說(shuō)比較少,比如夢(mèng)境家園(純休閑娛樂(lè),可以k歌),比如熱舞街(勁舞團(tuán)的web版),天空左岸 和 富豪街 等都不錯(cuò)。還有兩個(gè)我本人比較期待的還沒(méi)有公測(cè)的flash網(wǎng)游,一個(gè)是昆侖online,一個(gè)是和熱舞街,富豪街同一個(gè)公司的 口袋寵物。看他們的游戲截圖已經(jīng)非常類(lèi)似傳統(tǒng)的大型游戲了。當(dāng)然,更期待的是我們?cè)陂_(kāi)發(fā)的flash網(wǎng)游,哈,內(nèi)容和名字現(xiàn)在還不能透露(小小透露下,我們的網(wǎng)游pk模式和現(xiàn)在任何一種網(wǎng)游的pk模式都不同,挺好玩的哦)。

        。。。。不想說(shuō)了。。想起來(lái)一本書(shū)上的一句話(huà)“真正有想法的人,已經(jīng)埋頭在實(shí)現(xiàn)自己的想法了,不會(huì)把自己的想法寫(xiě)出來(lái),在網(wǎng)上瞎扯淡的,都是沒(méi)事干的。”

    posted @ 2008-07-26 12:49 剎那 閱讀(344) | 評(píng)論 (2)編輯 收藏

    主站蜘蛛池模板: 亚洲女女女同性video| 91亚洲视频在线观看| 蜜桃精品免费久久久久影院| 久久精品国产亚洲AV无码麻豆| 亚洲婷婷天堂在线综合| 99xxoo视频在线永久免费观看| 亚洲人成电影亚洲人成9999网| 亚洲精品无码成人片久久不卡| 成人毛片18女人毛片免费96 | 国产gav成人免费播放视频| 亚洲色大成网站www永久网站| 免费无码看av的网站| 亚洲乱亚洲乱妇24p| 免费jjzz在线播放国产| 国产高清对白在线观看免费91| 中文字幕亚洲乱码熟女一区二区| 久久精品无码免费不卡| 亚洲第一福利网站| 免费无码午夜福利片69| 亚洲综合AV在线在线播放| 国产自国产自愉自愉免费24区| 国产精品亚洲专区在线播放| 免费看国产精品麻豆| 高清永久免费观看| 亚洲伊人久久大香线蕉苏妲己| 曰曰鲁夜夜免费播放视频| 亚洲精品成人片在线观看精品字幕| 两个人日本WWW免费版| 内射干少妇亚洲69XXX| 一个人免费高清在线观看| 窝窝影视午夜看片免费| 在线观看成人免费| 日本一区二区在线免费观看| 久久精品7亚洲午夜a| 美女裸身网站免费看免费网站| 国产亚洲蜜芽精品久久| 亚洲AV无码乱码国产麻豆穿越| 成人黄18免费视频| 国产免费人成视频尤勿视频| 亚洲国产综合在线| 国产亚洲?V无码?V男人的天堂|