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

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

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

    dream-in-fly
    路上...
    posts - 31,  comments - 6,  trackbacks - 0

    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("" + "");
    out.println("" + "");
    out.println("" + "");
    out.println("" + "");
    out.println("
    教師信息表
    姓名" +
    ? (String)hashTable.get(new String("name")) + "
    學院" +
    ? (String)hashTable.get(new String("college"))+"
    電話" +
    ? (String)hashTable.get(new String("telephone")) + "
    備注" +
    ? (String)hashTable.get(new String("notes")) + "
    ");
    %>

    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年1月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章檔案

    blog 好友

    友情鏈接

    常用網站

    技術網站論壇

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲福利精品电影在线观看| 青青久在线视频免费观看| 国内精品久久久久久久亚洲| 四虎一区二区成人免费影院网址| 国产精品黄页在线播放免费| 国产成人亚洲综合网站不卡| 在线观看成人免费视频| 亚洲国产无线乱码在线观看| 国产成人精品男人免费| 免费看一级高潮毛片| 亚洲熟妇av一区二区三区漫画| a级毛片免费完整视频| 亚洲AV日韩精品久久久久久 | 国产精品免费一区二区三区| 亚洲无码高清在线观看| 最近更新免费中文字幕大全| 亚洲免费在线播放| 欧美三级在线电影免费| 久久久亚洲精华液精华液精华液| 亚洲 小说区 图片区 都市| 免费无码又爽又刺激高潮| 成人精品国产亚洲欧洲| 亚洲色成人中文字幕网站| 久久精品免费观看国产| 精品亚洲一区二区三区在线播放 | 免费污视频在线观看| 亚洲乱码一二三四区国产| 免费国产怡红院在线观看| 久久久WWW成人免费精品| 亚洲高清视频在线播放| 免费人成年轻人电影| 久久久久国产精品免费看| 亚洲夂夂婷婷色拍WW47| 91在线品视觉盛宴免费| 日韩在线观看视频免费 | 亚洲精品无码久久久久APP| 亚洲精品成人片在线观看| 久久国产高潮流白浆免费观看| 亚洲国产精品无码久久98 | 日本一道高清不卡免费| 免费无码H肉动漫在线观看麻豆|