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

正文內(nèi)容

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

2024-11-03 22:00 本頁面
   

【正文】 (0)。 // 創(chuàng)建下載任務(wù) if (()) { addTask(taskInfo)。 (400,350)。 (new BorderLayout())。 lab_filename=new JLabel(未知文件 )。 JLabel lab_Lthreadnum=new JLabel(線程數(shù)目 : )。 } 初始化面板布局 private void ini(){ JLabel lab_Lfilename=new JLabel(文件名稱 : )。 //設(shè)置 Frame顯示屬性 (600,400)。 //創(chuàng)建 toolbar面板 toolpane=new ToolPane()。 (new BorderLayout())。 (new Dimension(200,360) ) 。 界面實現(xiàn) 主要通過調(diào)用 .*及 .*中的提供的標(biāo)準(zhǔn)件元素及事件監(jiān)聽機制來完成 。 為 的工具類 , 獲取 獲取 有效 URL 資源信息 及建立 Http 連接 ; 下載文件信息的實體類 ; 單線程下載 ; 調(diào)度線程 , 實現(xiàn)多線程下載 ; 實現(xiàn)事件監(jiān)聽 。 在系統(tǒng)幫助模塊里主要是包含一些對整個系統(tǒng)的說明 , 便于用戶理解 。 系統(tǒng)總體功能結(jié)構(gòu) 通過對多線程斷點續(xù)傳下載軟件的需求分析并結(jié)合實際情況的分析 , 本系統(tǒng)由下載分類管理、任務(wù)管理、設(shè)置管理、系統(tǒng)幫助四個主模塊構(gòu)成 。為了避免這些現(xiàn)象的產(chǎn)生 , 線程在使用共享資源或?qū)ο笄氨仨毇@得一個約束訪問同步對象的權(quán)力 , 也就是通過同步的機制來控制這種權(quán)力的使用 , 這就是線程的安全問題 。%SystemRoot%\System32\Wbem ( 2)安裝 ,配置 Eclipse 執(zhí)行 Eclipse 安裝程序 , 按默認(rèn)設(shè)置進(jìn)行安裝 , 也可自定義路徑 , 但需修改下面的配置 選擇 WindowPreferencesJavaCompiler 把 Compiler pliance level 項選擇為 在 Java 選項中選擇 Installed JREs,將 勾上 。%JAVA_HOME%\lib\。 此外 , 系統(tǒng)為用戶提供了一些對任務(wù)的基本操作 , 比如 , 停止 、繼續(xù)、刪除等 。 20 業(yè)務(wù)流分析 多線程斷點續(xù)傳的業(yè)務(wù)流程 : 首先由用戶進(jìn)入軟件系統(tǒng) , 在新建任務(wù)中填寫必要的下載資源的相關(guān)屬性 , 比如相關(guān)資源下載地址 URL、存儲路徑等 。 在下載任務(wù)的管理這一塊 , 用戶不僅希望下載工具具有下載一個一個資源的功能 ,而且具有批量下載有些相似的或有關(guān)聯(lián)的資源的功能 。 那么在很長的這段時間中很有可能會出現(xiàn)很多的意外情況使下載中斷或是停止 , 比如電源意外被切斷、網(wǎng)絡(luò)中斷、或是操作系統(tǒng)故障導(dǎo)致系統(tǒng)重新啟動 。 由于用戶下載需求的增大 , 也要求下載軟件能夠迅速完成對資源的下載 。 人們甚至希望只輕松點擊鼠標(biāo)就可以得到自己想要的東西 。 Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ) , 比如內(nèi)容管理系統(tǒng) 。 Eclipse 還包括插件開發(fā)環(huán)境( Plugin Development Environment, PDE) ,這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員 , 因為它允許他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具 。 關(guān)于 Eclipse Eclipse[1] 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺 。 它以全新的圖形界面 , 簡單快捷的操作方式 , 支持多媒體功能等特點而成為軟件發(fā)展的流行趨勢 。 ? 包 : 構(gòu)建圖形用戶界面 (GUI)的類庫 , 低級繪圖操作 Graphics 類 , 圖形界面組件和布局管理如 Checkbox 類、 Container 類、 LayoutManger 接口等 ,以及界面用戶交互控制和事件響應(yīng) , 如 Event 類 。 包含如處理時間的 date 類 , 處理變成數(shù)組的 Vector 類 , 以及 stack和 HashTable 類 。 ? 包 : Java 語言的標(biāo)準(zhǔn)輸入 /輸出類庫 , 如基本輸入 /輸出流、文件輸入 /輸出、過濾輸入 /輸出流等等 。 4. 分布式 Java 建立在 TCP/IP 網(wǎng)絡(luò)平臺上 , 提供了用 HTTP 和 FTP 協(xié)議傳送和接收信息的庫函數(shù) , 使用其相關(guān)技術(shù)可以十分方便的構(gòu)建分布式應(yīng)用系統(tǒng) 。 Java 的數(shù)據(jù)類型與機器無關(guān) 。用對象序列化就可以解決這個問題,因為它可以將對象的全部內(nèi)容保存于磁盤文件,這樣對象的執(zhí)行狀態(tài)也就被存儲了,到需要時還可以將其從文件中按原樣再讀取出來,這樣就解決了數(shù)據(jù)的丟失的問題。當(dāng)反序列化的時候, JVM 首先會調(diào)用readObject 方法,將我們剛剛在 writeObject 方法中序列化好的屬性,解析回來。 序列化 : 就是把類的對象當(dāng)時的狀態(tài)持久化到在文件上。 q=.2, */*。 Windows NT ) Connection: KeepAlive 服務(wù)器收到請求后 , 按要求尋找請求的文 件 , 提取文件的信息 , 然后返回給瀏覽器 , 返回信息如下 : 200 ContentLength=106786028 AcceptRanges=bytes Date=Mon, 30 Apr 2020 12:56:11 GMT 15 ETag=W/02ca57e173c11:95b ContentType=application/octetstream Server=MicrosoftIIS/ LastModified=Mon, 30 Apr 2020 12:56:11 GMT 所謂 斷點續(xù)傳 , 也就是要從文件已經(jīng)下載的地方開始繼續(xù)下載 。 斷點續(xù)傳原理 其實斷點續(xù)傳的原理很簡單 , 就是在 HTTP 的請求上和一般的下載有所不同而已 。 這里不需要對文件加鎖 , 因為操作系統(tǒng)一級本身對文件的 I/O 有鎖的 , 我們的應(yīng)用不用管 , 而且各個線程所寫的文件位置是不一樣的 , 每一線程負(fù)責(zé)下載和寫一段數(shù)據(jù) 。 根據(jù)長度和線程數(shù) , 確定各線程所下載 的數(shù)據(jù)范圍 。瀏覽器將把這些數(shù)據(jù)顯示給用戶 。 通常 , 服務(wù)器會返回一個名為 Date 的首部 , 用來說明響應(yīng)生成的日期和時間(服務(wù)器通常還會返回一些關(guān)于其自身的信息 , 盡管并非是必需的) 。 ? 403 (FORBIDDEN):客戶端未 能獲得授權(quán) 。 ? 304 (NOT MODIFIED): 該資源在上次請求之后沒有任何修改 。 狀態(tài)行( status line)通過提供一個狀態(tài)碼來說明所請求的資源情況 。 你可以以同樣的格式來組織 URL 的查詢字符串參數(shù) 。 瀏覽器始終以 application/ xform urlencoded 的格式編碼來傳送數(shù)據(jù) , 這是針對簡單 URL 編碼的 MIME 類型 。publisher=Wiley 從上面可以發(fā)現(xiàn) , POST 請求和 GET 請求之間有一些區(qū)別 。 U。 enUS。...amp。name2=value2amp。 enUS。 即使不存在請求主體 , 這個空行也是必需的 。 第三行中包含的是首部 UserAgent, 服務(wù)器端和客戶 端腳本都能夠訪問它 , 它是瀏覽器類型檢測邏輯的重要基礎(chǔ) 。 那么請求發(fā)到哪里去呢?這就是第二行的內(nèi)容 。 enUS。只要在 Web瀏覽器上輸入一個 URL, 瀏覽器就將基于該 URL向服務(wù)器發(fā)送一個 GET請求 ,以告訴服務(wù)器獲取并返回什么資源 。 HTTP的請求 [13] HTTP 的常用請求方法 : 表 21 HTTP的常用請求方法 Table 21 HTTP request method 方 法 說 明 GET 請求讀取一個 Web頁面 HEAD 請求讀取一個 Web頁面的頭標(biāo) PUT 請求存儲一個 Web頁面 POST 附加到命名資源中 DELETE 刪除 Web頁面 10 LINK 連接兩個已有資源 UNLINK 取消兩個資源之間的已有連接 HTTP 請求的格式如下所示 : < requestline> < headers> < blank line> [< requestbody> ] 在 HTTP 請求中 , 第一行必須是一個請求行( request line) , 用來說明請求類型、要訪問的資源以及使用的 HTTP 版本 。 從功能上講 , HTTP 支持四類元信息 : 一般信息頭標(biāo)、請求頭標(biāo)、響應(yīng)頭標(biāo)和實體頭標(biāo) 。 3. HTTP 使用元信息作為頭標(biāo) HTTP 對所有事務(wù)都加了 頭標(biāo)( header) 。 這些信息(文檔)類型的格式由 MIME定義 。 此類軟件就是在浩瀚的互聯(lián)網(wǎng)中尋找已經(jīng)下載或者正在下載的那些文件 , 所有的下載用戶形成一個連鎖網(wǎng)絡(luò) , 每個人都從其他人那里獲得 ,同時也給別人上傳 , 體現(xiàn)了人人平等的關(guān)系 。 7 第二章 相關(guān)基礎(chǔ)知識 以及 開發(fā)平臺 相關(guān)基礎(chǔ)知識 下載協(xié)議概述 按照下載方式 , 總的來說這些協(xié)議分為兩 大類 : 第一類 : 服務(wù)器下載 ; 如 HTTP 和 FTP, 他們都是將服務(wù)器上已存在的文件復(fù)制到你的電腦上 , 這些文件保存在服務(wù)器上 , 但是你只能通過地址來下載 , 下載工具就是復(fù)制這個文件到你的電腦 , 而迅雷這類軟件還會去其他服務(wù)器上搜索相同的文件 , 并從多個不同的服務(wù)器同時下載 , 即鏡像下載 , 這樣也能加快速度 。 市場前景 : 本軟件為開源軟件 , 完全公益性 。 第三是對協(xié)議的支持 , API 中的 .*中提供了對 HTTP 支持的方法 。 由于網(wǎng)絡(luò)的不穩(wěn)定性 , 一旦連接斷開使得下載過程中斷 , 就不得不全部從頭再來一 6 次 。 所有這些都使得這一步比較復(fù)雜 。 “ 多線程下載 ” 的基礎(chǔ)是 WEB 服務(wù)器支持遠(yuǎn)程的隨機讀取 , 即支持 “ 斷點續(xù)傳 ” 。 多個線程的執(zhí)行是并發(fā)的 , 也就是在邏輯上 的 “ 同時 ” , 而不管是否是物 理上的“ 同時 ” 。 多線程是指同時存在幾個執(zhí)行體 ,按幾條不同的執(zhí)行線索共同工作的情況 , 它使得編程人員可以很方便地開發(fā)出具有多線程功能、能同時處理多個任務(wù)的功能強大的應(yīng)用程序 。 5 第 一 章 緒論 問題的研究 背景與研究價值 問題的研究背景 以往我們開發(fā)的程序大多是單線程的 , 即一個程序只有一條從頭至尾的執(zhí)行線索 。 現(xiàn)在 , 不要說編寫專門的下載軟件 , 在自己編寫的軟件中 , 加入下載功能有時也非常必要 。 隨著多線程技術(shù)的發(fā)明 , 越來越多的語言能很完善的支持此技術(shù) 。 幾年來 , 下載技術(shù)也在不停地發(fā)展 。 Broken/Resume Function。 而目前 的網(wǎng)絡(luò)下載工具雖然種類繁多 , 但是并沒有多少開源的軟件可供網(wǎng)絡(luò)編程人員共同 學(xué)習(xí)和 研究 , 這是一個非常不利于 軟件 發(fā)展的現(xiàn)象 。 因此本論文研究了基于 HTTP協(xié)議的多線程斷點續(xù)傳的原理 , 并設(shè)計開發(fā)了一個跨平臺的開源斷點續(xù)傳下載軟件 , 它使 用 J2SE作為開發(fā)環(huán)境 , 以 文件作為數(shù)據(jù)的存儲工具 , 以期 望其 在下載速度與資源共享上 與現(xiàn)有開源下載工具相比 , 能有更進(jìn)一步的發(fā)展 。 Crossplatform。 最原始的下載功能僅僅是個“下載”過程 , 即從 WEB 服務(wù)器上連續(xù)地讀取文件 。 在“網(wǎng)絡(luò)螞蟻”軟 件流行開后 , 許多下載軟件也都紛紛效仿 , 是否具有多線程下載技術(shù)、甚至能支持多少個下載線程都成了人們評測下載軟件的要素 。 而現(xiàn)在網(wǎng)絡(luò)上的下載軟件往往都是支持單一系統(tǒng)平臺的 , 為了支持開源軟件及多平臺可移植 , 本文 選用了 Java 語言進(jìn)行系統(tǒng)的開發(fā) , 數(shù)據(jù)采用文件存儲 , 這樣能更好的支持跨平臺的特性 。然而現(xiàn)實世界中的很多過程都具有多條線索 共同執(zhí)行 同 一 動作的特性 。 雖然執(zhí)行線程給人一種幾個事件同時發(fā)生的感覺 , 但這只是一種錯覺 , 因為我們的計算機在任何給定的時刻只能執(zhí)行那些線程中的一個 。 如果系統(tǒng)只有一個 CPU, 那么真正的 “ 同時 ” 是不可能的 , 但是由于 CPU 的速度非???, 用戶感覺不到其中的區(qū)別 , 因此我們也不用關(guān)心它 , 只需要設(shè)想各個線程是同時執(zhí)行即可 。 這樣 , 在下載時可以把文件分成若干部分 , 每一部分創(chuàng) 建一個下載線程進(jìn)行下載 。 但是可以明顯提高網(wǎng)絡(luò)文件的下載速度 。 “斷點續(xù)傳”概念 的推出,使得 下載中斷 的資源 , 在重新建立連接后 , 跳過已經(jīng)下載的部分 , 而只下載還沒有下載的部分 ,極大的滿足了用戶的需要。 最后也是最復(fù)雜的就是 Java 的圖形化界面 , JAVA 本身不擅長圖形化界面 , 但 AWT及
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1