IRVINE, Calif. - June 06, 2005 - Blizzard Entertainment? today announced that World of Warcraft?, its massively multiplayer online role-playing game (MMORPG), has officially launched in China. Players in China can now download the game, create accounts and experience the epic adventure of the Warcraft? series in an immersive and continually evolving online environment. The commercial launch of World of Warcraft follows a highly successful open beta period in China during which the game reached a peak concurrency - the total number of subscribers playing simultaneously - of more than 500,000 players.
"It has always been a goal at Blizzard to become a major developer and publisher for the Chinese gaming market," said Mike Morhaime, president and co-founder of Blizzard Entertainment. "We feel that China offers a huge and eager audience and it is poised to become the next great region in gaming. We are simply thrilled to be bringing World of Warcraft to this great country. With fully localized content, a regional network infrastructure, and local, around-the-clock customer support, we believe that World of Warcraft will provide Chinese gamers with an unparalleled game experience."
To provide players with an incomparable level of service, Blizzard Entertainment has partnered with local publisher The9, who it believes to be the most talented MMO operator in China. The9 will help operate and manage World of Warcraft in China, including all aspects of support. The9's dedicated team, composed entirely of Chinese management and staff, will serve as an integral part of the game's development and customer service efforts. They will assist in the synchronization of content updates, the delivery of player feedback to the developers, and will help ensure accurate localization to keep the game relevant and tailored to Chinese gamers. Furthermore, this local team will offer 24-hour support year around, with direct game master (GM) support and local call-center representatives dedicated to helping players with questions regarding gameplay and/or technical issues.
To deliver top-notch customer support and maintain a safe and secure service, Blizzard and The9 have implemented an authorization CD-key system for the official launch of World of Warcraft. This system will help protect the game from malicious hack programs that could otherwise affect players' enjoyment of the game.
Only players who have purchased an authorized CD key will be able to activate their accounts and enter the game. Each CD key costs 30 Yuan/RMB and can be purchased with a World of Warcraft Points Card. Point Cards also cost 30 Yuan/RMB and can be used at a rate of 9 points per hour (0.45 Yuan/hour) to play World of Warcraft.
posted @
2005-06-07 16:16 小毅 閱讀(438) |
評論 (0) |
編輯 收藏
需要包含頭文件:
#include <alloc.h>
或
#include <stdlib.h>
函數聲明(函數原型):
void *malloc(int size);
說明:malloc 向系統申請分配指定size個字節的內存空間。返回類型是 void* 類型。void* 表示未確定類型的指針。C,C++規定,void* 類型可以強制轉換為任何其它類型的指針。
從函數聲明上可以看出。malloc 和 new 至少有兩個不同: new 返回指定類型的指針,并且可以自動計算所需要大小。比如:
int *p;
p = new int; //返回類型為int* 類型(整數型指針),分配大小為 sizeof(int);
或:
int* parr;
parr = new int [100]; //返回類型為 int* 類型(整數型指針),分配大小為 sizeof(int) * 100;
而 malloc 則必須由我們計算要字節數,并且在返回后強行轉換為實際類型的指針。
int* p;
p = (int *) malloc (sizeof(int));
第一、malloc 函數返回的是 void * 類型,如果你寫成:p = malloc (sizeof(int)); 則程序無法通過編譯,報錯:“不能將 void* 賦值給 int * 類型變量”。所以必須通過 (int *) 來將強制轉換。
第二、函數的實參為 sizeof(int) ,用于指明一個整型數據需要的大小。如果你寫成:
int* p = (int *) malloc (1);
代碼也能通過編譯,但事實上只分配了1個字節大小的內存空間,當你往里頭存入一個整數,就會有3個字節無家可歸,而直接“住進鄰居家”!造成的結果是后面的內存中原有數據內容全部被清空。
malloc 也可以達到 new [] 的效果,申請出一段連續的內存,方法無非是指定你所需要內存大小。
比如想分配100個int類型的空間:
int* p = (int *) malloc ( sizeof(int) * 100 ); //分配可以放得下100個整數的內存空間。
另外有一點不能直接看出的區別是,malloc 只管分配內存,并不能對所得的內存進行初始化,所以得到的一片新內存中,其值將是隨機的。
除了分配及最后釋放的方法不一樣以外,通過malloc或new得到指針,在其它操作上保持一致。
posted @
2005-06-06 23:01 小毅 閱讀(410) |
評論 (0) |
編輯 收藏
阿,我年輕的朋友們,你們想成為游戲設計師,所以來問我有何好建議?我會給你們我最好的建議,但我猜想你們可能會聽不進去。你們可能更愿意聽那些說你們愛聽的話的人所提供的建議。但這對我來說無所謂,我所能做的就是說些實事,并希望能進入某些人的耳朵里。
首先,你們應該對自己的事業道路有個最初的規劃,你想接受更專門的訓練,還是想要更全面的教育?專門的訓練能給你某些特別的技能,讓你能一畢業就進入工作。但教育能給你一個更全面的素質培養,卻不一定能馬上看到好處,不過長期來看能給你帶來更多的優勢。這是個簡單不過的選擇:速成的路還是戰略規劃后的路。如果你非常急于求成,那就立馬去那些專門學校,他們會教你最新最炫的電腦技術。精力充沛是年輕人的優勢,但耐性決不是年輕人的特長,所以我完全能理解你們幾乎不能忍受去學習那些看似無關的副科。當我還是你們年紀的時候,我總是對那些大學里的其他課程感到不耐煩。但現在,我對我當初的魯莽想法感到羞愧,并真心的感謝當初教導我的師長。
速成的路卻是能立刻見效的路。如果你進了一家專門教授電腦游戲制作的學校,或者在正規大學主修電腦游戲設計。在此,你會學到很多關于電腦游戲設計最新的技術。畢業后,你很可能馬上就能在正規的游戲公司找到一份工作,而這一切你可以在23歲之前搞定。
請打住。在這里有一點需要指出。生產游戲和設計游戲是完全不同的。你所獲得的第一份工作肯定是份渺小的工作,比如給一個無關緊要的npc畫動畫,而這個npc做的事情只是在背景上漫無目的的閑晃;或者寫一段代碼,這段代碼的用處就是當用戶按下exit的時候,顯示“你確定要退出么?”。如果你很擅長做這些小事情,那不出幾年就可能會讓你畫些更復雜的動畫或寫一段更重要的代碼。然后再過幾年,你就可能坐上某個更重要的位子,處理些更重要的事情。
但請你別指望這些。根本的問題在于:有成百上千甚至上百萬的學生,就像你們一樣的學生,正做著同樣的夢,想要進游戲業的夢。考慮一下供求曲線吧,如果職員的供應量十倍甚至百倍于員工的需求量,那么價格曲線將向下傾斜。你們必定將得到可憐的工資,并得不到任何的尊敬。你們當然可以抱怨,但得到的回答不僅簡單也很實在:如果你不喜歡,你可以選擇離開阿,門外有上百個像你一樣的年輕人想要得到你的工作。
事實上,這就是當前正在發生的事情。有可能的話你們可以去每年三月或四月在圣何塞舉行的“游戲開發者大會”看看,你們并不需要真的去參加什么討論會,只需要在圣何塞的會議中心轉轉,看看身邊走過的人。你會發現兩個驚人的事實:第一,每個人都穿著黑色衣服;第二,他們的平均年齡在25至30之間。
我不知道為什么他們都穿著黑色,這可能是每個人都需要遵守的規則。但我能告訴你們,為什么他們都這么年輕:因為每個人都會在工作幾年之后離開這個行業。游戲業就像是個奇怪的巨大建筑物,這個建筑物只有一個入口,卻有很多個出口。成千上萬個年輕人擁擠在入口處,爭先恐后互相推擠著想要進門。只有很少一部分能順利進入。但對于任何一個進入者來說,總會有另一個人離開——這才能讓這個行業保持平衡。這個行業內的人有多么的年輕,就意味著被擠出去的人有多么的快。很少有人能撐到30歲。
如果你想得再深些,那就會發現另一個事實:假設你是老板,既然有這么多小家伙想要為你做游戲,那你自然可以花一毛錢就雇一群人,像奴隸一樣驅使他們,直到他們筋疲力盡,然后再找些替代者。你只需雇傭一些管理人員,能保證這些小家伙都努力工作就行。這個系統運轉得非常完美。
唯一的問題是,你是否打算成為他們中的一員呢?我希望不是。不過,要是你真狂熱到打算削尖腦袋往游戲業里鉆,那么就繼續前進!我這個老笨蛋說再多也是無益。你自己去花時間看清這些吧。
但在這里我還有另一個方案可以告訴你們。首先,你應該獲得一個正規的教育,決不是什么一夜情式的培訓。去一所正規的大學,學習任何專業除了游戲制作。幾乎所有專業都可以:生物學、物理學(我當初就是念的這個)、藝術、文學、歷史、心理學、語言學。你只需保證自己獲得了常規教育,并盡量選修一些專業以外的課程,當然,你應該選修一下計算機。
同時,你應該開始試驗制作游戲了。不要被時髦流行的圖像技術所擾——這不能給你的游戲設計提供任何幫助。你應該專注于游戲的內涵:游戲的體系和架構。如何用很少的元素就能使整個游戲運轉?別幻想能做出像商業游戲那么好的產品——我要大聲告訴你,這些游戲要依靠很多人的力量才能完成。你此時所能做的這些小玩意同那些比較起來,只能用“可憐”兩個字形容。要是把制作游戲比作造汽車,此時你根本不用管車子的外表涂層和噴漆,你應該專注于如何讓活塞協作運轉、如何控制閥門的正常閉合、搞清楚汽化器是個什么東西。你要制造的是個小卡丁車,而不是一輛勞斯萊斯。所有這些都是個試驗的過程,別幻想你的這些小玩意會有商業用途,你要做的就是造好一個就扔掉一個——為了增加創造力,你要殺掉你自己的“孩子”。如果你沉迷于這些作品而不愿放棄,那你將永遠也不會擁有一個真正游戲設計師所應有的創造力。
繼續不斷的為增加你的創造力而努力。到目前為止,你的作品根本無法和一個經驗老到的游戲設計師相抗衡,所以增加自己的能力是你此時唯一該做的。電影the matrix都看過吧,沒經過訓練的neo無論如何也不是agent smith的對手。學任何你能學到的東西。畢業前要把你學校圖書館所有的書架都翻一遍,在這些灰塵的覆蓋下指不定隱藏著什么有趣的東西。
當你出了學校,不要馬上就進入游戲業。在一個正規公司找一份像樣的工作,并掙些錢。更主要的是不斷學習,你要學很多關于團隊協作的方式,也要學會如何在眾人面前尋找自己的位置。你應該學會何時何地站起來對你的老板說話——雖然這種機會不常有。還有,你應該學會如何同周圍有經驗的內行打交道。
繼續在你業余時間制作游戲,盡可能多的制作各種不同類型的“小卡丁車”,并試圖了解各種類型卡丁車的性能,諸如操縱性、速度以及其他要素。當你做了六個或十個這種產品,你可能會想到繼續親自著手進行更大的項目。很好,去找些志同道合的朋友,他們會幫助你完成你的計劃,我確信這將是個令人印象深刻的成果。完成之后,向全世界展示你的小寶貝吧。現在,你就可以把她作為你簡歷的一部分去申請游戲業中的職位了。如果你的那些產品確實好,你將能得到一個真正的游戲設計師職位,而不是去當那些小嘍羅。此時你可能仍然只是其他游戲設計師的助手,但你已經處在了正確的位置上,如果你能努力出色的完成工作,你肯定會在游戲業中擁有前途。
我知道這些并不是你們想聽的內容。你們想要的是所謂的速成藥,比如學習這個,然后學習那個,接下來就能確保得到一份高收入的工作、擁有巨大的辦公室、用著最先進的電腦設備、做的是富有創造性的事情。沒錯,每個人都會這么想的,但沒有人會得到這些。那些向你描述這些故事的人不過是些騙子,他們腦子里想的只是你口袋里的錢。一個令人悲傷的事實是:游戲先驅們主導世界的日子已經過去了,現在的游戲業是一個產業,沒人會突然被發掘然后一夜之間成為巨星,對任何想入門的人來說,在你面前的必定是一條漫長的路。
你們擁有激情和精力,想要讓不可能變為可能。但你們是否對這條漫長的路做好了準備?或者說,你們是否打算在真正的準備完成前就沖進去?
祝你們好運,孩子們,我相信你們會成功。
謝謝您-----------chris crawford
posted @
2005-04-21 06:21 小毅 閱讀(512) |
評論 (3) |
編輯 收藏
開始安裝EclipseME 0.5.5:
從0.5.5版本開始,EclipseME將采用新的安裝模式。而在0.5.0版本及之前版本均是一個壓縮文件解壓到Eclipse的安裝路徑下即可。這種安裝形式已經不在使用,我們將采用以下的新的安裝模式。如果你僅是要升級EclipseME到0.5.5版本,那么也要按以下的新的安裝方法來做。
1)第一步:打開Eclipse,選擇Help -> Software Updates -> Find and Install。
posted @
2005-04-18 11:08 小毅 閱讀(389) |
評論 (0) |
編輯 收藏
現在Eclipse的最新版本是3.0.2,但建議使用3.01M6版本。而EclipseME剛剛推出了0.9.0版本,完全支持Eclipse3.01M6版。
1、下載JDK:http://java.sun.com 下載JDK1.4.2版本。或者此地址:
2、下載J2ME版本:http://java.sun.com 下載。或者此地址:
3、下載Eclipse3.01M6版本:http://www.Eclipse.org 下載。或者此地址:
ftp://ftp.jaist.ac.jp/pub/eclipse/eclipse/downloads/drops/S-3.1M6-200504011645/eclipse-SDK-3.1M6-win32.zip
4、下載Eclipse3.01M6版本的中文語言包:http://www.Eclipse.org 下載。或者此地址:
http://download.eclipse.org/eclipse/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip
5、下載Eclipse3.01M6的J2ME插件EclipseME0.9.0版本:http://www.EclipseME.org 下載。或者此地址:
http://nchc.dl.sourceforge.net/sourceforge/eclipseme/eclipseme.feature_0.9.0_site.zip
下載完以上五個文件后,進行相應順序的安裝。另外:Eclipse的軟件不需要安裝,直接解壓即可,很方便吧。
posted @
2005-04-18 11:03 小毅 閱讀(485) |
評論 (0) |
編輯 收藏
在遙遠古希臘的大草原中,馳騁著一批半人半馬的族群,這是一個生性兇猛的族群。“半人半馬”代表著理性與非理性、人性與獸性間的矛盾掙扎,這就是人馬部落。部落里唯一的例外射手奇倫,是一個生性善良的男子,他對人坦誠真摯,謙遜有理。因此受到大家的尊敬與愛戴。
有一天,英雄赫五力來拜訪他的朋友奇倫。赫五力早就聽說人馬族的酒香醇無比,便要求奇倫給他拿來享用,可是,他喝光了奇倫的酒仍不盡興,執意要喝光全部落的酒。奇倫非常耐心地解釋給他聽,酒是部落的公共財產,不是任何一個人可以獨自占有的,希望赫五力不要因為一時的興致而犯眾怒。赫五力向來脾氣暴躁,怎么能聽得進奇倫的話,他把這個善良的朋友推到一邊就闖進了人馬部落。果不出奇倫所料,暴躁的赫五力和兇猛的人馬族碰在一起,沖突不可避免的發生了。
赫五力力大無窮,幼年即用雙手扼死巨蟒,他完成國王的十項不可能完成的任務都游刃有余,連太陽神阿波羅都懼他三分,人馬族雖然厲害,也并不是赫五力的對手,他們紛紛落逃。赫五力手持神弓緊緊追趕,借著酒勁,大肆進攻。人馬族被逼的走投無路,只好逃到了奇倫的家中。人們惶惶不安,赫五力站在門口大聲呵斥,如果再沒人出來,他就把這個部落毀掉。奇倫聽到這里,為了部落,為了朋友,為了化解這場爭斗,他奮不顧身的推開門,走了出來。就在那一剎那,赫五力的箭也飛了過來!赫五力惋惜又痛心的看著自己的朋友被神箭射穿心臟,而奇倫則用盡最后的力氣說到:“再鋒利的箭也會被軟弱的心包容;再瘋狂的獸性也不會泯滅人性。”
這時候,奇倫的身體碎成了無數的小星星,飛到了天上,它們聚集在一起,好象人馬的樣子,那只箭還似乎就在他的胸前。為了紀念善良的奇倫,人們就管這個星座叫射手座。
posted @
2005-04-17 22:09 小毅 閱讀(186) |
評論 (0) |
編輯 收藏
從嘉興回來...兄弟沒變多少 呵呵 一樣的忙
認識了挺多的朋友 松哥,東哥,CEO,死過妹妹....
雖然前幾天的筆試并沒有成功 心情并不怎么好 在嘉興卻還是呆的開心的...^ ^
每次去看兄弟都能學到好多...
剛好碰上他在開發寵物系統...php-asp...
學了很多東西 有些習慣他好象是于身具來的 大概這就是天賦吧....
4月中旬了 畢業了近了...
工作還沒定 心理有點煩了....
posted @
2005-04-15 20:41 小毅 閱讀(160) |
評論 (0) |
編輯 收藏
作者:xm4014
今天開始學習Java中多線程的實現.
線程是一些可以并行的,獨立的執行的代碼.之前我編的程序都只能做一件事情,也就是只有一個線程.多線程的編程就是可以將程序任務分成多個并行的子任務,同時運行,互不干擾.我對多線程的理解是從格斗游戲得來的.格斗游戲中兩人對打就是通過兩個線程來實現的吧,否則如何能夠你出你的招,我發我的沖擊波呢.
(1月18日)突然想到一個問題,補充一下.多線程是不是我們通常所說的多任務呢?我的理解是,不能這樣說也可以這樣說.
簡單說來,多線程提供了一種在進程內部進行多個線程并行調度的機制,而多任務則提供的是在一個操作系統內部運行多個進程的機制.
多任務操作系統(如Windows)的基本原理是這樣的:操作系統將CPU的時間片分配給多個線程,每個線程在操作系統指定的時間片內完成(注意,這里的多個線程是分屬于不同進程的).操作系統不斷的從一個線程的執行切換到另一個線程的執行,如此往復,宏觀上看來,就好像是多個線程在一起執行.由于這多個線程分屬于不同的進程,因此在我們看來,就好像是多個進程在同時執行,這樣就實現了多任務.Whoops,真繞口.
如上,多線程和多任務是有很明顯的區別的.但是再想一下,在一個應用程序內實現多線程不也是靠CPU分配時間片嗎?既然原理是相同的,那么多線程也可以說是多任務的.
一個Java程序啟動后,就已經有一個線程在運行,我們可以通過下面的例子來初步建立一個線程的實際印象
class testthread{ public static void main(String args[]){ Thread t=Thread.currentThread(); t.setName("This Thread is running"); System.out.println("The running thead:"+t); try{ for(int i=0;i<5;i++) { System.out.println("Sleep time"+i); Thread.sleep(1000);//掛起線程,就是讓線程休息一會兒, //不占用系統資源,因此其它線程可以繼續. //這里的Thread缺省表示主線程 } }catch(InterruptedException e){System.out.println("thread has wrong");} } } |
這只是一個線程,那么我們怎么實現多個線程呢?又怎樣讓線程做我安排它要做的事情呢?
實現線程體的構造有兩種方法.
第一種方法是通過繼承構造線程體.
在Java中專門有一個Thread類,這個類里面有一個函數run(),里面記錄著線程要完成的操作,就好像通常所說的主函數main()一樣,run()函數運行完了,線程就結束了.通過繼承這個類,我們可以定義我們自己的線程,在run函數中告訴它該做什么事情.下面的程序就是繼承了一個SimpleThread類,用兩個線程來輸出HelloWorld.
public class TwoThread{
public static void main(String args[]){ new SimpleThread("HelloWorld1").start();//創建兩個線程的實例,就這么簡單 new SimpleThread("HelloWorld2").start(); }
} class SimpleThread extends Thread{ file://真正的內容在這里 public SimpleThread(String str){ super(str);//super代表SimpleThread類的直接父類,這里就是Thread }
file://我們要線程做的事情都在這里了 public void run(){ for(int i=0;i<10;i++){ System.out.println(i+" "+getName()); try{ sleep((int)(Math.random()*1000)); }catch(InterruptedException e){} } System.out.println("Done!"+getName()); } } |
運行的結果是兩個線程交替顯示各自的HelloWorld十次,輸出是混在一起的,因為兩個線程是同時運行的.
posted @
2005-04-01 20:30 小毅 閱讀(198) |
評論 (0) |
編輯 收藏
作者:xm4014
今天第一次接觸Java。
雖然以前間或的也看了些書籍,但多是隔靴搔癢,上不了正席,絕不敢說自己懂Java。接觸一門新的技術和初戀一樣,都是第一次,但不同的是后者一般開始無比甜蜜,結局卻很痛苦,而前者則往往開始很痛苦,越到后來卻越是有味,簡直是欲罷不能.現在我就正處于這個很痛苦的階段,連一個最簡單的Helloworld都運行不出來,總是提示Excepion in thread "main" java.lan.NoClassDefFoundError. 只好上網去查,去搜.記性又不好,所以搜出來趕緊保存下來,常備無患.
一般來說安裝完JDK之后,一定要按一下步驟配置,才可正確編譯運行(假定jdk版本為1.4.0)
1.將jdk1.4.0-安裝在自己機器的某個盤符的根目錄下,如:可安裝在C:\jdk下。
***(以下出現的c:\jdk改為你自己安裝JDK的目錄)***
2.如果你的運行環境是win98,則在C盤根目錄下,autoexec.bat文件中,加入下面兩條語句:
set Path=%PATH%;c:\jdk\bin
set CLASSPATH=.;c:\jdk\lib\dt.jar;c:\jdk\lib\tools.jar
保存后,重新啟動機器,就完成了jdk1.4的安裝。
3.如果你的運行環境是win2000的話,則需在“控制面板”的“系統”下,“高級”選項的“環境變量”中,添加兩個用戶變量。
其中一個用戶變量的名稱為“path”,值為“.;d:\j2sdk1.4.0_01\bin”,
另一個用戶變量的名稱為"CLASSPATH",值為“.;d"\j2sdk1.4.0_01\lib\dt.jar;d:\j2sdk1.4.0_01\lib\tools.jar”,單擊“確定”即可。即完成了jdk1.4.0的安裝。
至于這樣做的意義何在,我想應該是讓Java系統在編譯字節代碼(.java)的時候需要一個什么東東的支持,如果你不告訴它這個東東放在哪個地方的話,它就犯傻了?!
看到屏幕上終于顯示出Hello world對我來說意義重大.這是我近一年來寫的第一個程序!再次踏上程序之路,簡直有恍如隔世的感覺,已經快找不準我的位置了.還好原來學的一些關于C++和面向對象的皮毛沒忘光光,所以費點周折熟悉了JDK的環境之后,接下來的事情就好辦多了,心里也踏實多了.
用String類直接定義字符串變量比起C中討厭的指針,感覺確實好的多,用慣了Object Pascal的我,如果再回去數* *,真要瘋掉不可.
數組的定義和C,C++好像略有不同,記不清了,先記下來再說
int[] number=new int[5]
String[] message=new String[5]
變量這一部分想起來要交待的也就這么多吧。雖然是菜鳥,但我也知道,總是如譚浩強般在語法上面死摳的人簡直是白癡:大多數情況下,漂亮的程序根本不需要無謂的點綴,工工整整,思路清晰就可以了.
倒是對于Java程序的框架我倒想備忘一下,一個簡單的java程序好像是應該是這樣的框架
class ProgramName
{
public static void main(String[] args)
{
file://程序的主體
}
public static int othermethod()
{
file://其它方法
}
}
整個程序在一個大的類中,這個類的概念應該就跟pascal里面的單元差不多的。同pascal一樣,文件名也要與單元名-在這里是類名-一樣.Java對大小寫要求的非常嚴格,我語法錯了好幾次都是因為這個.
Java程序就是由一個或者多個或者很多個方法在這樣一個大類當中組成的.
在如上的代碼中,定義方法的參數表示的意思分別為:
public表示此成員函數是公有的,可以被其他類直接調用
static表示main成員函數在ProgramName類的所有對象中是唯一的,Java將為其分配永久存儲空間
posted @
2005-04-01 20:18 小毅 閱讀(222) |
評論 (0) |
編輯 收藏
過幾天要去東星軟件筆試程序員,要求挺高的 網上找了篇筆試的文章前段時間因為要參加一個筆試,在準備期間在網上找到了兩條關于筆試題目的文章,其中一篇為<<有感:應聘Java筆試時可能出現問題>>,還有一篇忘了名字,讀后深受啟發。
??????? 在尋找這些答案的過程中,我將相關答案記錄下來,就形成了以下這些東西。需要說明的是以下答案肯定有很多不完整甚至錯誤的地方,需要各位來更正與完善它,千萬不要扔我的雞蛋啊。
?????? 希望本文能夠給即將奔赴筆試考場的同仁些許幫助,更希望更多的人加入到收集整理筆試題與完善答案的這些工作中來,為大家更好的獲得工作機會做一點貢獻。
?????? 在此感謝前面兩文的作者的對筆試題目的收集與整理。
?????? 如有任何意見與建議請通過QQ:6045306,Mail:huijunzi@21cn.com與我聯系。
Java基礎方面:
1、作用域public,private,protected,以及不寫時的區別
答:區別如下:
作用域?????????? 當前類?????? 同一package? 子孫類?????? 其他package
public??????????? √????????????? √????????????????? √???????????? √
protected??????? √????????????? √????????????????? √???????????? ×
friendly????????? √????????????? √?????????????????? ×??????????? ×
private?????????? √????????????? ×?????????????????? ×??????????? ×
不寫時默認為friendly
2、ArrayList和Vector的區別,HashMap和Hashtable的區別
答:就ArrayList與Vector主要從二方面來說.
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半
就HashMap與HashTable主要從三方面來說。
一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value
3、char型變量中能不能存貯一個中文漢字?為什么?
答:是能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節,所以放一個中文是沒問題的
4、多線程有幾種實現方法,都是什么?同步有幾種實現方法,都是什么?
答:多線程有兩種實現方法,分別是繼承Thread類與實現Runnable接口
同步的實現方面有兩種,分別是synchronized,wait與notify
5、繼承時候類的執行順序問題,一般都是選擇題,問你將會打印出什么?
答:父類:
package test;
public class? FatherClass
{
??? public FatherClass()
?{
??System.out.println("FatherClass Create");
?}
}
子類:
package test;
import test.FatherClass;
public class? ChildClass extends FatherClass
{
?public ChildClass()
?{
??System.out.println("ChildClass Create");
?}
?public static void main(String[] args)
?{
??FatherClass fc = new FatherClass();
??ChildClass cc = new ChildClass();
?}
}
輸出結果:
C:\>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
6、內部類的實現方式?
答:示例代碼如下:
package test;
public class? OuterClass
{
?private class InterClass
?{
??public InterClass()
??{
???System.out.println("InterClass Create");
??}
?}
?public OuterClass()
?{
??InterClass ic = new InterClass();
??System.out.println("OuterClass Create");
?}
?public static void main(String[] args)
?{
??OuterClass oc = new OuterClass();
?}
}
輸出結果:
C:\>java test/OuterClass
InterClass Create
OuterClass Create
再一個例題:
public class OuterClass {
? private double d1 = 1.0;
??? //insert code here
}
You need to insert an inner class declaration at line 3. Which two inner class declarations are
valid?(Choose two.)
A. class InnerOne{
???? public static double methoda() {return d1;}
?? }
B. public class InnerOne{
???? static double methoda() {return d1;}
?? }
C. private class InnerOne{
???? double methoda() {return d1;}
?? }
D. static class InnerOne{
???? protected double methoda() {return d1;}
?? }
E. abstract class InnerOne{
???? public abstract double methoda();
?? }
說明如下:
一.靜態內部類可以有靜態成員,而非靜態內部類則不能有靜態成員。 故 A、B 錯
二.靜態內部類的非靜態成員可以訪問外部類的靜態變量,而不可訪問外部類的非靜態變量;return d1 出錯。
故 D 錯
三.非靜態內部類的非靜態成員可以訪問外部類的非靜態變量。 故 C 正確
四.答案為C、E
7、垃圾回收機制,如何優化程序?
希望大家補上,謝謝
8、float型float f=3.4是否正確?
答:不正確。精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4
9、介紹JAVA中的Collection FrameWork(包括如何寫自己的數據結構)?
答:Collection FrameWork如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)
Map提供key到value的映射
10、Java中異常處理機制,事件機制?
11、JAVA中的多形與繼承?
希望大家補上,謝謝
12、抽象類與接口?
答:抽象類與接口都用于抽象,但是抽象類(JAVA中)可以有自己的部分實現,而接口則完全是一個標識(同時有多重繼承的功能)。
13、Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務器幾個字符,再寫入本地顯示?
答:Server端程序:
package test;
import java.net.*;
import java.io.*;
public class Server
{
?private ServerSocket ss;
?private Socket socket;
?private BufferedReader in;
?private PrintWriter out;
?public Server()
?{
??try
??{
???ss=new ServerSocket(10000);
???while(true)
???{
????socket = ss.accept();
????String RemoteIP = socket.getInetAddress().getHostAddress();
????String RemotePort = ":"+socket.getLocalPort();
????System.out.println("A client come in!IP:"+RemoteIP+RemotePort);
????in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
????String line = in.readLine();
????System.out.println("Cleint send is :" + line);
????out = new PrintWriter(socket.getOutputStream(),true);
????out.println("Your Message Received!");
????out.close();
????in.close();
????socket.close();
???}
??}catch (IOException e)
??{
???out.println("wrong");
??}
?}
?public static void main(String[] args)
?{
??new Server();
?}
};
Client端程序:
package test;
import java.io.*;
import java.net.*;
public class Client
{
?Socket socket;
?BufferedReader in;
?PrintWriter out;
?public Client()
?{
??try
??{
???System.out.println("Try to Connect to 127.0.0.1:10000");
???socket = new Socket("127.0.0.1",10000);
???System.out.println("The Server Connected!");
???System.out.println("Please enter some Character:");
???BufferedReader line = new BufferedReader(new
InputStreamReader(System.in));
???out = new PrintWriter(socket.getOutputStream(),true);
???out.println(line.readLine());
???in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
???System.out.println(in.readLine());
???out.close();
???in.close();
???socket.close();
??}catch(IOException e)
??{
???out.println("Wrong");
??}
?}
?public static void main(String[] args)
?{
??new Client();
?}
};
14、用JAVA實現一種排序,JAVA類實現序列化的方法(二種)? 如在COLLECTION框架中,實現比較要實現什么樣的接口?
答:用插入法進行排序代碼如下
package test;
import java.util.*;
class? InsertSort
{
?ArrayList al;
?public InsertSort(int num,int mod)
?{
??al = new ArrayList(num);
??Random rand = new Random();
??System.out.println("The ArrayList Sort Before:");
??for (int i=0;i??{
???al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
???System.out.println("al["+i+"]="+al.get(i));
??}
?}
?public void SortIt()
?{
??Integer tempInt;
??int MaxSize=1;
??for(int i=1;i??{
?????? tempInt = (Integer)al.remove(i);
????if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())
????{
?????al.add(MaxSize,tempInt);
?????MaxSize++;
?????System.out.println(al.toString());
????} else {
?????for (int j=0;j?????{
??????if
(((Integer)al.get(j)).intValue()>=tempInt.intValue())
??????{
???????al.add(j,tempInt);
???????MaxSize++;
???????System.out.println(al.toString());
???????break;
??????}
?????}
????}
??}
??System.out.println("The ArrayList Sort After:");
??for(int i=0;i??{
???System.out.println("al["+i+"]="+al.get(i));
??}
?}
?public static void main(String[] args)
?{
??InsertSort is = new InsertSort(10,100);
??is.SortIt();
?}
}
JAVA類實現序例化的方法是實現java.io.Serializable接口
Collection框架中實現比較要實現Comparable 接口和 Comparator 接口
15、編程:編寫一個截取字符串的函數,輸入為一個字符串和字節數,輸出為按字節截取的字符串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。
答:代碼如下:
package test;
class? SplitString
{
?String SplitStr;
?int SplitByte;
?public SplitString(String str,int bytes)
?{
??SplitStr=str;
??SplitByte=bytes;
??System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);
?}
?public void SplitIt()
?{
??int loopCount;
??
loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split
Byte+1);
??System.out.println("Will Split into "+loopCount);
??for (int i=1;i<=loopCount ;i++ )
??{
???if (i==loopCount){
????
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
???} else {
????
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
???}
??}
?}
?public static void main(String[] args)
?{
??SplitString ss = new SplitString("test中dd文dsaf中男大3443n中國43中國人
0ewldfls=103",4);
??ss.SplitIt();
?}
}
16、JAVA多線程編程。 用JAVA寫一個多線程程序,如寫四個線程,二個加1,二個對一個變量減一,輸出。
希望大家補上,謝謝
17、STRING與STRINGBUFFER的區別。
答:STRING的長度是不可變的,STRINGBUFFER的長度是可變的。如果你對字符串中的內容經常進行操作,特別是內容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
Jsp方面
1、jsp有哪些內置對象?作用分別是什么?
答:JSP共有以下9種基本內置組件(可與ASP的6種內部組件相對應):
request 用戶端請求,此請求會包含來自GET/POST請求的參數
?? response 網頁傳回用戶端的回應
?? pageContext 網頁的屬性是在這里管理
?? session 與請求有關的會話期
?? application servlet 正在執行的內容
?? out 用來傳送回應的輸出
?? config servlet的構架部件
?? page JSP網頁本身
?? exception 針對錯誤網頁,未捕捉的例外
2、jsp有哪些動作?作用分別是什么?
答:JSP共有以下6種基本動作
?? jsp:include:在頁面被請求的時候引入一個文件。
?? jsp:useBean:尋找或者實例化一個JavaBean。
?? jsp:setProperty:設置JavaBean的屬性。
?? jsp:getProperty:輸出某個JavaBean的屬性。
?? jsp:forward:把請求轉到一個新的頁面。
?? jsp:plugin:根據瀏覽器類型為Java插件生成OBJECT或EMBED標記
3、JSP中動態INCLUDE與靜態INCLUDE的區別?
答:動態INCLUDE用jsp:include動作實現
?? 它總是會檢查所含文件中的變化,適合用于包含動態頁面,并且可以帶參數
?? 靜態INCLUDE用include偽碼實現,定不會檢查所含文件的變化,適用于包含靜態頁面
?? <%@ include file="included.htm" %>
4、兩種跳轉方式分別是什么?有什么區別?
答:有兩種,分別為:
?
?
? 前者頁面不會轉向include所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執行完后還會回來,相當于函數調用。并且可以帶參數.后者完全轉向新頁面,不會再回來。相當于go to 語句。
Servlet方面
1、說一說Servlet的生命周期?
答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務結束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達。
2、Servlet版本間(忘了問的是哪兩個版本了)的不同?
希望大家補上,謝謝
3、JAVA SERVLET API中forward() 與redirect()的區別?
答:前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。
4、Servlet的基本架構
public class ServletName extends HttpServlet {
? public void doPost(HttpServletRequest request, HttpServletResponse response) throws
????? ServletException, IOException? {
????? }
? public void doGet(HttpServletRequest request, HttpServletResponse response) throws
????? ServletException, IOException? {
????? }
}
Jdbc、Jdo方面
1、可能會讓你寫一段Jdbc連Oracle的程序,并實現數據查詢.
答:程序如下:
package hello.ant;
import java.sql.*;
public class? jdbc
{
?String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
?String theUser="admin";
?String thePw="manager";
?Connection c=null;
?Statement conn;
?ResultSet rs=null;
?public jdbc()
?{
??try{
??? Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
????????? c = DriverManager.getConnection(dbUrl,theUser,thePw);
??? conn=c.createStatement();
??}catch(Exception e){
???e.printStackTrace();
??}
?}
?public boolean executeUpdate(String sql)
?{
???try
???{
?????conn.executeUpdate(sql);
?????return true;
???}
???catch (SQLException e)
???{
?????e.printStackTrace();
?????return false;
???}
?}
?public ResultSet executeQuery(String sql)
?{
???rs=null;
???try
???{
?????rs=conn.executeQuery(sql);
???}
???catch (SQLException e)
???{
?????e.printStackTrace();
???}
???return rs;
?}
?public void close()
?{
???try
???{
?????conn.close();
?????c.close();
???}
???catch (Exception e)
???{
?????e.printStackTrace();
???}
?}
?public static void main(String[] args)
?{
??ResultSet rs;
??jdbc conn = new jdbc();
??rs=conn.executeQuery("select * from test");
??try{
??while (rs.next())
??{
???System.out.println(rs.getString("id"));
???System.out.println(rs.getString("name"));
??}
??}catch(Exception e)
??{
???e.printStackTrace();
??}
?}
}
2、Class.forName的作用?為什么要用?
答:調用該訪問返回一個以字符串指定類名的類的對象。
3、Jdo是什么?
答:JDO是Java對象持久化的新的規范,為java data object的簡稱,也是一個用于存取某種數據倉庫中的對象的標準化API。JDO提供了透明的對象存儲,因此對開發人員來說,存儲數據對象完全不需要額外的代碼(如JDBC API的使用)。這些繁瑣的例行工作已經轉移到JDO產品提供商身上,使開發人員解脫出來,從而集中時間和精力在業務邏輯上。另外,JDO很靈活,因為它可以在任何數據底層上運行。JDBC只是面向關系數據庫(RDBMS)JDO更通用,提供到任何數據底層的存儲功能,比如關系數據庫、文件、XML以及對象數據庫(ODBMS)等等,使得應用可移植性更強。
4、在ORACLE大數據量下的分頁解決方法。一般用截取ID方法,還有是三層嵌套方法。
答:一種分頁方法
<%
? int i=1;
? int numPages=14;
? String pages = request.getParameter("page") ;
? int currentPage = 1;
? currentPage=(pages==null)?(1):{Integer.parseInt(pages)}
? sql = "select count(*) from tables";
? ResultSet rs = DBLink.executeQuery(sql) ;
? while(rs.next()) i = rs.getInt(1) ;
? int intPageCount=1;
? intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1);
? int nextPage ;
? int upPage;
? nextPage = currentPage+1;
? if (nextPage>=intPageCount) nextPage=intPageCount;
? upPage = currentPage-1;
? if (upPage<=1) upPage=1;
? rs.close();
? sql="select * from tables";
? rs=DBLink.executeQuery(sql);
? i=0;
? while((i%>
//輸出內容
//輸出翻頁連接
合計:<%=currentPage%>/<%=intPageCount%>第一頁
href="List.jsp?page=<%=upPage%>">上一頁
<%
? for(int j=1;j<=intPageCount;j++){
? if(currentPage!=j){
%>
? [<%=j%>]
<%
? }else{
? out.println(j);
? }
? }
%>
下一頁最后頁
Xml方面
1、xml有哪些解析技術?區別是什么?
答:有DOM,SAX,STAX等
DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,適合對XML的隨機訪問SAX:不現于DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問
STAX:Streaming API for XML (StAX)
2、你在項目中用到了xml技術的哪些方面?如何實現的?
答:用到了數據存貯,信息配置兩方面。在做數據交換平臺時,將不能數據源的數據組裝成XML文件,然后將XML文件壓縮打包加密后通過網絡傳送給接收者,接收解密與解壓縮后再同XML文件中還原相關信息進行處理。在做軟件配置時,利用XML可以很方便的進行,軟件的各種配置參數都存貯在XML文件中。
3、用jdom解析xml文件時如何解決中文問題?如何解析?
答:看如下代碼,用編碼方式加以解決
package test;
import java.io.*;
public class DOMTest
{
?private String inFile = "c:\\people.xml";
?private String outFile = "c:\\people.xml";?
?public static void main(String args[])
?{
??? ?new DOMTest();
??? }
?public DOMTest()
?{
??try
???? {?
???? ?javax.xml.parsers.DocumentBuilder builder =
???? ??
javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
???? ?org.w3c.dom.Document doc = builder.newDocument();
???? ?org.w3c.dom.Element root = doc.createElement("老師");
???? ?org.w3c.dom.Element wang = doc.createElement("王");
???org.w3c.dom.Element liu = doc.createElement("劉");
???? ?wang.appendChild(doc.createTextNode("我是王老師"));
???? ?root.appendChild(wang);
???? ?doc.appendChild(root);
???? ?javax.xml.transform.Transformer transformer =
???? ??javax.xml.transform.TransformerFactory.newInstance().newTransformer();
???? ?transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");
???? ?transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");??
? ?
???? ?transformer.transform(new javax.xml.transform.dom.DOMSource(doc),
???? ???????new
javax.xml.transform.stream.StreamResult(outFile));
???? }
???? catch (Exception e)
???? {
???? ?System.out.println (e.getMessage());
???? }
??? }
}
4、編程用JAVA解析XML的方式.
答:用SAX方式解析XML,XML文件如下:
? 王小明
? 信息學院??
? 6258113
? 男,1955年生,博士,95年調入海南大學
?
?事件回調類SAXHandler.java
?import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
public class SAXHandler extends HandlerBase
? {
? private Hashtable table = new Hashtable();
? private String currentElement = null;
? private String currentValue = null;
? public void setTable(Hashtable table)
??? {
??? this.table = table;
??? }
? public Hashtable getTable()
??? {
??? return table;
??? }
? public void startElement(String tag, AttributeList attrs)
? throws SAXException
??? {
??? currentElement = tag;
??? }
? public void characters(char[] ch, int start, int length)
? throws SAXException
??? {
??? currentValue = new String(ch, start, length);
??? }
? public void endElement(String name) throws SAXException
??? {
??? if (currentElement.equals(name))
????? table.put(currentElement, currentValue);
??? }
? }
JSP內容顯示源碼,SaxXml.jsp:
<%@ page errorPage="ErrPage.jsp"
contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.Hashtable" %>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="org.xml.sax.*" %>
<%@ page import="javax.xml.parsers.SAXParserFactory" %>
<%@ page import="javax.xml.parsers.SAXParser" %>
<%@ page import="SAXHandler" %>
<%
File file = new File("c:\\people.xml");
FileReader reader = new FileReader(file);
Parser parser;
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
SAXHandler handler = new SAXHandler();
sp.parse(new InputSource(reader), handler);
Hashtable hashTable = handler.getTable();
out.println("教師信息表");
out.println("姓名 | " + "" + ? (String)hashTable.get(new String("name")) + " |
");
out.println("學院 | " + "" + ? (String)hashTable.get(new String("college"))+" |
");
out.println("電話 | " + "" + ? (String)hashTable.get(new String("telephone")) + " |
");
out.println("備注 | " + "" + ? (String)hashTable.get(new String("notes")) + " |
");
out.println("
");
%>
EJB方面
1、EJB2.0有哪些內容?分別用在什么場合? EJB2.0和EJB1.1的區別?
答:規范內容包括Bean提供者,應用程序裝配者,EJB容器,EJB配置工具,EJB服務提供者,系統管理員。這里面,EJB容器是EJB之所以能夠運行的核心。EJB容器管理著EJB的創建,撤消,激活,去活,與數據庫的連接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....
2、EJB與JAVA BEAN的區別?
答:Java Bean 是可復用的組件,對Java Bean并沒有嚴格的規范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java Bean是被容器所創建(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常Java Bean還要實現Serializable接口用于實現Bean的持久性。Java Bean實際上相當于微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當于DCOM,即分布式組件。它是基于Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創建和管理。客戶通過容器來訪問真正的EJB組件。
3、EJB的基本架構
答:一個EJB包括三個部分:
? Remote Interface 接口的代碼
? package Beans;
? import javax.ejb.EJBObject;
? import java.rmi.RemoteException;
? public interface Add extends EJBObject
? {
?? //some method declare
? }
? Home Interface 接口的代碼
? package Beans;
? import java.rmi.RemoteException;
? import jaax.ejb.CreateException;
? import javax.ejb.EJBHome;
? public interface AddHome extends EJBHome
? {
??? //some method declare
? }
? EJB類的代碼
? package Beans;
? import java.rmi.RemoteException;
? import javax.ejb.SessionBean;
? import javx.ejb.SessionContext;
? public class AddBean Implements SessionBean
? {
??? //some method declare
? }?
J2EE,MVC方面
1、MVC的各個部分都有那些技術來實現?如何實現?
答:MVC是Model-View-Controller的簡寫。"Model" 代表的是應用的業務邏輯(通過JavaBean,EJB組件實現), "View" 是應用的表示面(由JSP頁面產生),"Controller" 是提供應用的處理過程控制(一般是一個Servlet),通過這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現。這些組件可以進行交互和重用。
2、應用服務器與WEB SERVER的區別?
希望大家補上,謝謝
3、J2EE是什么?
答:Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業級應用模型(enterpriese application model).在這樣的一個應用系統中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業信息系統(EIS)層。
4、WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。
答:Web Service描述語言WSDL
SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用于交換XML編碼信息的輕量級協議。
UDDI 的目的是為電子商務建立標準;UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Web Service注冊,以使別的企業能夠發現的訪問協議的實現標準。
5、BS與CS的聯系與區別。
希望大家補上,謝謝
6、STRUTS的應用(如STRUTS架構)
答:Struts是采用Java Servlet/JavaServer Pages技術,開發Web應用程序的開放源碼的framework。 采用Struts能開發出基于MVC(Model-View-Controller)設計模式的應用構架。 Struts有如下的主要功能:
一.包含一個controller servlet,能將用戶的請求發送到相應的Action對象。
二.JSP自由tag庫,并且在controller servlet中提供關聯支持,幫助開發員創建交互式表單應用。
三.提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。
設計模式方面
1、開發中都用到了那些設計模式?用在什么場合?
答:每個模式都描述了一個在我們的環境中不斷出現的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重復相同的工作。主要用到了MVC的設計模式。用來開發JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。
2、UML方面
答:標準建模語言UML。用例圖,靜態圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現圖,
JavaScript方面
1、如何校驗數字型?
var re=/^\d{1,8}$|\.\d{1,2}$/;
var str=document.form1.all(i).value;
var r=str.match(re);
if (r==null)
{
?? sign=-4;
?? break;
}
else{
?? document.form1.all(i).value=parseFloat(str);
}
CORBA方面
1、CORBA是什么?用途是什么?
答:CORBA 標準是公共對象請求代理結構(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標準化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯編)和允許應用程序間互操作的協議。 其目的為:
用不同的程序設計語言書寫
在不同的進程中運行
為不同的操作系統開發
LINUX方面
1、LINUX下線程,GDI類的解釋。
答:LINUX實現的就是基于核心輕量級進程的"一對一"線程模型,一個線程實體對應一個核心輕量級進程,而線程之間的管理在核外函數庫中實現。
GDI類為圖像設備編程接口類庫。
posted @
2005-03-19 21:18 小毅 閱讀(269) |
評論 (0) |
編輯 收藏
javax.microedition.lcdui.Display類
方法
static Display getDisplay(MIDlet midlet) 獲取Display類的實例
Displayable getCurrent() 獲取目前Displayable類的實例
void setCurrent(Alert alert,Displayable displayable) 顯示所指定的報警對話框的實例和被指定Displayable類的實例
void setCurrent(Displayable displayable) 顯示所指定的Displayable類的實例
boolean isColor() 判斷設備是否支持彩色
int numColors() 獲取設備能用的色彩位數或灰度
void callSerial(Runnable runnable) 重繪圖后,調用Runnable類的實例
javax.microedition.lcdui.Displayable類
方法
void addCommand(Command command) 將命令關聯到Displayabel類的實例
void removecommand (Command command ) 撤消關聯
void setCommandListener (CommandListener commandlistener) 關聯CommandListener到Displayable類的實例
boolean isShown () 判斷Displayable類實例時候在屏幕上顯示
javax.microedition.lcdui.Command類
Command(String label, int commandTYPE, int priority) 創建Command類的實例,顯示指定的標簽,設置指定的命令類型和優先級
int getCommandType() 獲取命令的命令類型
String getLabel() 獲取命令的標簽
int getPriority() 獲取命令的優先級
javax.microedition.lcdui.CommandListener接口
方法
void commandAction(Command command,Displayable dispalyable) 處理Command類的實例
javax.microedition.lcdui.Item類
方法
String getLabel() 獲取與Item類的實例關聯的標簽
void setLabel(String label) 為Item類的實例指定一個標簽
javax.microedition.ItemStateListener接口
方法
void itemStateChanged (Item item) 處理Item類的實例的改變
javax.microedition.midlet.MIDlet 類
方法
abstract void destroyApp(boolean unconditional) 關閉MIDlet
abstract void pauseApp() 暫停MIDlet
abstract void startApp() 激活MIDlet
final void notify Destroyed() 請求停止MIDlet
final void notifyPause() 請求暫停MIDlet
final void notifyRequset() 請求激活MIDlet
final String getAppProperty(string key) 從JAD或JAR文件獲取屬性
javax.microedition.midlet.MIDletStateChangeException類
方法
MIDletStateChangeException 不用測試生成心得MIDletStateChangeException對象
MIDletStateChangeException(String string) 生成新的帶消息的MIDletStateChangeException對象
posted @
2005-03-16 20:21 小毅 閱讀(195) |
評論 (0) |
編輯 收藏
在應用程序即將使用一個對象時在分配這個對象,而不是在應用程序啟動是全部分配。
一旦應用程序不再需要一個對象,就要將所有對該對象的引用賦值為null
總是重用對象而不是創建對象。
遵守拇指法則
應用程序通常是單線程的。
一次只能運行一個應用程序
應用程序是事件驅動的
用戶從一個應用程序切換到另一個應用程序,而不是結束應用程序
移動小型計算設備的使用方式通常是每次只用兩分鐘,每次用30次。
應用程序必須在兩分鐘之內完成一項任務。
posted @
2005-03-14 21:58 小毅 閱讀(167) |
評論 (0) |
編輯 收藏
我還喜歡她嗎?我也不知道,真的真的模糊了…
我記得有段時間狠狠的喜歡過,也信誓旦旦的承諾過…
雖然在繁忙的學習之間會想起她,雖然是一閃而過,但是心里還是酸酸的。
她很漂亮,至少我一直這樣想的,倒不是說就是一見鐘情的那種。感覺卻是聊天里來的….
似乎這很老套。可就是這樣簡單的打招呼,親切的問候……似乎就忘不了了.
即使真的喜歡又會怎么樣呢?想起她就這樣反問自己。“見都沒見過呢”。“先有事業,在有妻室”,“熱血男兒志在四方”,
理由就是這樣一個接一個的會涌上來.
苦苦笑笑 得了吧…
就算認識過,就算真的相愛過,在距離面前…“0”
我知道答案其實一直一直都沒變過,變的只是周圍的環境,繁忙的學習,巨大的工作壓力,讓我漸漸把這個答案深深埋了起來,再不能象以前一天到晚守在電腦前等她上線,再不能拿著手機給她發消息,再不能偷偷打工為她買東東,再不能……………..
好難得周末…能這樣輕松的坐在電腦前..(別忘了明天早起上課..-_-)
把她放在心里…我知道她會永遠在自己心里.
posted @
2005-03-05 21:45 小毅 閱讀(162) |
評論 (0) |
編輯 收藏
馬上就要畢業了,大學四年的生活一晃而過,過的好快哦。
讀書的時候總拼命找時間玩..總想星期六星期天有時間可以補回來。呵呵,所以整個大學四年都在縫縫補補。
人們總是以為一件事情干兩天肯定要比干一天要做好,以前的我也是如此認為,做事慢慢吞吞,總以為花的時間越多就能做的越好。其實錯了,大家都錯了,一天能做好的事情就要花一天做的最好,星期六星期天是拿來放松的,拿來休息的。
并是不忙忙碌碌就能成功。
而成功的人就一定是效率高。
posted @
2005-02-23 16:48 小毅 閱讀(213) |
評論 (0) |
編輯 收藏
回學校啦,呵呵,音響放到最響....
室友添了新電腦...嘿嘿 ....以后爽游戲又方便多啦...HOHO
2005 一切都在改變.....我也要加油干起來了~~~
posted @
2005-02-20 19:03 小毅 閱讀(166) |
評論 (0) |
編輯 收藏
回家啦 ...終于回家了....
大學生涯最后一個寒假....happy new year~~~
珍惜擁有....
posted @
2005-01-31 09:44 小毅 閱讀(216) |
評論 (0) |
編輯 收藏
忘記以前的天真,無憂。。。。。在這一年里即將踏入社會。我知道現在我是新人,生活法則,社會規則,我必須一點一滴的從頭開始。。。。2005 奮斗的一年,那里有一座陌生的城市等我去闖蕩,那里有嶄新的事業等我去開拓,以后回頭------我必須告訴自己。。。2005年,我為我自己選者的路而驕傲
posted @
2005-01-29 22:52 小毅 閱讀(196) |
評論 (0) |
編輯 收藏
Thread 線程
它能鎖定任何對象占用的內存(內存實際是多種共享資源的一種),所以同一時間只能有一個線程使用特定的內存空間。為達到這個目的,需要使用synchronized關鍵字。
瀏覽器最初只是純粹的查看程序,這是由于每次采取一些要求編程的操作時,必須將信息反饋回服務器,在服務器那一端進行處理。所以完全可能需要等待數秒乃至數分鐘的時間才會發現自己剛才拼錯了一個單詞。這就叫作“客戶端編程”。
applet 程序片
時刻提醒自己注意以下幾個問題:
(1) 對象是什么?(怎樣將自己的項目分割成一系列單獨的組件?)
(2) 它們的接口是什么?(需要將什么消息發給每一個對象?)
在確定了對象和它們的接口后,便可著手編寫一個程序。出于對多方面原因的考慮,可能還需要比這更多的說明及文檔,但要求掌握的資料絕對不能比這還少。
想象成用遙控板(句柄)操縱電視機(對象)。只要握住這個遙控板,就相當于掌握了與電視機連接的通道。但一旦需要“換頻道”或者“關小聲音”,我們實際操縱的是遙控板(句柄),再由遙控板自己操縱電視機(對象)。如果要在房間里四處走走,并想保持對電視機的控制,那么手上拿著的是遙控板,而非電視機。
此外,即使沒有電視機,遙控板亦可獨立存在。
Heap 堆
Java對象本身永遠都不會置入靜態存儲空間
wrapper 封裝器 Scope 作用域
class ATypeName {/*類主體置于這里}
這樣就引入了一種新類型,接下來便可用new創建這種類型的一個新對象:
ATypeName a = new ATypeName();
我們在Java里的全部工作就是定義類、制作那些類的對象以及將消息發給那些對象
class DataOnly {
int i;
float f;
boolean b;
}
這個類并沒有做任何實質性的事情,但我們可創建一個對象:
DataOnly d = new DataOnly();
可將值賦給數據成員,但首先必須知道如何引用一個對象的成員。為達到引用對象成員的目的,首先要寫上對象句柄的名字,再跟隨一個點號(句點),再跟隨對象內部成員的名字。即“對象句柄.成員”。例如:
d.i = 47;
d.f = 1.1f;
d.b = false;
Method 方法
Java的方法只能作為類的一部分創建。只能針對某個對象調用一個方法
import的作用是指示編譯器導入一個“包”——或者說一個“類庫”
posted @
2005-01-24 22:33 小毅 閱讀(204) |
評論 (0) |
編輯 收藏
梵天:印度教神話中三大最高神之一。世界的創造者。佛教吸收其為護法神,稱“大梵天王”
。
濕婆:印度三大神的第三位。又叫“西哇”。是最受崇拜的神之一。是象征“昌盛”和“吉兆”的神。同時又象征“毀滅”,是起死回生之神。一般被視為“破壞神”。同時他也是生殖之神,傳到中國后與藏教密宗中的大歡喜菩薩互相影響。有時也被人塑成一面目猙獰的怒漢和一極美女子交合的形象。濕婆表現憤怒的一面傳入日本后,作為大黑天十分聞名,是武士和浪人的保護神。
毗濕奴:三大主神之一,與前兩者并稱為三聯神。稱謂極多,有一千種以上,常見的為“那羅衍”,“世界之主”等。
因陀羅:雷電之神,眾神之首,后成為天王。被佛教吸收后又叫“帝釋天”,為善見城城主。
吉祥天:即拉克什密。被稱為毗濕奴的妻子。在最古老的神話中與大梵天,俱毗羅,因陀羅聯系在一起,是佛教的護法天王。是毗沙天門王之妹,號稱“功德天王”。毗沙天王是北方天王,是財富之神,勝利,護法之神。
釋迦:原名喬達摩。悉達多,佛教的創始人。相傳為印度北部小國王子,后舍棄家庭,權位,獨自出走。七年后在菩提樹下頓悟成佛。又被稱為大日如來。佛教中最為崇高的神,曾降伏過中國的戰斗之神齊天大圣。
天龍八部:即八部眾,說法見于佛經。《法華經。提婆達多品》中曾提到過:“天龍八部,人與非人,皆遙見彼龍女成佛、”
天:即帝釋天為首的天神。天神的壽命也會完結,這是因為佛家相信事事皆有無常。天神臨死前會出現“衣裳垢膩,頭上花萎,身體臭穢,腋下出汗,不樂本位”這五種征兆,也就是所謂的“天人五哀”。
阿修羅:阿修羅是與天對立的一族。他們非常好戰,男的極丑,女的極美。阿修羅有美女而無美食。天有美食而無美女。雙方常因此而互相爭斗,場面十分慘烈。“修羅場”的說法即從此來。阿修羅一族被視為戰神,他還有個化身是火神大摩尼,也就是“拜火教”和中土“明教”的最高神。
龍:龍無論在東西方神話,還是在奇幻文化中都是個非常歡迎的角色。以其獨特的外形,強大的力量備受青睞。可以說一說到奇幻,人們就會想到龍,龍幾乎成了奇幻文學的代表。東西方的龍雖然有所不同,但它們也有很多相似之處,頭部特征,善飛翔,會從嘴中吐出物質攻擊等。這些驚人的巧合讓人忍不住懷疑是否以前有此一類生物存在。龍的記載在我國由來以久,大量詳實,準確,生動的記錄貫穿著整個古代正史,有紀可考的記錄最后見于民國初年,讓人十分迷惑。但天龍八部中的龍其實說的是一種大蟒蛇。
乾達婆:擁有黃金之翼半人半鳥的精靈。天界的音樂家。
迦樓羅:中國人很熟悉的一種大鳥,傳入中國后演變成了金翅大鵬鳥。原型是種翅有種種莊嚴寶色的神鳥,一天吞噬一條龍王和五百條小龍(哪來這么多龍讓它吃?),五百年自焚一次,然后又從火焰中復活,鳳凰重生的傳說即來源于此。
其他有代表性的神
巴爾:又名巴盧爾或巴卡爾,出現在不同神話中,名稱也不同。美索不達米亞一帶的主神,掌管雷電和農牧,生殖。也是死而復生之神。與兄長穆圖是死敵。起先是善神,后在基督教義中被視為邪神。在《暗黑破壞神二》中登場,被視為毀滅之王。
穆圖:也名莫特。死神,冥界之神,混沌之神,干旱和歉收之神。是巴爾的兄長和主要對手。出自閃米特族神話。
阿卡特拉姆:凱爾特神話中的勇敢之神,達努神族努阿達的別名。曾與邪神巴爾殊死作戰。
須佐之男:日本神話中最早的大神依邪那歧三子女中的最幼者,另兩為就是日本最高神天照大神,和月讀了。他全名為素盞鳴尊,亂暴之神,因其狂暴的性格而被視為破壞神。他斬殺了八歧大蛇,成為神話中的英雄。
伊希斯:埃及神話中神力非凡的巫師,被視為魔法的始祖。
塞特:出自埃及神話,希臘人稱之為緹豐,為惡靈的化身,永遠與善良作對。傳說他曾化身黑豬,每月攻擊啖食月亮。
哈奴曼:印度版孫悟空,是印度神話中的神猴。風神和母猴所生之子。在英雄敘事詩《羅摩衍那》中登場成為幫助羅摩王子的好幫手。他聰明非凡,力能排山倒海,善于騰云駕霧,變幻形象和大小(還說不是孫悟空?),多次救助羅摩王子,是智慧和力量的化身。
塞克爾:埃及神話中的死者之神。以鷹頭木乃伊的形象出現,傳說為冥界的判官,常用一架天平來稱量死者的心臟,以決定他的待遇。在古埃及法老陵墓中的壁畫上大量出現,在羅。斯托神廟中被膜拜。
posted @
2005-01-23 19:08 小毅 閱讀(612) |
評論 (0) |
編輯 收藏
奧丁:北歐阿斯神族的至高神,諸神之王,也是死者之王,戰神,權力之神,魔法之神。曾冒死以一人之力闖入冥界,為人類取得古文字而擁有大量知識,為此失去一只眼睛。他身形高大,身披金甲,騎八足神馬“斯萊普尼斯”,手持名槍“岡尼爾”,居住在“瓦爾哈拉”的神殿中,讓女武神收集死者的魂魄,為終末之戰“饒納諾克”即“諸神的黃昏”做準備。為舉世聞名的北歐蠻族,維京人所信仰。他們堅信如果英勇戰死就可以進入“瓦爾哈拉”,所以戰斗是勇猛無比,曾席卷過大半個歐洲。
女武神(瓦爾基里):侍奉主神奧丁的女神,奉命奔波在戰場上,收集戰死的勇士的靈魂,帶往“瓦爾哈拉”,讓其復活以應付諸神與巨人族的“諸神的黃昏”的最終戰。女武神們各個武技高超,為人類的保護神 。著名劇作家瓦格納曾為其譜寫過名曲《女武神的飛馳》(瓦格納以及他的作品和生平會在以后介紹,他的著名作品《尼伯龍根的指環》是歌劇版的奇幻小說,有興趣的可以找來聽聽,十分精彩!)
齊格弗里德:德國著名英雄敘事詩《尼伯龍根之歌》里登場的英雄,他得到了擁有至高力的指環,可以聽懂鳥語。他殺死過巨龍,沐浴過龍血,成為有最強肉體的不死男人。但卻因為沐浴時一片樹葉掉在了背上,肩胛骨下的一處成為致命弱點而被人殺死。(詳情請參閱瓦格納的《尼伯龍根的指環》)
洛基:最初被看作仁慈之神,因為其杰出的才能和外貌而被阿斯神族接受,但身為巨人族的他生性喜歡喜歡挑撥其他神爭斗,還殺死了主神奧丁的兒子,被諸神囚禁,在諸神與巨人族的終末戰“諸神的黃昏”時爆發,加入巨人族陣營戰斗,最后帶來了諸神的毀滅。
瑟特:住在火之國度的巨人,“諸神之黃昏”中率火巨人出戰。
赫爾:主宰地下世界的女神,據說是洛基的女兒,奧丁賦予她到冥界尼弗爾海姆,統治九界的權力。
焚里爾:北歐神話中最著名的魔獸,洛基的子女之一,巨大狼形怪物,傳說當他張開嘴后上下鄂可以頂住天地,因其性格兇暴而被矮人族囚困,直到終末戰時,他才脫困,并且吞下了太陽和主神奧丁。
托爾:著名的雷電之神,名字即“轟鳴者”的意思,諸神中最具怪力的神,以巨大鐵槌作戰。他的鐵槌也很著名,“托爾的鐵槌”在許多作品中幾乎成為了力量的代表。他還是豐饒之神,主管一切人類所必須經歷的儀式,如婚喪嫁娶等。“諸神之黃昏”中托爾和世界蛇尤蒙岡多同歸于盡。尤蒙岡多是一條自己銜著自己的大蛇,象征無限。
北歐命運三女神:掌握“存在”和“未來” 斯克爾特 掌握“必然”和“現在” 威爾珊迪
掌握命運和過去 ???(沒找到。)
多瓦夫:矮人中的妖精族(奇怪的組合)。據說當初是蛆蟲,因啃食了最初巨人尤米爾的遺體而獲得了人形和智慧。擁有天才的鍛造本領,是武器和工藝品的杰出制造者,也就是奇幻小說中常常出現的矮人族設定的原形,代表人物很多,如《龍槍》中弗林特。火爐。他們共同的特點為矮胖的身體,大胡子,手持戰斧,忠誠而脾氣暴躁。
BERSERK:巴薩卡,這個詞源于古代北歐語言,意思是“披著熊皮的人”后為“狂戰士”的稱謂。是奇幻作品中最受歡迎的職業設定之一。狂戰士受主神奧丁的加護,戰斗中會陷入極度興奮的忘我狀態,以超強的肉體打擊敵人,沒有恐懼,疼痛的感覺。嚴重者會陷入癲狂而死。
posted @
2005-01-23 19:07 小毅 閱讀(800) |
評論 (0) |
編輯 收藏
宙斯:希臘神話中的至高神,掌握雷電,所以又被稱為雷神。在母親蕾亞的支持下,殺了父親克洛諾斯,成為了第三代神王。性格極為好色,常背著妻子赫拉與其他女神 和凡人私通,私生子無數。
克洛諾斯:前奧林波斯神詆之一,天神烏拉諾和大地女神瑞亞之子,泰坦巨人中的最幼者,推翻父親成為第二代神王,其后卻遭到與父親同樣的命運。
波塞冬:海之皇,宙斯的二哥,手持巨大三叉戟,統領海中所有生物。有被描寫為半人半魚的模樣,能呼風喚雨。性格兇暴殘忍。
哈帝斯:宙斯,波塞冬,得墨忒爾的兄長,主管冥界,力量很強,但性格平和。除了搶奪豐收女神得墨忒爾之女春之女神玻爾塞富涅為妻外,無它惡行。
瑞亞:希臘神話中的大地女神,是奧林波斯神系之前的古神,也是泰坦之母,她與烏拉諾生下了眾多希臘神詆。
帕拉斯。雅典娜:智慧女神和正義戰爭女神,宙斯和墨涅斯之女,她出生時宙斯頭部劇烈疼痛,之后用大斧劈開后,雅典娜手持長槍,身披戰甲從中跳出。是很受歡迎的神。因失手殺死好友帕拉斯而改名為帕拉斯。雅典娜。
阿波羅;太陽神,宙斯和勒托之子,月神和狩獵女神阿爾忒彌斯的兄長,希臘十二大神詆之一,又名赫利俄斯。主掌光明,醫藥,文學,詩歌,音樂等。每天架天馬拉乘的的黃金車巡游天上一周。
阿爾忒彌斯:月神,狩獵女神,純潔之神。所以也被稱為處女的保護神。阿波羅的孿生妹妹。
阿瑞斯:戰神,是兇殘,狡詐,非理性的,為戰爭而戰爭的神。曾與工匠之神的妻子維納斯私通,被裝進一張工匠之神特制的大網中而無法脫身。(維納斯原為羅馬神詆,后為希臘神話所吸收。)
赫爾墨斯:宙斯與阿特拉斯的女兒邁亞所生的兒子。腳生雙翼,速度如飛,成為天界眾神傳令的使者,后為旅人,商人,盜賊的保護神,經常化為凡人下界幫助保護者。
狄俄涅索斯:酒神,拉丁文名字為巴卡斯,傳說中釀酒的發明人,形象為一手持酒杯,一手拿松果木神杖,后升為歡樂,文明之神。
赫拉克勒斯:宙斯與凡人的私生子,為神母赫拉所仇視,但在雅典娜的巧妙安排下,赫拉為其哺過乳。出生后既力大無窮,曾于搖籃中捏死過兩條巨蛇。成人后,完成了號稱不可能完成的十二件大功。因此其后升為大力神。因在完成十二件大功中替人類掃除了眾多妖魔怪獸,并解放了為宙斯囚禁的善神普羅米修斯,所以受人愛戴。富于反抗精神,曾不滿宙斯的專制而反抗神界。
刻耳柏洛斯:地獄的守門狗,三頭而蛇尾的魔獸,以青銅之聲攻擊敵人,是巨人和怪物所生的怪獸。
posted @
2005-01-23 19:06 小毅 閱讀(2138) |
評論 (1) |
編輯 收藏
一、馬太效應
《新約 馬太福音》中有這樣一個故事,一個國王遠行前,交給三個仆人每人一錠銀子,吩咐他們:“你們去做生意,等我回來時,再來見我。”國王回來時,第一個仆人說:“主人,你交給我們的一錠銀子,我已賺了10錠。”于是國王獎勵他10座城邑。第二個仆人報告說:“主人,你給我的一錠銀子,我已賺了5錠。”于是國王例獎勵了他5座城邑。第三個仆人報告說:“主人,你給我的一錠銀子,我一直包在手巾里存著,我怕丟失,一直沒有拿出來。”于是國王命令將第三個仆人的一錠銀子也賞給第一個仆人,并且說:“凡是少的,就連他所有的也要奪過來。凡是多的,還要給他,叫他多多益善。”這就是馬太效應。看看我們周圍,就可以發現許多馬太效應的例子。朋友多的人會借助頻繁的交往得到更多的朋友;缺少朋友的人會一直孤獨下去。金錢方面更是如此,即使投資回報率相同,一個比別人投資多10倍的人,收益也多10倍。
這是個贏家通吃的社會,善用馬太效應,贏家就是你。
對企業經營發展而言,馬太效應則告訴我們,要想在某一個領域保持優勢,就必須在此領域迅速做大。當你成為某個領域的領頭羊的時候,即使投資回報率相同,你也能更輕易的獲得比弱小的同行更大的收益。而若沒有實力迅速在某個領域做大,就要不停地尋找新的發展領域,才能保證獲得較好的回報。
二、手表定理
手表定理是指一個人有一只表時,可以知道現在是幾點鐘,而當他同時擁有兩只表時卻無法確定。兩只表并不能告訴一個人更準確的時間,反而會讓看表的人失去對準確時間的信心。你要做的就是選擇其中較信賴的一只,盡力校準它,并以此作為你的標準,聽從它的指引行事。記住尼采的話:“兄弟,如果你是幸運的,你只需有一種道德而不要貪多,這樣,你過橋更容易些。”
如果每個人都“選擇你所愛,愛你所選擇”,無論成敗都可以心安理得。然而,困擾很多人的是:他們被“兩只表”弄得無所,心身交瘁,不知自己該信仰哪一個,還有人在環境、他人的壓力下,違心選擇了自己并不喜歡的道路,為此而郁郁終生,即使取得了受人矚目的成就,也體會不到成功的快樂。
手表定理在企業經營管理方面給我們一種非常直觀的啟發,就是對同一個人或同一個組織的管理不能同時采用兩種不同的方法,不能同時設置兩個不同的目標。甚至每一個人不能由兩個人來同時指揮,否則將使這個企業或這個人無所適從。手表定理所指的另一層含義在于每個人都不能同時挑選兩種不同的價值觀,否則,你的行為將陷于混亂。
posted @
2005-01-23 19:00 小毅 閱讀(276) |
評論 (1) |
編輯 收藏
練級無至盡,現在網絡游戲似乎除了練級還是練級,一切都是為了練級...
是不是可以在游戲中加入年齡這種概念,即可以把在線時間換算成游戲中角色年齡,角色年齡只跟角色在線時間有關,不管角色在線上做什么.而角色的各項技能又和角色年齡有關,在各個年齡段練習不同的技能,打怪只是提高自己的技能階級.角色到達一定年齡階段角色技能會衰減....還想的不是很成熟..
posted @
2005-01-21 19:12 小毅 閱讀(155) |
評論 (0) |
編輯 收藏
所有東西都是對象.
程序就是對象的組合,對象之間通過消息聯系
對象就是類class的一個實例.類的最重要的特征就是能發什么樣的消息給對象.!
對象可以包含對象.封裝!
interface規定了可對一個特定對象發那些請求.
若只是簡單地繼承一個類,并不做其他任何事情,來自基礎類接口的方法就會直接照搬到衍生類。這意味著衍生類的對象不僅有相同的類型,也有同樣的行為,這一后果通常是我們不愿見到的。
等價與類似.新類型擁有舊類型的接口,但也包含了其他函數,所以不能說它們是完全等價的
我們將這種把衍生類型當作它的基本類型處理的過程叫作“Upcasting”(上溯造型)。
將一條消息發給對象時,如果并不知道對方的具體類型是什么,但采取的行動同樣是正確的,這種情況就叫作“多形性”(Polymorphism)。
在面向對象的程序設計中,由于C++的引入而顯得尤為突出的一個問題是:所有類最終是否都應從單獨一個基礎類繼承。在Java中(與其他幾乎所有OOP語言一樣),對這個問題的答案都是肯定的,而且這個終級基礎類的名字很簡單,就是一個“Object”。
上溯造型成一種更“通用”的類型。而是下溯造型成一種更“特殊”的類型
posted @
2005-01-20 12:36 小毅 閱讀(267) |
評論 (0) |
編輯 收藏
自我墮落了兩天了...
我該回到原來的生活中去了...
真的該回去了....
恩....努力,加油,我不要醬紫的反思!!!!
posted @
2005-01-19 22:41 小毅 閱讀(155) |
評論 (0) |
編輯 收藏