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

正文內(nèi)容

基于java的多線程跨平臺(tái)下載軟件的實(shí)踐畢業(yè)論文(參考版)

2024-11-11 22:00本頁面
  

【正文】 } } 單線程直接獲取網(wǎng)絡(luò)文件 功能描述 單線程直接獲取網(wǎng)絡(luò)文件的關(guān)鍵點(diǎn)是獲。 } } // 點(diǎn)擊 JFrame關(guān)閉窗口監(jiān)聽器類 class JFrameCloseListener extends WindowAdapter { 30 public void windowClosing(WindowEvent e) { saveModel()。 } } } // 點(diǎn)擊關(guān)閉按鈕監(jiān)聽器類 class CloseListener implements ActionListener { public void actionPerformed(ActionEvent e) { saveModel()。 } public void actionPerformed(ActionEvent e) { // 調(diào)用添加任務(wù)對話框 TaskDialog taskInfo = new TaskDialog(f)。 } 29 對事件的監(jiān)聽 // 添加下載任務(wù)監(jiān)聽器類 class AddTaskListener implements ActionListener { MainFrame f。 (350,200)。 ().add(topPan,)。 botPan=new Tool_pane()。 lab_filesize=new JLabel(0k)。 JLabel lab_Lfilestate=new JLabel(下載狀態(tài) : )。 JLabel lab_Lfilepath=new JLabel(存放位置 : )。 JLabel lab_Ldownspeed=new JLabel(下載速度 : )。 JLabel lab_Lfilesize=new JLabel(文件大小 : )。 (false)。 28 (200,200)。 ().add(toolpane,)。 //構(gòu)建 Frame布局 (new BorderLayout())。 (())。 (sp_lst,)。 //構(gòu)建窗口上方布局 JPanel top_pane=new JPanel()。 //創(chuàng)建文件下載屬性面板 itp_fileProperity=new ItemPane()。 JScrollPane sp_lst=new JScrollPane(lst_downfiles)。 DownLoadUtil 通過URL 建立與服務(wù)器的連接 DownLoadInfo 獲得文件的相關(guān)信息,并存儲(chǔ)到該類中 DownLoadThread實(shí)現(xiàn)單線程下載,相關(guān)下載位置 由前面提供 MultiDownload 通過循環(huán)調(diào)用DownLoadThread實(shí)現(xiàn)同時(shí)多線程 ListenThread 對每個(gè)線程進(jìn)行監(jiān)聽,監(jiān)聽線程是否結(jié)束 26 圖 53 用 戶界面 Fig 53 User Interface 圖 54 下載界面 Fig 54 Download Interface 27 添加 部分 代碼 定義主框架 public void setGUI() { //構(gòu)建 List列表布局 lst_downfiles=new JList(model)。 25 圖 52 系統(tǒng)調(diào)用流程 Fig 52 System Flow 用戶界面的實(shí)現(xiàn) 功能描述 用戶可以通過鼠標(biāo)點(diǎn)擊的方式 , 操作目標(biāo)功能 , 提供友好的用戶界面 。 包路徑下為用戶圖形化界面代碼 。 搜索功能 JavaDownloader 下載分類管理 任務(wù)管理 系統(tǒng)幫助 設(shè)置管理 選擇已有目錄 新建目錄 新建下載任務(wù) 暫停下載任務(wù) 開始下載任務(wù) 刪除下載任務(wù) 打開文件目錄 打開文件 常規(guī)設(shè)置 連接設(shè)置 智能關(guān)機(jī) 幫助文檔 待實(shí)現(xiàn) 24 第 五 章 系統(tǒng) 的詳細(xì)設(shè)計(jì)與 實(shí)現(xiàn) 系統(tǒng)的文件結(jié)構(gòu) 圖 51 系統(tǒng)的文件結(jié)構(gòu)圖 Fig 51 System file structure 代碼都在 Javadown 工 程下 , 包路徑下為實(shí)現(xiàn)功能代碼及事件監(jiān)聽 。 特別提供下載完成自動(dòng)關(guān)機(jī)功能 及搜索功能 。 在設(shè)置任務(wù)的管理模塊主要有兩個(gè)子模塊組成 : 常規(guī)主要設(shè)置下載聲音及啟動(dòng)程序自動(dòng)開始下 載文件 (準(zhǔn)備在 版本中實(shí)現(xiàn)) , 連接設(shè)置主要管理線程數(shù)及連接相關(guān)設(shè)置 。 本系統(tǒng)的功能結(jié)構(gòu)圖如圖示 : 23 圖 41 系統(tǒng)功能結(jié)構(gòu)圖 Fig 41 System functional structure 其中下載文件的分類模塊主要是通過在新建下載任務(wù)時(shí)候設(shè)置下載文件的存儲(chǔ)目錄甚至新建一個(gè)存儲(chǔ)目錄的方式來實(shí)現(xiàn) (準(zhǔn)備在 版本中實(shí)現(xiàn)) 。 本系統(tǒng)設(shè)計(jì)的基本目標(biāo)就是利用編寫一個(gè)時(shí)下流行的基于 HTTP協(xié)議的多線程斷點(diǎn)續(xù)傳的程序來研究 Java 多線程與線程安全的機(jī)制 。 HTTP協(xié)議是互聯(lián)網(wǎng)中一個(gè)非常重要而且應(yīng)用十分頻繁的協(xié)議 , 所以本系統(tǒng)的設(shè)計(jì)是基于 HTTP 協(xié)議的 。 多線程的優(yōu)點(diǎn)之一是所有線程都可以訪問相同的全局變量和共享資源 , 它提供了程序設(shè)計(jì)的簡捷性與便利性 , 提高了對信息處理的并發(fā)度 , 但也帶來了數(shù)據(jù)的訛誤或線程得不到某一資源而被餓死(即死鎖)的可能性 。 選擇 GeneralWorkspace,把 Text file encoding 設(shè)置為 GB2312。%SystemRoot%。 path=%JAVA_HOME%\bin。 21 配置 j2sdk 環(huán)境變量 : 我的電腦 屬性 高級 環(huán)境變量 系統(tǒng)變量中添加以下環(huán)境變量 : JAVA_HOME=C:\Program Files\Java\ CLASSPATH=%JAVA_HOME%\lib\。 圖 31下載工具的業(yè)務(wù)流分析圖 Fig 31 traffic flow analysis 系統(tǒng)環(huán)境 操作系統(tǒng) : Microsoft Windows XP 開發(fā)工具 : , NotePad2 開發(fā)平臺(tái) : 數(shù)據(jù) 環(huán)境 : TXT 文本 開發(fā)語言 : JAVA 開發(fā) 環(huán)境 配置過程 ( 1)安裝配置 jdk: 執(zhí)行 j2sdk 安裝程序 , 按默認(rèn)設(shè)置進(jìn)行安裝 , 也可自定義路徑 , 但需修改下面的配置 新建任務(wù) 填寫 下載地址 URL; 存儲(chǔ)路徑;(分類路徑和文件路徑); 文件名。將緩存中存儲(chǔ)的數(shù)據(jù)最終存儲(chǔ)到目的存儲(chǔ)路徑 。 由軟件發(fā)送 HTTP消息請求 , 然后服務(wù)器根據(jù)請求返回響應(yīng)消息 。 鑒于某些軟件使用初學(xué)者甚至某些電腦初學(xué)者的實(shí)際情況 , 他們往往需要系統(tǒng)有一個(gè)格外的幫助文檔 , 使他們能夠更快、更好地學(xué)會(huì)使用斷點(diǎn)續(xù)傳下載軟件 , 提高效率 。 還有些特殊情況下 , 用戶在下載任務(wù)開始后由于種種原因希望放棄資源的下載 , 這就要求下載工具具有刪除任務(wù)的功能了 。 隨著使用下載工具 的時(shí)間的增長 , 用戶下載的資源越來越多 , 因此在下載列表中的項(xiàng)目也越來越多 , 越來越混亂 , 因此為了便于管理和用戶使用方便 , 用戶迫切希望下載工具具有下載文件分類的功能 。 這些原因都會(huì)導(dǎo)致下載的中斷 , 但是當(dāng)用戶重新下載資源時(shí)發(fā)現(xiàn)原來下載的數(shù)據(jù)已經(jīng)消失你還是要回頭再來 。 由于下載資源是一個(gè)過程 , 當(dāng)中用到的時(shí)間可能會(huì)很長 。 多線程程序設(shè)計(jì)可以很好的解決程序并發(fā)的問題 。 同時(shí)人們也更希望使用更新更快的下載軟件 。 比如 , 針對一些專業(yè)的 論壇 提供了很多相關(guān)資料以方便人們閱讀或了解 ; 還 有更多的人希望能過下載到他們喜歡聽得 音樂 、好看的圖片、喜歡的電影等等 。 19 第 三 章 需求分析 用戶需求分析 隨著 Inter的 發(fā)展 , 進(jìn)入信息時(shí)代后快速獲得 網(wǎng)絡(luò) 共享資源成為很簡單的事情 ,人們對互聯(lián)網(wǎng)也有了很大的依賴性 。 Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái) 。 盡管 Eclipse 是使用 Java 語言開發(fā)的 , 但它的用途并不限于 Java 語言 ; 例如 , 支持諸如 C/C++、 COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用 , 或預(yù)計(jì)會(huì)推出 。 由于 Eclipse 中的每樣?xùn)|西都是插件 , 對于給 Eclipse 提供插件 , 以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言 , 所有工具開發(fā) 人員都具有同等的發(fā)揮場所 。 雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java IDE 來使用 , 但 Eclipse 的目標(biāo)不僅限于此 。 就其本身而言 ,它只是一個(gè)框架和一組服務(wù) , 用于通過插件組件構(gòu)建開發(fā)環(huán)境 。 但考慮到本程序的開源以及跨平臺(tái)特性 , 本文 選用 Sun 公司推出的適用于創(chuàng)建服務(wù)器 應(yīng)用程序和服務(wù)的 Java 2平臺(tái) 標(biāo)準(zhǔn) 版( Java 2 Platform Standard Edition, J2SE ,) 以及 IBM 公司 的開源 Eclipse( Version ) 作為本系統(tǒng)的開發(fā)工具 。 為了測試軟件的跨平臺(tái)特性 , 本文 選用 Red 作為該軟件的測試平臺(tái) 。 因?yàn)?Windows 操作系統(tǒng)是目前應(yīng)用最廣的操作系統(tǒng) 。 ? 包 : GUI 事件處理包 。 ? 包 : 實(shí)現(xiàn)網(wǎng)絡(luò)功能的類庫有 Socket 類、 ServerSocket 類 。 ? 包 : 提供用于反射對象的工具 。 例如 , Java 提供日期 (Data)類、日歷 (Calendar)類來產(chǎn)生和獲取日期及時(shí)間 , 提供隨機(jī)數(shù) (Random)類產(chǎn)生各種類型的隨機(jī)數(shù) , 還提供了堆棧(Stack)、向量 (Vector) 、位集合 (Bitset)以及哈希表 (Hashtable)等類來表示相應(yīng)的數(shù)據(jù)結(jié)構(gòu) 。 ? 包 : Java 的實(shí)用工具類庫 包 。 Java 的常用包介紹 ? 包 [2]: Java 的核心類庫 , 包含了運(yùn)行 Java 程序必不可少的系統(tǒng)類 , 如基本數(shù)據(jù)類型、基本數(shù)學(xué)函數(shù)、字符串處理、線程、異常處理類等 , 系統(tǒng)缺省加載這個(gè)包 。 17 5. 健壯性 Java 致力與檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤 , 并自動(dòng)回收內(nèi)存 , 減少了內(nèi)存出錯(cuò)的可能性 。 3. 面向?qū)ο? Java 吸收了 C++面向?qū)ο蟮母拍?, 將數(shù)據(jù)封裝于類中 , 實(shí)現(xiàn)了程序的簡潔性和便于維護(hù)性 , 使程序代碼可以只需一次編譯就可反復(fù)利用 。 2. 安全性 Java 的編程類似 C++,但 舍棄了 C++的指針對存儲(chǔ)器地址的直接操作 , 程序運(yùn)行時(shí) ,內(nèi)存由操作系統(tǒng)分配 , 這樣可以避免病毒通過指針入侵系統(tǒng) 。 Java 概述 Java 語言特點(diǎn) 1. 平臺(tái)無關(guān)性 [7] Java 引進(jìn)虛擬機(jī)原理 , 并運(yùn)行于虛擬機(jī) , 實(shí)現(xiàn)不同平臺(tái)之間的 Java 接口 。 怎樣實(shí)現(xiàn): 需要被序列化的對象必須實(shí)現(xiàn) Serializable 接口,該接口沒有需要實(shí)現(xiàn)的方法 , implements Serializable 只是為了標(biāo)注該對象是可被序列化的,然后使用一個(gè)輸出流 (如: FileOutputStream)來構(gòu)造一個(gè) ObjectOutputStream(對象流 )對象,接著,使用 ObjectOutputStream 對象的 writeObject(Object obj)方法就可以將參數(shù)為 obj的對象寫出 (即保存其狀態(tài) )。比如說:程序在執(zhí)行過程中突然遇到斷電或者其他故障導(dǎo)致程序終止,那么對象當(dāng)前的工作狀態(tài)也就會(huì)丟失,這對于有些應(yīng)用是可怕的。然后在 rea
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1