導航:首頁 > 源碼編譯 > java演算法論文

java演算法論文

發布時間:2024-01-30 23:35:05

A. 求一個關於java的論文

TAGS: 畢業論文 計算機 基於 遠程 對象 RMI 方法 實現 調用
哪位老兄有計算機畢業設計論文啊?是基於java的,小弟急用,謝謝!用RMI開發基於Java的企業分布式應用我站還提供更多的免費計算機論文,但免費論文僅供參考,建議廣大網友下載後不要輕易採用。摘要由於Java具有跨平台、代碼可移植性、安全高效等廣泛而強大的功能,因而在開發網路分布式應用的時候,可以用它自身的機制實現分布式計算,一種基於Java的遠程方法調用(RMI)為我們開發企業分布式應用提供了行之有效的解決方案。
關鍵詞 Java RMI 企業分布式應用
1 概述
隨著電力企業信息化建設的不斷深入和發展,企業內部和企業與企業之間對信息、對數據的交換量大大增加,這些信息與數據越來越需要在不同的計算機網路間傳送和交流。同時,由於各單位、各部門之間的現存的計算機網路硬體設備與操作系統千差萬別,應用水平也參差不齊,因此,開發出跨平台、可移植、高效安全的網路分布式應用來服務於電力企業,就顯得尤為重要。
在當今的編程術語里,分布式計算已經成為很常見的詞,它將企業的業務數據和程序分布在網路的不同物理位置上,通過調動網路上多台計算機的處理能力,發揮遠程調用數據的功能。
遠程方法調用(Remote Method Invocation ,RMI),可以在不同的Java虛擬機(JVM)之間實現對象與對象的通信。JVM可以位於相同或不同計算機上,在多個JVM中,一個JVM可以調用存儲在其它JVM的對象的方法。
本文主要介紹RMI的特點,分析應用RMI進行企業分布式計算的原理,以及利用RMI實現基於Java的企業分布式應用的具體步驟。2 遠程方法調用(RMI)的特點
2.1 TCP編程的缺點
由於Java編程語言設計之初就是面向對象和支持網路的,因此,基於對象的RMI機制已經內置在Java平台中。
我們經常會在網路開發中使用TCP/IP編程,這樣,自然而然地就會涉及到Socket(套接字)編程。但是,使用Socket編程需要大量重復編碼,在復雜分布式操作時顯得非常麻煩,而且易於出錯。因此,如何快速、高效、安全、可擴展地進行網路分布式計算,是開發者們一貫追求和倡導的主題。直到RMI的出現,這種繁雜、低效的開發情況才有很大改觀。2.2 RMI編程的特點
當我們利用對象序列化在網路上分配對象時,RMI提供了非Java平台無法匹敵的獨特而強電子商務資料庫)*!%267'$#7'455大的分布式計算模型,RMI主要有以下特點:
? 客戶機可以向本地方法一樣調用遠程伺服器上的方法;
? 可以根據介面指定客戶機/伺服器編程合約;
? 可以從伺服器對象預設二進制類文件,自動生成調動/反調動代碼;
? 將Java編程模型擴展到機器邊界(和Java虛擬機(JVM)邊界之外),不需要任何特殊語法;
? 還可以和一個遠程方法調用中的數據同時傳輸行為(代碼)。
盡管RMI不是唯一的企業級遠程對象訪問方案,但它卻是最容易實現的。2.3 RMI與CORBA
作為分布式應用程序框架的規范,COBRA首當其沖,它是由對象管理組織(OMG)開發的。與CORBA不同的是,CORBA能夠利用不同編程語言(例如C/C++、Basic等)開發實現分布式應用,而RMI是一種純Java解決方案。在RMI中,程序的所有部分都由Java語言編寫,這樣,開發出來的程序完全符合Java規范,便於實現跨平台訪問、擴展和移植。按照筆者所在西北電力建設集團公司的情況看,伺服器操作系統主要有Linux和Windows2000 Server,分別存在於公司和部門當中,它們是不同的系統平台;同時,公司下屬各個工程項目部又距離很遠,近的幾十公里,遠則達到上千公里甚至位於國外,因此跨平台和遠程訪問這兩大功能在開發企業應用系統時就必須考慮,而RMI恰恰能夠用它的自身特點來滿足編程需要。3 RMI基本體系結構簡介
RMI通過TCP/IP在內部使用Socket,象其名稱暗示的那樣,它能夠幫助我們查找並執行遠程對象的方法。RMI的目的是讓位於不同JVM中的對象,在外觀及行為上都像是本地的對象。
通常,我們把調用這種遠程對象的JVM,稱為客戶機;而把包括這種遠程對象的JVM,稱為伺服器。
盡管對一個遠程對象的引用和獲得對本地對象的引用有所不同,但我們可以把遠程對象像本地對象一樣使用。應用程序並不知道一個對象是遠程的還是本地的。實際上,遠程對象上被調用的方法與本地對象上調用的方法,具有相同的語法結構。
作為RMI的底層(會包含復雜的Socket操作),它會自動截獲方法調用,找到遠程對象,然後處理遠程請求。筆者認為,RMI設計的重要之處,就在於不但在設計上實現了遠程訪問功能,而且實現了設計的透明性。
RMI的基本體系結構,概括起來說,由三個抽象層組成:3.1 存根/框架層(Stubs/Skeletons Layer)

