www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

java學習-如何用Java進行高性能網站開發(fā)

2018-05-03 09:41:38 智能互動  點擊量: 評論 (0)
如何用Java進行高性能網站開發(fā),本文給大家梳理了一下

戶,主要用于低并發(fā)請求,大數(shù)據(jù)量傳輸?shù)膽谩?/span>

第二類:本機API,部分是Java的驅動程序。

第二類JDBC驅動程序是本機API的部分Java代碼的驅動程序,用于把JDBC調用轉換成主流數(shù)據(jù)庫API的本機調用。這類驅動程序也存在與第一類驅動程序一樣的性能問題,即客戶端載入二進制代碼的問題,而且它們被綁定了特定的平臺。

第二類驅動程序要求編寫面向特定平臺的代碼,主流的數(shù)據(jù)庫廠商,例如Oracle和IBM,都為它們的企業(yè)數(shù)據(jù)庫平臺提供了第二類驅動程序,使用這些驅動程序的開發(fā)者必須及時跟進不同數(shù)據(jù)庫廠商針對不同操作系統(tǒng)發(fā)行的各個驅動程序版本。

另外,由于第二類驅動程序沒有使用純Java的API,把Java應用連接到數(shù)據(jù)源時,往往必須執(zhí)行一些額外的配置工作。很多時候,第二類驅動程序不能在體系結構上與大型主機的數(shù)據(jù)源兼容;即使做到了兼容,效果也是比較差。

第一類和第二類驅動的比較

第一類和第二類驅動的比較

第三類:面向數(shù)據(jù)庫中間件的純Java驅動程序

第三類JDBC驅動程序是面向數(shù)據(jù)庫中間件的純Java驅動程序,JDBC調用被轉換成一種中間件廠商的協(xié)議,中間件再把這些調用轉換到數(shù)據(jù)庫API。第三類JDBC驅動程序的優(yōu)點是它以服務器為基礎,也就是不再需要客戶端的本機代碼,這使第三類驅動程序要比第一、二兩類快。另外,開發(fā)者還可以利用單一的驅動程序連接到多種數(shù)據(jù)庫。

第四類:直接面向數(shù)據(jù)庫的純Java驅動程序。

第四類JDBC驅動程序是直接面向數(shù)據(jù)庫的純Java驅動程序,即所謂的“瘦”(thin)驅動程序,它把JDBC調用轉換成某種直接可被DBMS使用的網絡協(xié)議,這樣,客戶機和應用服務器可以直接調用DBMS服務器。對于第四類驅動程序,不同DBMS的驅動程序不同。因此,在一個異構計算環(huán)境中,驅動程序的數(shù)量可能會比較多。但是,由于第四類驅動程序具有較高的性能,能夠直接訪問DBMS,所以這一問題就不那么突出了, 這種驅動方式,主要用于高并發(fā),低數(shù)據(jù)量請求的應用中。

第三類和第四類驅動的比較

第三類和第四類驅動的比較

為了提高訪問數(shù)據(jù)庫的性能,我們還可以使用JDBC 2.0的一些規(guī)范和特性,JDBC是占用資源的,在使用數(shù)據(jù)庫連接時可以使用連接池Connection Pooling,避免頻繁打開、關閉Connection。而我們知道,獲取Connection是比較消耗系統(tǒng)資源的。

Connection緩沖池:當一個應用程序關閉一個數(shù)據(jù)庫連接時,這個連接并不真正釋放而是被循環(huán)利用,建立連接是消耗較大的操作,循環(huán)利用連接可以顯著的提高性能,因為可以減少新連接的建立。

一個通過DataSource獲取緩沖池獲得連接,并連接到一個CustomerDB數(shù)據(jù)源的代碼演示如下:

Context ctx = new InitialContext();

DataSource dataSource = (DataSource) ctx.lookup("jdbc/CustomerDB");

Connection conn = dataSource.getConnection("password","username");

16、緩存DataSorce

一個DataSource對象代表一個實際的數(shù)據(jù)源。這個數(shù)據(jù)源可以是從關系數(shù)據(jù)庫到表格形式的文件,完全依賴于它是怎樣實現(xiàn)的,一個數(shù)據(jù)源對象注冊到JNDI名字服務后,應用程序就可以從JNDI服務器上取得該對象,并使用之和數(shù)據(jù)源建立連接。

通過上面的例子,我們知道DataSource是從連接池獲得連接的一種方式,通過JNDI方式獲得,是占用資源的。

為了避免再次的JNDI調用,可以系統(tǒng)中緩存要使用的DataSource。

及時關閉使用過的資源

互聯(lián)網應用系統(tǒng)一般是并發(fā)的系統(tǒng),在每次申請和使用完資源后,應該釋放供別人使用,使用完成后應該保證徹底的釋放。

17、架構選型

在網站Web應用開發(fā)中,系統(tǒng)的整體架構是決定網站性能、穩(wěn)定性、并發(fā)、可擴展性的關鍵因素。下面以世界著名網站應用軟件提供商CoreMediaCMS系統(tǒng)為例,進行架構分析

CoreMediaCMS將整個應用分成四成架構,每一層都可以獨立于其他層而正常運行,每一層都可以分布式布署,極大的提高了應用系統(tǒng)的穩(wěn)定性、可擴展性、支持高并發(fā)的要求,每一次之前通過中間件Corba進行穩(wěn)定的傳輸數(shù)據(jù)。

18、開發(fā)框架的選型

