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

正文內(nèi)容

基于java的多線程跨平臺下載軟件的實踐畢業(yè)論文-資料下載頁

2024-11-07 22:00本頁面

【導(dǎo)讀】題目基于HTTP的多線程斷點續(xù)傳。下載工具應(yīng)用開發(fā)。學(xué)院計算機(jī)與信息科學(xué)學(xué)院

  

【正文】 圖 31下載工具的業(yè)務(wù)流分析圖 Fig 31 traffic flow analysis 系統(tǒng)環(huán)境 操作系統(tǒng) : Microsoft Windows XP 開發(fā)工具 : , NotePad2 開發(fā)平臺 : 數(shù)據(jù) 環(huán)境 : TXT 文本 開發(fā)語言 : JAVA 開發(fā) 環(huán)境 配置過程 ( 1)安裝配置 jdk: 執(zhí)行 j2sdk 安裝程序 , 按默認(rèn)設(shè)置進(jìn)行安裝 , 也可自定義路徑 , 但需修改下面的配置 新建任務(wù) 填寫 下載地址 URL; 存儲路徑;(分類路徑和文件路徑); 文件名。 Server 發(fā)送HTTP 或FTP 請求 響應(yīng)請求返回文件地址 建立連接開始下載任務(wù) 下載結(jié)束 停止; 繼續(xù); 刪除。 21 配置 j2sdk 環(huán)境變量 : 我的電腦 屬性 高級 環(huán)境變量 系統(tǒng)變量中添加以下環(huán)境變量 : JAVA_HOME=C:\Program Files\Java\ CLASSPATH=%JAVA_HOME%\lib\。%JAVA_HOME%\lib\。 path=%JAVA_HOME%\bin。%SystemRoot%\system32。%SystemRoot%。%SystemRoot%\System32\Wbem ( 2)安裝 ,配置 Eclipse 執(zhí)行 Eclipse 安裝程序 , 按默認(rèn)設(shè)置進(jìn)行安裝 , 也可自定義路徑 , 但需修改下面的配置 選擇 WindowPreferencesJavaCompiler 把 Compiler pliance level 項選擇為 在 Java 選項中選擇 Installed JREs,將 勾上 。 選擇 GeneralWorkspace,把 Text file encoding 設(shè)置為 GB2312。 22 第 四 章 系統(tǒng) 設(shè)計 系統(tǒng) 的 設(shè)計 要點 隨著用戶下載需求的增大 , 用戶下載的資源越來越大 , 下載的過程也就越來越久 ,這就要求下載軟件能夠迅速完成對資源的下載 , 為了提高下載效率的問題 , 所以本系統(tǒng)采用多線程的方式來實現(xiàn)下載速率的提高 。 多線程的優(yōu)點之一是所有線程都可以訪問相同的全局變量和共享資源 , 它提供了程序設(shè)計的簡捷性與便利性 , 提高了對信息處理的并發(fā)度 , 但也帶來了數(shù)據(jù)的訛誤或線程得不到某一資源而被餓死(即死鎖)的可能性 。為了避免這些現(xiàn)象的產(chǎn)生 , 線程在使用共享資源或?qū)ο笄氨仨毇@得一個約束訪問同步對象的權(quán)力 , 也就是通過同步的機(jī)制來控制這種權(quán)力的使用 , 這就是線程的安全問題 。 HTTP協(xié)議是互聯(lián)網(wǎng)中一個非常重要而且應(yīng)用十分頻繁的協(xié)議 , 所以本系統(tǒng)的設(shè)計是基于 HTTP 協(xié)議的 。 長期以來 , “ 斷點續(xù)傳 ” 始終是困擾 使用者們 的一大難題 , 眼看著已經(jīng)下載到 99%的軟件 , 卻由于突然掉線而前功盡棄的那種沮喪恐怕人人都經(jīng)歷過 , 于是本系統(tǒng)采用斷點續(xù)傳的方式來設(shè)計 。 本系統(tǒng)設(shè)計的基本目標(biāo)就是利用編寫一個時下流行的基于 HTTP協(xié)議的多線程斷點續(xù)傳的程序來研究 Java 多線程與線程安全的機(jī)制 。 系統(tǒng)總體功能結(jié)構(gòu) 通過對多線程斷點續(xù)傳下載軟件的需求分析并結(jié)合實際情況的分析 , 本系統(tǒng)由下載分類管理、任務(wù)管理、設(shè)置管理、系統(tǒng)幫助四個主模塊構(gòu)成 。 本系統(tǒng)的功能結(jié)構(gòu)圖如圖示 : 23 圖 41 系統(tǒng)功能結(jié)構(gòu)圖 Fig 41 System functional structure 其中下載文件的分類模塊主要是通過在新建下載任務(wù)時候設(shè)置下載文件的存儲目錄甚至新建一個存儲目錄的方式來實現(xiàn) (準(zhǔn)備在 版本中實現(xiàn)) 。 下載任務(wù)的管理模塊主要有 六 個子模塊組成 : 新建下載任務(wù)模塊、 暫停 下載任務(wù)模塊、 開始 下載任務(wù)模塊、 刪除任務(wù)模塊 、打開文件目錄、打開文件 。 在設(shè)置任務(wù)的管理模塊主要有兩個子模塊組成 : 常規(guī)主要設(shè)置下載聲音及啟動程序自動開始下 載文件 (準(zhǔn)備在 版本中實現(xiàn)) , 連接設(shè)置主要管理線程數(shù)及連接相關(guān)設(shè)置 。 在系統(tǒng)幫助模塊里主要是包含一些對整個系統(tǒng)的說明 , 便于用戶理解 。 特別提供下載完成自動關(guān)機(jī)功能 及搜索功能 。 另外系統(tǒng)還支持 同步顯示文件下載進(jìn)度及下載信息提示 。 搜索功能 JavaDownloader 下載分類管理 任務(wù)管理 系統(tǒng)幫助 設(shè)置管理 選擇已有目錄 新建目錄 新建下載任務(wù) 暫停下載任務(wù) 開始下載任務(wù) 刪除下載任務(wù) 打開文件目錄 打開文件 常規(guī)設(shè)置 連接設(shè)置 智能關(guān)機(jī) 幫助文檔 待實現(xiàn) 24 第 五 章 系統(tǒng) 的詳細(xì)設(shè)計與 實現(xiàn) 系統(tǒng)的文件結(jié)構(gòu) 圖 51 系統(tǒng)的文件結(jié)構(gòu)圖 Fig 51 System file structure 代碼都在 Javadown 工 程下 , 包路徑下為實現(xiàn)功能代碼及事件監(jiān)聽 。 為 的工具類 , 獲取 獲取 有效 URL 資源信息 及建立 Http 連接 ; 下載文件信息的實體類 ; 單線程下載 ; 調(diào)度線程 , 實現(xiàn)多線程下載 ; 實現(xiàn)事件監(jiān)聽 。 包路徑下為用戶圖形化界面代碼 。 下載文件屬性面板 ; 添加下載任務(wù)對話框 ; 按鈕工具條 ; 文件主窗口 。 25 圖 52 系統(tǒng)調(diào)用流程 Fig 52 System Flow 用戶界面的實現(xiàn) 功能描述 用戶可以通過鼠標(biāo)點擊的方式 , 操作目標(biāo)功能 , 提供友好的用戶界面 。 界面實現(xiàn) 主要通過調(diào)用 .*及 .*中的提供的標(biāo)準(zhǔn)件元素及事件監(jiān)聽機(jī)制來完成 。 DownLoadUtil 通過URL 建立與服務(wù)器的連接 DownLoadInfo 獲得文件的相關(guān)信息,并存儲到該類中 DownLoadThread實現(xiàn)單線程下載,相關(guān)下載位置 由前面提供 MultiDownload 通過循環(huán)調(diào)用DownLoadThread實現(xiàn)同時多線程 ListenThread 對每個線程進(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)。 (())。 JScrollPane sp_lst=new JScrollPane(lst_downfiles)。 (new Dimension(200,360) ) 。 //創(chuàng)建文件下載屬性面板 itp_fileProperity=new ItemPane()。 (new Dimension(400,360) ) 。 //構(gòu)建窗口上方布局 JPanel top_pane=new JPanel()。 (new BorderLayout())。 (sp_lst,)。 (itp_fileProperity,)。 (())。 //創(chuàng)建 toolbar面板 toolpane=new ToolPane()。 //構(gòu)建 Frame布局 (new BorderLayout())。 ().add(top_pane,)。 ().add(toolpane,)。 //設(shè)置 Frame顯示屬性 (600,400)。 28 (200,200)。 (true)。 (false)。 } 初始化面板布局 private void ini(){ JLabel lab_Lfilename=new JLabel(文件名稱 : )。 JLabel lab_Lfilesize=new JLabel(文件大小 : )。 JLabel lab_Lfileprogress=new JLabel(下載進(jìn)度 : )。 JLabel lab_Ldownspeed=new JLabel(下載速度 : )。 JLabel lab_Lthreadnum=new JLabel(線程數(shù)目 : )。 JLabel lab_Lfilepath=new JLabel(存放位置 : )。 JLabel lab_Lurl=new JLabel(數(shù)據(jù)來源 : )。 JLabel lab_Lfilestate=new JLabel(下載狀態(tài) : )。 lab_filename=new JLabel(未知文件 )。 lab_filesize=new JLabel(0k)。 } 設(shè)置新建對話框界面 private void setGUI() { topPan=new Top_pane()。 botPan=new Tool_pane()。 (new BorderLayout())。 ().add(topPan,)。 ().add(botPan,)。 (350,200)。 (400,350)。 } 29 對事件的監(jiān)聽 // 添加下載任務(wù)監(jiān)聽器類 class AddTaskListener implements ActionListener { MainFrame f。 public AddTaskListener(MainFrame f) { = f。 } public void actionPerformed(ActionEvent e) { // 調(diào)用添加任務(wù)對話框 TaskDialog taskInfo = new TaskDialog(f)。 // 創(chuàng)建下載任務(wù) if (()) { addTask(taskInfo)。 } } } // 點擊關(guān)閉按鈕監(jiān)聽器類 class CloseListener implements ActionListener { public void actionPerformed(ActionEvent e) { saveModel()。 (0)。 } } // 點擊 JFrame關(guān)閉窗口監(jiān)聽器類 class JFrameCloseListener extends WindowAdapter { 30 public void windowClosing(WindowEvent e) { saveModel()。 (0)。 } } 單線程直接獲取網(wǎng)絡(luò)文件 功能描述 單線程直接獲取網(wǎng)絡(luò)文件的關(guān)鍵點
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1