freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

公選課結(jié)課論文-基于java與matlab集成的數(shù)字通信原理虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)(已改無(wú)錯(cuò)字)

2022-09-07 12:16:30 本頁(yè)面
  

【正文】 ,方便Java 方 JNI JMatLin MATLAB 工作區(qū)間 JMatLink 10 管理人 員進(jìn)行查看 ,其中信息包括客戶端 IP 地址、來(lái)自哪個(gè)組件及連接狀況 。 (3)打開(kāi)和關(guān)閉 MATLAB 計(jì)算引擎 。 (4)其他一些輔助功能 ,包括配置、退出服務(wù)、日志的顯示等。 圖 32 服務(wù)管理的圖形用戶界面 線程池的詳細(xì)設(shè)計(jì) 諸如 web 服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、文件服務(wù)器或郵件服務(wù)器之類的許多服務(wù)器應(yīng)用程序都面向處理來(lái)自某些遠(yuǎn)程來(lái)源的大量短小的任務(wù)。請(qǐng)求以某種方式到達(dá)服務(wù)器 ,這種方式可能是通過(guò)網(wǎng)絡(luò)協(xié)議 (例如 HTTP、 FTP 或 POP)、通過(guò) JMS 隊(duì)列或者可能通過(guò)輪詢數(shù)據(jù)庫(kù)。不管請(qǐng)求如何到達(dá) ,服務(wù)器應(yīng)用程序中經(jīng) 常出現(xiàn)的情況是 :單個(gè)任務(wù)處理的時(shí)間很短而請(qǐng)求的數(shù)目卻是巨大的。 構(gòu)建服務(wù)器應(yīng)用程序的一個(gè)過(guò)于簡(jiǎn)單的模型應(yīng)該是 :每當(dāng)一個(gè)請(qǐng)求到達(dá)就創(chuàng)建一個(gè)新線程 ,然后在新線程中為請(qǐng)求服務(wù)。實(shí)際上 ,對(duì)于原型開(kāi)發(fā)這種方法工作得很好 ,但如果試圖部署以這種方式運(yùn)行的服務(wù)器應(yīng)用程序 ,那么這種方法的嚴(yán)重不足就很明顯。每個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)線程 (threadperrequest)方法的不足之一是 :為每個(gè)請(qǐng)求創(chuàng)建一個(gè)新線程的開(kāi)銷很大 。為每個(gè)請(qǐng)求創(chuàng)建新線程的服務(wù)器在創(chuàng)建和銷毀線程上花費(fèi)的時(shí)間和消耗的系統(tǒng)資源要比花在處理實(shí)際的用戶請(qǐng)求的時(shí)間和資源 更多。 除了創(chuàng)建和銷毀線程的開(kāi)銷之外 ,活動(dòng)的線程也消耗系統(tǒng)資源。在一個(gè) JVM 里創(chuàng)建太多的線程可能會(huì)導(dǎo)致系統(tǒng)由于過(guò)度消耗內(nèi)存而用完內(nèi)存或“切換過(guò)度”。為了防止資源不足 ,服務(wù)器方需要一些辦法來(lái)限制任何給定時(shí)刻處理的請(qǐng)求數(shù)目。 線程池通過(guò)對(duì)多個(gè)任務(wù)重用線程 ,線程創(chuàng)建的開(kāi)銷被分?jǐn)偟搅硕鄠€(gè)任務(wù)上。其好處是 ,因?yàn)樵谡?qǐng)求到達(dá)時(shí)線程已經(jīng)存在 ,所以無(wú)意中也消除了線程創(chuàng)建所帶來(lái)的延遲。這樣就可以立即為請(qǐng)求服務(wù) ,使響應(yīng)更快。而且 ,通過(guò)適當(dāng)?shù)卣{(diào)整線程池中的線程數(shù) 11 目 ,也就是當(dāng)請(qǐng)求的數(shù)目超過(guò)某個(gè)閡值時(shí) ,就強(qiáng)制其它任何新到的請(qǐng)求一直等待 ,直到獲得一個(gè)線程來(lái)處理為止 ,從而可以防止資源不足。 后臺(tái)調(diào)度模塊的設(shè)計(jì) 對(duì)于服務(wù)器而言 ,由于服務(wù)器應(yīng)用程序運(yùn)行時(shí) ,端口一直處在偵聽(tīng)狀態(tài) ,當(dāng)有請(qǐng)求發(fā)生時(shí) ,如果連接成功 ,將其放到任務(wù)隊(duì)列 ,如果沒(méi)有連接成功需等待下次連接。而后臺(tái)則根據(jù)當(dāng)前任務(wù)隊(duì)列中的任務(wù)等待狀況 ,所有任務(wù)隊(duì)列的優(yōu)先級(jí)別一致 ,按照先來(lái)先服務(wù)的思想 ,當(dāng)輪詢線程池中具有空閑線程后 ,啟動(dòng)服務(wù)線程守護(hù)該任務(wù)的執(zhí)行 ,直到任務(wù)的請(qǐng)求執(zhí)行完畢為止 ,而線程再置為空閑狀態(tài)。任務(wù)調(diào)度的過(guò)程如圖 34 所示 ,而整個(gè)過(guò)程的實(shí)現(xiàn)模塊我們將其命名為 VLS(VirtualLabServer)。 圖 33 任務(wù)調(diào)度的流程框架 客戶端主要模塊的設(shè)計(jì)與實(shí)現(xiàn) 用戶 操作界面 在用戶界面的實(shí)現(xiàn)時(shí) ,我們采用 Swing用戶界面組件技術(shù)開(kāi)發(fā)了幾個(gè)模塊類 ,主要有主窗口類 (Mainwindow)、主菜單類 (MainMenu)、工具條類 (ToolBar)、實(shí)驗(yàn)設(shè)備載體類 (DeviceCarrier) 、實(shí) 驗(yàn)設(shè) 備連接 器類 (DeviceConnector)、 設(shè)計(jì) 面板類(DesignPane)、屬性編輯欄類 (propertyEditor)、用戶注冊(cè)類 (RegisterClassPane)及結(jié)果面板類 (ResultPane)等 ,其中 ,Mainwindow 類是實(shí)驗(yàn)平臺(tái)的主框架 ,它繼承JFrame 類 ,布局整個(gè)數(shù)字通信原理虛擬實(shí)驗(yàn)用戶界面平臺(tái)。在 Mainwindow 中我們裝載了實(shí)驗(yàn)設(shè)計(jì)窗口、實(shí)驗(yàn)結(jié)果窗口、工具欄和菜單欄 。ToolBar 創(chuàng)建 5 個(gè)實(shí)例對(duì)象 ,分別用以運(yùn)行、停止、新建、打開(kāi)和保存實(shí)驗(yàn)流程 。DeviceCarrier 類創(chuàng)建的對(duì)象為實(shí)驗(yàn)流程中的設(shè)備單元 ,它具有設(shè)備名、引線、大小、實(shí)驗(yàn)設(shè)備的 URL 地址等屬性和一些屬性值的設(shè)置、設(shè)備移動(dòng)、繪制、實(shí)驗(yàn)設(shè)備序列化等方法 。PropertyEditor 類 主要完成對(duì)實(shí)驗(yàn)設(shè)備屬性的編輯 。ResultPane 類主要完成設(shè)備的啟動(dòng)、執(zhí)行、停止和結(jié)果的顯示等。 動(dòng)態(tài)的實(shí)驗(yàn)仿真效果 數(shù)字通信原理實(shí)驗(yàn)的特點(diǎn)決定了實(shí)驗(yàn)需要有動(dòng)態(tài)逼真的實(shí)驗(yàn)結(jié)果 ,在設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程中 ,可以從真實(shí)的實(shí)驗(yàn)設(shè)備中抽象出單個(gè)設(shè)備應(yīng)該具備相應(yīng)的動(dòng)態(tài)特性。為了 12 能在平臺(tái)上提供這些特性 ,我們從實(shí)驗(yàn)過(guò)程中數(shù)據(jù)的動(dòng)態(tài)產(chǎn)生和顯示來(lái)闡述實(shí)驗(yàn)仿真效果。 首先 ,該課程的實(shí)驗(yàn)的數(shù)字信號(hào)有著連續(xù)且穩(wěn)定的特征 ,在設(shè)計(jì)信號(hào)發(fā)生組件時(shí)應(yīng)該要跟這個(gè)特征相符 。然后 ,接收信號(hào)的組件能夠?qū)π盘?hào)的動(dòng)態(tài)變化 有正確的處理 。最后 ,所產(chǎn)生的信號(hào)應(yīng)該要精確 ,達(dá)到實(shí)驗(yàn)要求。 在信號(hào)發(fā)生的設(shè)備組件中 ,有能夠產(chǎn)生動(dòng)態(tài)正弦、余弦、正切等信號(hào) ,這些實(shí)現(xiàn)方法都被封裝在對(duì)應(yīng)的組件方法中 ,如正弦信號(hào)的產(chǎn)生 ,其對(duì)應(yīng)方法是 sinsignalO,為了能達(dá)到實(shí)驗(yàn)要求的精度 ,該方法返回類型定義為 double型 。在方法體中 ,用 for循環(huán)來(lái)動(dòng)態(tài)產(chǎn)生一個(gè)預(yù)先固定長(zhǎng)度 dataNum的數(shù)組 ,在實(shí)驗(yàn)組件中 dataNum的值為 36,將產(chǎn)生的數(shù)據(jù)存在 result 的定長(zhǎng)數(shù)組中。其實(shí)現(xiàn)上 如下 : for(inti=0。i。i++){ result[i]=amPlitude*((double)(2* *signalFrequency*(index+))/(double)(samPleFrequency))。 } 每當(dāng)組件獲得一個(gè)線程運(yùn)行機(jī)會(huì)后 ,它的方法就被調(diào)用執(zhí)行一次 ,每次產(chǎn)生 36 字節(jié)長(zhǎng)度的數(shù)組 ,然后傳給下一組件 ,供其它組件處理直到最后的信號(hào)顯 示 。 實(shí)驗(yàn)的最后顯示都由顯示組件來(lái)完成 ,根據(jù)不同實(shí)驗(yàn)的顯示要求需要開(kāi)發(fā)不同的顯示組件 ,他們?cè)谔幚淼姆椒ㄉ匣疽恢?。這些組件中定義了一個(gè) buffer 數(shù)組 ,用來(lái)緩存由其他組件傳來(lái)的數(shù)據(jù) ,該數(shù)組的長(zhǎng)度為 dataNum 的整數(shù)倍。實(shí)現(xiàn)時(shí)在組件方法體內(nèi)定義 setsourceData2(double[]source)方法 ,將接收的數(shù)組緩沖到 buffer 數(shù)組 ,同時(shí)依次從 buffer 數(shù)組中 ( 從頭至尾 )取 數(shù)存 入 ScoPeData 數(shù)組中 ,在drawHistogram()方法中逐次調(diào)用 scopeData 數(shù)組中的數(shù)據(jù)在 Jlntema1Frame 的對(duì)象中進(jìn)行繪制。 在組件中 ,為了最后能動(dòng)態(tài)顯示信號(hào)的變化過(guò)程 ,在組件設(shè)計(jì)時(shí)還需給組件定義一個(gè)重要的屬性 sleeplnterval,它用來(lái)表示信號(hào)之間的間隔時(shí)間 ,在繪制時(shí) ,相鄰數(shù)據(jù)之間的繪制間隔就是用戶可以設(shè)置的時(shí)間差 sleeplnterval
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1