【正文】
輸入提示警告二、查看微博的效果展示用戶輸入一個微博昵稱,然后點擊查看微博,系統(tǒng)就會把該用戶的所有微博以列表形式分頁展示出來,: 查看微博界面在獲取微博的這段時間里,系統(tǒng)會彈出進(jìn)度條框,讓用戶知道正在進(jìn)行后臺數(shù)據(jù)的處理。 進(jìn)度條提示框三、查看粉絲的效果展示用戶輸入一個微博昵稱,然后點擊查看粉絲,系統(tǒng)就會把該用戶的所有粉絲以列表形式分頁展示出來,: 查看粉絲界面該模塊還有一個粉絲搜索功能,用戶輸入一個微博昵稱,然后點擊搜索粉絲,系統(tǒng)就會根據(jù)用戶輸入的昵稱去訪問本地數(shù)據(jù)庫,如果查詢到有與關(guān)鍵字相似的用戶,則提取出來并展示出來,如果沒有就展示為空。: 搜索粉絲效果圖四、查看關(guān)注的效果展示用戶輸入一個微博昵稱,然后點擊查看關(guān)注,系統(tǒng)就會把該用戶的所有關(guān)注以列表形式分頁展示出來,:該模塊還有一個關(guān)注搜索功能,其實現(xiàn)過程是:用戶輸入一個微博昵稱,然后點擊搜索關(guān)注,系統(tǒng)就會根據(jù)用戶輸入的昵稱去訪問本地數(shù)據(jù)庫,如果查詢到有與關(guān)鍵字相似的用戶,則提取出來并展示出來,如果沒有就展示為空。: 搜索關(guān)注效果圖五、查看評論的效果展示當(dāng)用戶查看微博界面點擊某條微博后面對應(yīng)的查看評論按鈕,系統(tǒng)就會彈出評論展示框,顯示出這條微博的所有評論信息。: 查看評論界面六、查看轉(zhuǎn)發(fā)的效果展示當(dāng)用戶查看微博界面點擊某條微博后面對應(yīng)的查看轉(zhuǎn)發(fā)按鈕,系統(tǒng)就會彈出轉(zhuǎn)發(fā)展示框,顯示出這條微博的所有轉(zhuǎn)發(fā)信息。:第二節(jié) 本章小結(jié)在本章中,主要展示了輿情采集系統(tǒng)的運行效果,依次按照各功能模塊運行程序,截圖展示運行效果,包括:系統(tǒng)運行主界面、查看微博、查看粉絲、搜索粉絲、查看關(guān)注、搜索關(guān)注、查看評論和查看轉(zhuǎn)發(fā)。在運行軟件的過程中沒有出現(xiàn)任何異?,F(xiàn)象,表明這個軟件的開發(fā)基本正常。結(jié) 論互聯(lián)網(wǎng)發(fā)展至今,傳統(tǒng)媒體已經(jīng)日漸落寞,作為新生代媒體,網(wǎng)絡(luò)已經(jīng)在這一領(lǐng)域占據(jù)了越來越重要的地位,而且這種趨勢還在上漲?,F(xiàn)今,越來越多的人通過互聯(lián)網(wǎng)來表達(dá)自己對社會現(xiàn)狀的態(tài)度和政治訴求等等。正是基于這樣的形式,從互聯(lián)網(wǎng)這一自由開放的媒體中了解民生,開展網(wǎng)絡(luò)輿情信息采集和分析,已經(jīng)各級政府部門目前面臨的重要課題。結(jié)合國內(nèi)對輿情信息的采集分析工作的迫切需求和目前國內(nèi)社交平臺市場的競爭情況,本文的作品就設(shè)計了一個專門針對新浪微博的輿情數(shù)據(jù)采集系統(tǒng),該系統(tǒng)是基于新浪官方提供的微博API開發(fā),采用Java語言實現(xiàn),持久層用MySQL數(shù)據(jù)庫來保存微博、用戶等信息。該系統(tǒng)在用戶體驗方面采用了Java繪圖機制、Java多線程技術(shù)實現(xiàn)了修改應(yīng)用程序背景、在系統(tǒng)執(zhí)行較長事物時彈出用戶等待提示框;在系統(tǒng)功能方面采用了Java的Swing組件中的JTable實現(xiàn)數(shù)據(jù)的列表展示,并在列表中添加按鈕和點擊事件,還采用了分頁算法多這些數(shù)據(jù)列表實現(xiàn)了分頁;在數(shù)據(jù)存儲方面采用了JDBC連接MySQL數(shù)據(jù)庫,并對數(shù)據(jù)表進(jìn)行增刪改查等操作,完成數(shù)據(jù)的持久化。在完成設(shè)計過程,也遇到了一些問題,由于采用多線程技術(shù),控制線程之間的執(zhí)行就是一個很重要的問題,在該系統(tǒng)去訪問新浪服務(wù)器獲取數(shù)據(jù)時,我們需要單開一個線程來提示用戶正在獲取數(shù)據(jù),那么如何讓系統(tǒng)在獲取完數(shù)數(shù)后關(guān)閉提示框線程,通過查閱相關(guān)資料,最終采用了Thread類的join方法來控制兩個線程的執(zhí)行順序,先執(zhí)行獲取數(shù)據(jù)線程,完成后去性關(guān)閉提示框線程,這樣就解決了這個問題。雖然在論文中完成了一定的工作,但是,還有許多工作要做。下一步需要對系統(tǒng)中搜集的輿情數(shù)據(jù)進(jìn)一步分析,做出相應(yīng)的處理方案,才能更好的完成政府部門的需求;當(dāng)然,單純的從技術(shù)層面來講,新浪微博對申請的應(yīng)用測試賬號設(shè)置了訪問限制權(quán)限,我們可以考慮下通過爬蟲的方式來獲取數(shù)據(jù),解決訪問限制這個問題。現(xiàn)有系統(tǒng)只提供了對新浪微博數(shù)據(jù)的抓取,還可以考慮實現(xiàn)對其他微博、論壇、播客、新聞評論等平臺信息的抓取。致 謝畢業(yè)設(shè)計終于接近尾聲了,在這個過程中我學(xué)到了很多東西,也要感謝許多人對我的幫助。首先我要感謝我的導(dǎo)師張璞老師,他在我完成作品和論文的過程中,給我提供了很大的幫助。在實現(xiàn)作品階段,我有不會的地方就去問老師,老師都會細(xì)心的給我提供解決方案;在寫論文階段,老師多次集中關(guān)注我們論文的進(jìn)度,而且還對我們的論文進(jìn)行檢測,指出其中的不足讓我們及時修改,在老師多次的耐心指導(dǎo)下,我解決了很多的問題并最終完成了論文。感謝我的輔導(dǎo)員白衛(wèi)華老師,白老師在畢業(yè)設(shè)計階段一直督促我們完成作品和論文的進(jìn)度,積極反饋學(xué)校對畢業(yè)設(shè)計和論文的要求,讓我們嚴(yán)格按照要求來完成作品及論文,在此,我向白老師表達(dá)我由衷的謝意。感謝學(xué)生公寓28棟617寢室的各位室友在我大學(xué)本科生涯中對我學(xué)習(xí)、生活上的關(guān)系和幫助。感謝09級信息安全專業(yè)的全體同學(xué),因為我們一起的團(tuán)結(jié)拼搏、共同努力,讓我們的大學(xué)生活變得如此的豐富美好。最后,我要感謝多年來家人的關(guān)懷和默默奉獻(xiàn),他們的理解和支持是我成功的強大后盾,也是對我最大的鼓勵。參考文獻(xiàn)[1] 王來華. 輿情研究概論——理論、方法和現(xiàn)實熱點[M],天津社會科學(xué)院出版社,2003年.[2] 鄧君韜,牛忠江.中國網(wǎng)絡(luò)輿情的現(xiàn)狀及應(yīng)對之策〔J〕.人民論壇,2012,20:1-2[3] 新浪網(wǎng). 新浪微博介紹[EB/OL]. [20130518]. .[4] Bruce Eckel.Thinking In Java [M].機械工業(yè)出版社, 2007年.[5] 李剛. 瘋狂Java講義 [M], 電子工業(yè)出版社, 2008年.[6] 百度文庫. JDBC連接數(shù)據(jù)庫的步驟[EB/OL]. [20130519]. [7] 新浪微博開放平臺. 授權(quán)機制說明[EB/OL]. [20130519]. [8] 百度百科. MySQL詳細(xì)說明 [EB/OL]. [20130519]. [9] 朱少民. 軟件工程導(dǎo)論 [M], 清華大學(xué)出版社, 2009年.[10] 百度文庫. 需求分析的寫法 [EB/OL]. [20130519]. om/view/f2e29448c850ad02de804143.[11] 百度文庫. 軟件工程系統(tǒng)用例圖的含義及畫法 [EB/OL]. [20130519]. [12] 百度文庫. 軟件工程系統(tǒng)設(shè)計的寫法[EB/OL]. [20130519]. ://wenk [13] 史嘉權(quán). 數(shù)據(jù)庫系統(tǒng)概論 [M], 清華大學(xué)出版社, 2006年.[14] CSDN. 數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計方法 [EB/OL]. [20130519]. [15] 新浪微博開放平臺. 新浪微博API接口說明文檔 [EB/OL]. [20130519].附 錄一、 英文原文:Java theory and practice: Plugging memory leaks with soft referencesSoft references provide for quickanddirty cachingBrian Goetz (brian@), Principal Consultant, QuiotixSummary: In the previous installment of Java theory and practice, Java? sanitation engineer Brian Goetz examined weak references, which let you put the garbage collector on notice that you want to maintain a reference to an object without preventing it from being garbage collected. This month, he explains another form of Reference object, soft references, which can also enlist the aid of the garbage collector in managing memory usage and eliminating potential memory leaks.Garbage collection might make Java programs immune to memory leaks, at least for a sufficiently narrow definition of memory leak, but that doesn39。t mean we can totally ignore the issue of object lifetime in Java programs. Memory leaks in Java programs usually arise when we pay insufficient attention to object lifecycle or subvert the standard mechanisms for managing object lifecycle. For example, last time we saw how failing to demarcate an object39。s lifecycle could cause unintentional object retention when trying to associate metadata with transient objects. There are other idioms that can similarly ignore or subvert object lifecycle management and can also lead to memory leaks. Object loiteringA form of memory leak, sometimes called object loitering, is illustrated by the LeakyChecksum class in Listing 1, which provides a getFileChecksum() method to calculate the checksum of a file39。s contents. The getFileChecksum() method reads the contents of the file into a buffer to pute the checksum. A more straightforward implementation would simply allocate the buffer as a local variable within getFileChecksum(), but this version is more clever than that, instead caching the buffer in an instance field to reduce memory churn. This optimization often does not deliver the expected savings。 object allocation is cheaper than many give it credit for. (Also note that promoting the buffer from a local variable to an instance variable renders the class no longer threadsafe without additional synchronization。 the straightforward implementation would not require getFileChecksum() to be declared synchronized and would offer better scalability when called concurrently.) Listing 1. Class that exhibits object loitering// BAD CODE DO NOT EMULATEpublic class LeakyChecksum { private byte[] byteArray。 public synchronized int getFileChecksum(String fileName) { int len = getFileSize(fileName)。 if (byteArray == null || len) byteArray = new byte[len]。 readFileContents(fileName, byteArray)。 // calculate checksum and return it }}This class has plenty of problems, but let39。s focus on the memory leak. The decision to cache the buffer most likely followed from the assumption that it would be called many times within a program and that it would therefore be more e