[摘要]Java是一種簡單的,面向?qū)ο蟮模植际降模忉屝偷?,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動(dòng)態(tài)語言,文章從不同領(lǐng)域?qū)ζ溥M(jìn)行了分析和研究。
[關(guān)鍵詞]Java 多線程 仿真系統(tǒng)
Java技術(shù)自問世來,已有JavaSE JavaEE、JavaME三大平臺和多個(gè)版本,涉及桌面系統(tǒng)、企業(yè)應(yīng)用、無線應(yīng)用、web服務(wù)等多個(gè)方面十年來,Java編程語言及平臺成功地應(yīng)用在網(wǎng)絡(luò)計(jì)算及移動(dòng)等各應(yīng)用領(lǐng)域 比如移動(dòng)電話、個(gè)人電腦 跨國金融系統(tǒng)和衛(wèi)星通訊等。java帶來了很多創(chuàng)建性的東西 框架和模型要比其他語言更多更成熟.java的開源項(xiàng)目更多,可以免費(fèi)使用的資源更多,由于Sun、IBM、Oracle、Bea、Sybase等國際廠商都用Java技術(shù)開發(fā)了應(yīng)用服務(wù)器、電子商務(wù)平臺及應(yīng)用軟件,構(gòu)造各類信息系統(tǒng),Java成為企業(yè)級業(yè)務(wù)應(yīng)用的首選開發(fā)平臺,使復(fù)雜、多層的網(wǎng)絡(luò)計(jì)算應(yīng)用變得易于搭建和步署。
一、Java技術(shù)的概述
Java平臺由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺上安裝一個(gè)Java平臺之后,Java應(yīng)用程序就可運(yùn)行?,F(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺基于Java1.4,最近版本為Java1.7。
Java分為三個(gè)體系JavaSE(Java2 Platform Standard Edition,java平臺標(biāo)準(zhǔn)版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版),JavaME(Java 2 Platform Micro Edition,java平臺微型版)。
二、Java多線程創(chuàng)建
利用Java語言實(shí)現(xiàn)多線程應(yīng)用程序的方法很簡單。根據(jù)多線程應(yīng)用程序繼承或?qū)崿F(xiàn)對象的不同可以采用兩種方式:一種是應(yīng)用程序的并發(fā)運(yùn)行對象直接繼承Java的線程類Threadt另外一種方式是定義并發(fā)執(zhí)行對象實(shí)現(xiàn)Runnable接口。
通過繼承Thread類創(chuàng)建線程。Thread類是JDK中定義的用于控制線程對象的類,在該類中封裝用于進(jìn)行線程控制的方法。在這個(gè)途徑中,用戶程序需要?jiǎng)?chuàng)建自己的Thread類的予類,并在子類中重新定義自己的方法,這個(gè)方法中包含了用戶線程的操作。這樣在用戶程序需要建立自己的線程時(shí),只需要?jiǎng)?chuàng)建一個(gè)已定義好的Thread子類的實(shí)例就可以了。
通過Runnable接口創(chuàng)建線程。Runnable接口只有一個(gè)方法run(),實(shí)現(xiàn)這個(gè)接口,就必須要定義mnO方法的具體內(nèi)容,用戶新建線程的操作也由這個(gè)方法來決定。定義好run()方法之后,當(dāng)用戶程序需要建立新線程時(shí),只要以這個(gè)實(shí)現(xiàn)了run()方法的類為參數(shù)創(chuàng)建系統(tǒng)類Thread的對象,就可以把用戶實(shí)現(xiàn)的run()方法繼承過來。
三、Java在Intranet應(yīng)用
Intranet是一種與外部世界安全隔離的內(nèi)部網(wǎng)絡(luò),它采用了Internet技術(shù)為它的信息底層服務(wù)。創(chuàng)建一個(gè)成功的Intranet應(yīng)用程序應(yīng)遵循以下四個(gè)步驟:(1)確定需求。通過考察Intranet網(wǎng)的目的、范圍、用戶等因素來確定Intranet網(wǎng)設(shè)計(jì)和實(shí)現(xiàn)需求;(2)規(guī)劃。在確定了Intranet網(wǎng)的需求后,則開始進(jìn)行Intranet網(wǎng)的規(guī)劃,確定項(xiàng)目實(shí)施的時(shí)間和實(shí)施項(xiàng)目所必需的步驟,對條件和需求進(jìn)行實(shí)現(xiàn)性考查;(3)設(shè)計(jì)。一般是通過確定Intranet網(wǎng)上軟件硬件安裝的位置與方式(如主Web服務(wù)器安裝的位置以及軟件如何共享等)來設(shè)計(jì)的;(4)實(shí)現(xiàn)。在Intranet將根據(jù)需求、計(jì)劃和設(shè)計(jì)來創(chuàng)建Intranet服務(wù)和開發(fā)應(yīng)用程序。
四、Java在仿真系統(tǒng)中應(yīng)用
控制類是一個(gè)抽象類,是控制線程和對象的類,其中線程控制是本文要重點(diǎn)說明的。在Java開發(fā)語言中,除系統(tǒng)線程外的每個(gè)線程又隸屬于另一個(gè)線程組,可以在創(chuàng)建線程組時(shí)指定其隸屬的線程組,若沒有指定,則缺省的隸屬于系統(tǒng)線程組。這樣,所有線程組組成了一棵以系統(tǒng)線程組為根的樹。在基于Java的多線程仿真機(jī)制中,Java提供了線程組類,線程組提供了控制、管理線程的所有方法,為仿真模型中線程的管理提供了基礎(chǔ)設(shè)施,極大地方便了開發(fā)人員。
Java允許我們對一個(gè)線程組中所有的線程同時(shí)進(jìn)行操作,比如我們可以通過調(diào)用線程組的方法來設(shè)置其中所有線程的優(yōu)先級,也可以啟動(dòng)或阻塞其中的所有線程。例如,運(yùn)行模型時(shí),將產(chǎn)生的線程加入到其線程組中,在主線程中,仿真鐘每推進(jìn)一步,就查看線程組中線程的啟動(dòng)時(shí)間,如果有等于當(dāng)前仿真時(shí)間的,就啟動(dòng),使模型得到很好的控制。
結(jié)束語 由于Java的跨平臺性,更為分布式的物流仿真提供了廣闊的發(fā)展空問,采用多線程機(jī)制不但能模擬并行的系統(tǒng),還能在系統(tǒng)中實(shí)現(xiàn)交互。如果在軟件的設(shè)計(jì)中采用UML面向?qū)ο蠼<夹g(shù),可使程序開發(fā)過程標(biāo)準(zhǔn)化、可視化,代碼編程也簡單化。
參考文獻(xiàn):
[1]詹躍東,李莉,史揚(yáng):基于UML和多線程的AGVS仿真工具設(shè)計(jì)[J],系統(tǒng)仿真學(xué)報(bào),2005(5):871—874
[2] 接鵬;基于Java的多線程離散事件仿真機(jī)制[J],現(xiàn)代計(jì)算機(jī),2005(5):84—85
[3] 葉俊民,汪望珠:面向?qū)ο筌浖こ淌褂肬ML、模式、Java(第2版)[M],北京:清華大學(xué)出版社,2006
[4] 白尚旺,黨偉超:Power Designer軟件工程技術(shù)[M],北京:電子工業(yè)出版社,2005
[5] 何俊,杜斌,李聰:面向?qū)ο箅x散仿真平臺的設(shè)計(jì)[J],計(jì)算機(jī)仿真,2008,25(7):290—293