B. java十大演算法

演算法一:快速排序演算法
快速排序是由東尼·霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 演算法更快,因為它的內部循環(inner loop)可以在大部分的架構上很有效率地被實現出來。

快速排序使用分治法(Divide and conquer)策略來把一個串列(list)分為兩個子串列(sub-lists)。

演算法步驟:

1 從數列中挑出一個元素,稱為 "基準"(pivot),

2 重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分區退出之後,該基準就處於數列的中間位置。這個稱為分區(partition)操作。

3 遞歸地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序。

遞歸的最底部情形,是數列的大小是零或一,也就是永遠都已經被排序好了。雖然一直遞歸下去,但是這個演算法總會退出,因為在每次的迭代(iteration)中,它至少會把一個元素擺到它最後的位置去。

演算法二:堆排序演算法
堆排序(Heapsort)是指利用堆這種數據結構所設計的一種排序演算法。堆積是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。

堆排序的平均時間復雜度為Ο(nlogn) 。

演算法步驟:

創建一個堆H[0..n-1]

把堆首(最大值)和堆尾互換

3. 把堆的尺寸縮小1,並調用shift_down(0),目的是把新的數組頂端數據調整到相應位置

4. 重復步驟2,直到堆的尺寸為1

演算法三:歸並排序
歸並排序(Merge sort,台灣譯作:合並排序)是建立在歸並操作上的一種有效的排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。

演算法步驟:

1. 申請空間,使其大小為兩個已經排序序列之和,該空間用來存放合並後的序列

2. 設定兩個指針,最初位置分別為兩個已經排序序列的起始位置

3. 比較兩個指針所指向的元素,選擇相對小的元素放入到合並空間,並移動指針到下一位置

4. 重復步驟3直到某一指針達到序列尾

5. 將另一序列剩下的所有元素

閱讀全文

與java演算法論文相關的資料

熱點內容
解壓文件蘋果手機rar 瀏覽:145
centos開機命令行模式 瀏覽:695
遍歷所有listpython 瀏覽:660
力控加密文件夾 瀏覽:515
如何更改移動伺服器密碼 瀏覽:686
蘋果8p手機加密 瀏覽:749
ipad建文件夾怎麼弄 瀏覽:833
iphone13對wap3加密 瀏覽:555
pdf文件打開失敗 瀏覽:913
dubbo怎麼調用不同伺服器介面 瀏覽:40
全能解壓王app歷史版本 瀏覽:75
優先隊列與拓撲排序演算法 瀏覽:281
pdf轉換formacbook 瀏覽:871
pdf文件內容怎麼編輯 瀏覽:48
134壓縮機排氣溫度多少 瀏覽:256
unity等待編譯後 瀏覽:806
黑鯊手機鎖屏視頻在哪個文件夾 瀏覽:781
wow地圖解壓後怎麼壓縮 瀏覽:823
有pdf卻打不開 瀏覽:462
七星彩軟體app怎麼下載 瀏覽:219