充分利用開源框架,可以大大提高開發(fā)效率。很多初級開發(fā)者,都采用DB+JavaBean+JSP這種初級的開發(fā)模式,而現(xiàn)在主要使用Struts、Spring等MVC開發(fā)框架。

常用開發(fā)框架構選型有:

Struts、Spring、Webwork等。

我們選擇的開發(fā)框架是:Spring+Hibernate+Spring MVC,在這個開發(fā)框架里,充分利用了Hibernate、Spring各自己的優(yōu)點,可以選擇Struts,也可以選擇Spring MVC。

如果想學習Java可以來這個群,首先是一二六,中間是五三四,最后是五一九,里面有大量的學習資料可以下載。

19、分級存儲

1)數(shù)據(jù)庫數(shù)據(jù)分級存儲:

將經常訪問的數(shù)據(jù)和訪問頻度低的數(shù)據(jù),分別存放到不同的分區(qū),甚至存放到不同的數(shù)據(jù)庫服務器,以便合進分配硬盤I/O及系統(tǒng)I/O。

2)網站內容發(fā)布之后,分級存儲:

任何一個大型的網站,一般都有海量的內容,為了提高訪問效率,應搭建分級存儲體系,根據(jù)應用的重要性和訪問并發(fā)要求,將這些內容分級存儲,同時將靜態(tài)內容中的靜態(tài)頁面文件、圖片文件、下載文件分不同的Web服務器訪問,降低I/O爭用,提高訪問效率,同時讓數(shù)據(jù)存儲、管理、備份更加清晰。

20、頁面靜態(tài)化

一個大型網站,既有靜態(tài)內容,也有動態(tài)內容。靜態(tài)內容,直接通過Apache或者Squid訪問,效率高,穩(wěn)定可靠,更多的是受服務器等硬件設備的I/O吞吐量、網絡環(huán)境及頁面代碼本身質量限制,不受應用系統(tǒng)及數(shù)據(jù)庫性能限制,這些內容往往訪問速度和效率不會有較大的問題。

而動態(tài)內容,除了受硬件設備I/O、操作系統(tǒng)I/O及內容、網絡環(huán)境及頁面代碼的影響,還要受應用服務器和數(shù)據(jù)庫性能影響,因此,這部份內容,要盡可能作靜態(tài)化或者偽靜態(tài),并采用緩存技術,將其緩存,以減少對應用服務器和數(shù)據(jù)庫服務器的操作次數(shù),提高用戶訪問效率和穩(wěn)定性。

21、緩存策略

對于構建的業(yè)務系統(tǒng),如果有些數(shù)據(jù)要經常要從數(shù)據(jù)庫中讀取,同時,這些數(shù)據(jù)又不經常變化,這些數(shù)據(jù)就可以在系統(tǒng)中緩存起來,使用時直接讀取緩存,而不用頻繁的訪問數(shù)據(jù)庫讀取數(shù)據(jù)。

緩存工作可以在系統(tǒng)初始化時一次性讀取數(shù)據(jù),特別是一些只讀的數(shù)據(jù),當數(shù)據(jù)更新時更新數(shù)據(jù)庫內容,同時更新緩存的數(shù)據(jù)值。

例如:在天極CMS2005系統(tǒng)中,我們將很少發(fā)生變化的網站節(jié)點樹數(shù)據(jù),緩存在客戶端,當用戶登錄時,一次性讀入到客戶端緩存起來,以后編輯在使用時,不用再從數(shù)據(jù)庫中讀取,大大提高了應用系統(tǒng)的訪問速度。

當然,也可以將數(shù)據(jù)庫中重復訪問的數(shù)據(jù)緩存在應用服務器內存中,減少對數(shù)據(jù)庫的訪問次數(shù),Java常用的緩存技術產品有:MemoryCache、OSCache等。

大云網官方微信售電那點事兒

責任編輯:售電衡衡

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?
主站蜘蛛池模板: 欧美一级毛片特黄大 | 日日摸夜夜搂人人要 | 亚洲免费色视频 | 99aiav国产精品视频 | 99精品视频在线在线视频观看 | 一级aaa毛片 | chinese宾馆自拍hd| 97在线观看成人免费视频 | 久久国产国内精品对话对白 | 国产精选一区 | 国产精品青草久久久久福利99 | 久久精品国产只有精品2020 | 手机在线播放av | 久久夜色精品国产噜噜亚洲a | 亚洲香蕉一区二区三区在线观看 | 久久国产美女免费观看精品 | 日韩欧美亚洲综合久久99e | 久久91在线 | 亚洲天堂男人网 | 成人性色生活影片 | 国产欧美日本 | 亚洲精品一区二区三区第四页 | 在线播放高清国语自产拍免费 | 91久久免费视频 | 亚洲国产欧美在线不卡中文 | 欧美成人亚洲综合精品欧美激情 | 女人张开腿给人桶免费视频 | 97视频免费播放观看在线视频 | 国产精品国产三级国产专区5o | 免费一级夫妻a | 久久精品一区二区三区不卡牛牛 | 一本色道久久99一综合 | 国产精品黄网站免费观看 | 亚洲国内精品自在线影视 | 一级a爰片久久毛片 | 国产精品国产亚洲精品不卡 | 99久久国产综合精品成人影院 | 国产欧美日韩精品一区二 | 美女黄网站人色视频免费国产 | 成年日韩片av在线网站 | 久久精品国产99久久久 |