【正文】
輸入提示警告二、查看微博的效果展示用戶輸入一個(gè)微博昵稱,然后點(diǎn)擊查看微博,系統(tǒng)就會(huì)把該用戶的所有微博以列表形式分頁展示出來,: 查看微博界面在獲取微博的這段時(shí)間里,系統(tǒng)會(huì)彈出進(jìn)度條框,讓用戶知道正在進(jìn)行后臺(tái)數(shù)據(jù)的處理。 進(jìn)度條提示框三、查看粉絲的效果展示用戶輸入一個(gè)微博昵稱,然后點(diǎn)擊查看粉絲,系統(tǒng)就會(huì)把該用戶的所有粉絲以列表形式分頁展示出來,: 查看粉絲界面該模塊還有一個(gè)粉絲搜索功能,用戶輸入一個(gè)微博昵稱,然后點(diǎn)擊搜索粉絲,系統(tǒng)就會(huì)根據(jù)用戶輸入的昵稱去訪問本地?cái)?shù)據(jù)庫,如果查詢到有與關(guān)鍵字相似的用戶,則提取出來并展示出來,如果沒有就展示為空。: 搜索粉絲效果圖四、查看關(guān)注的效果展示用戶輸入一個(gè)微博昵稱,然后點(diǎn)擊查看關(guān)注,系統(tǒng)就會(huì)把該用戶的所有關(guān)注以列表形式分頁展示出來,:該模塊還有一個(gè)關(guān)注搜索功能,其實(shí)現(xiàn)過程是:用戶輸入一個(gè)微博昵稱,然后點(diǎn)擊搜索關(guān)注,系統(tǒng)就會(huì)根據(jù)用戶輸入的昵稱去訪問本地?cái)?shù)據(jù)庫,如果查詢到有與關(guān)鍵字相似的用戶,則提取出來并展示出來,如果沒有就展示為空。: 搜索關(guān)注效果圖五、查看評(píng)論的效果展示當(dāng)用戶查看微博界面點(diǎn)擊某條微博后面對(duì)應(yīng)的查看評(píng)論按鈕,系統(tǒng)就會(huì)彈出評(píng)論展示框,顯示出這條微博的所有評(píng)論信息。: 查看評(píng)論界面六、查看轉(zhuǎn)發(fā)的效果展示當(dāng)用戶查看微博界面點(diǎn)擊某條微博后面對(duì)應(yīng)的查看轉(zhuǎn)發(fā)按鈕,系統(tǒng)就會(huì)彈出轉(zhuǎn)發(fā)展示框,顯示出這條微博的所有轉(zhuǎn)發(fā)信息。:第二節(jié) 本章小結(jié)在本章中,主要展示了輿情采集系統(tǒng)的運(yùn)行效果,依次按照各功能模塊運(yùn)行程序,截圖展示運(yùn)行效果,包括:系統(tǒng)運(yùn)行主界面、查看微博、查看粉絲、搜索粉絲、查看關(guān)注、搜索關(guān)注、查看評(píng)論和查看轉(zhuǎn)發(fā)。在運(yùn)行軟件的過程中沒有出現(xiàn)任何異?,F(xiàn)象,表明這個(gè)軟件的開發(fā)基本正常。結(jié) 論互聯(lián)網(wǎng)發(fā)展至今,傳統(tǒng)媒體已經(jīng)日漸落寞,作為新生代媒體,網(wǎng)絡(luò)已經(jīng)在這一領(lǐng)域占據(jù)了越來越重要的地位,而且這種趨勢(shì)還在上漲?,F(xiàn)今,越來越多的人通過互聯(lián)網(wǎng)來表達(dá)自己對(duì)社會(huì)現(xiàn)狀的態(tài)度和政治訴求等等。正是基于這樣的形式,從互聯(lián)網(wǎng)這一自由開放的媒體中了解民生,開展網(wǎng)絡(luò)輿情信息采集和分析,已經(jīng)各級(jí)政府部門目前面臨的重要課題。結(jié)合國內(nèi)對(duì)輿情信息的采集分析工作的迫切需求和目前國內(nèi)社交平臺(tái)市場(chǎng)的競(jìng)爭(zhēng)情況,本文的作品就設(shè)計(jì)了一個(gè)專門針對(duì)新浪微博的輿情數(shù)據(jù)采集系統(tǒng),該系統(tǒng)是基于新浪官方提供的微博API開發(fā),采用Java語言實(shí)現(xiàn),持久層用MySQL數(shù)據(jù)庫來保存微博、用戶等信息。該系統(tǒng)在用戶體驗(yàn)方面采用了Java繪圖機(jī)制、Java多線程技術(shù)實(shí)現(xiàn)了修改應(yīng)用程序背景、在系統(tǒng)執(zhí)行較長(zhǎng)事物時(shí)彈出用戶等待提示框;在系統(tǒng)功能方面采用了Java的Swing組件中的JTable實(shí)現(xiàn)數(shù)據(jù)的列表展示,并在列表中添加按鈕和點(diǎn)擊事件,還采用了分頁算法多這些數(shù)據(jù)列表實(shí)現(xiàn)了分頁;在數(shù)據(jù)存儲(chǔ)方面采用了JDBC連接MySQL數(shù)據(jù)庫,并對(duì)數(shù)據(jù)表進(jìn)行增刪改查等操作,完成數(shù)據(jù)的持久化。在完成設(shè)計(jì)過程,也遇到了一些問題,由于采用多線程技術(shù),控制線程之間的執(zhí)行就是一個(gè)很重要的問題,在該系統(tǒng)去訪問新浪服務(wù)器獲取數(shù)據(jù)時(shí),我們需要單開一個(gè)線程來提示用戶正在獲取數(shù)據(jù),那么如何讓系統(tǒng)在獲取完數(shù)數(shù)后關(guān)閉提示框線程,通過查閱相關(guān)資料,最終采用了Thread類的join方法來控制兩個(gè)線程的執(zhí)行順序,先執(zhí)行獲取數(shù)據(jù)線程,完成后去性關(guān)閉提示框線程,這樣就解決了這個(gè)問題。雖然在論文中完成了一定的工作,但是,還有許多工作要做。下一步需要對(duì)系統(tǒng)中搜集的輿情數(shù)據(jù)進(jìn)一步分析,做出相應(yīng)的處理方案,才能更好的完成政府部門的需求;當(dāng)然,單純的從技術(shù)層面來講,新浪微博對(duì)申請(qǐng)的應(yīng)用測(cè)試賬號(hào)設(shè)置了訪問限制權(quán)限,我們可以考慮下通過爬蟲的方式來獲取數(shù)據(jù),解決訪問限制這個(gè)問題?,F(xiàn)有系統(tǒng)只提供了對(duì)新浪微博數(shù)據(jù)的抓取,還可以考慮實(shí)現(xiàn)對(duì)其他微博、論壇、播客、新聞評(píng)論等平臺(tái)信息的抓取。致 謝畢業(yè)設(shè)計(jì)終于接近尾聲了,在這個(gè)過程中我學(xué)到了很多東西,也要感謝許多人對(duì)我的幫助。首先我要感謝我的導(dǎo)師張璞老師,他在我完成作品和論文的過程中,給我提供了很大的幫助。在實(shí)現(xiàn)作品階段,我有不會(huì)的地方就去問老師,老師都會(huì)細(xì)心的給我提供解決方案;在寫論文階段,老師多次集中關(guān)注我們論文的進(jìn)度,而且還對(duì)我們的論文進(jìn)行檢測(cè),指出其中的不足讓我們及時(shí)修改,在老師多次的耐心指導(dǎo)下,我解決了很多的問題并最終完成了論文。感謝我的輔導(dǎo)員白衛(wèi)華老師,白老師在畢業(yè)設(shè)計(jì)階段一直督促我們完成作品和論文的進(jìn)度,積極反饋學(xué)校對(duì)畢業(yè)設(shè)計(jì)和論文的要求,讓我們嚴(yán)格按照要求來完成作品及論文,在此,我向白老師表達(dá)我由衷的謝意。感謝學(xué)生公寓28棟617寢室的各位室友在我大學(xué)本科生涯中對(duì)我學(xué)習(xí)、生活上的關(guān)系和幫助。感謝09級(jí)信息安全專業(yè)的全體同學(xué),因?yàn)槲覀円黄鸬膱F(tuán)結(jié)拼搏、共同努力,讓我們的大學(xué)生活變得如此的豐富美好。最后,我要感謝多年來家人的關(guān)懷和默默奉獻(xiàn),他們的理解和支持是我成功的強(qiáng)大后盾,也是對(duì)我最大的鼓勵(lì)。參考文獻(xiàn)[1] 王來華. 輿情研究概論——理論、方法和現(xiàn)實(shí)熱點(diǎn)[M],天津社會(huì)科學(xué)院出版社,2003年.[2] 鄧君韜,牛忠江.中國網(wǎng)絡(luò)輿情的現(xiàn)狀及應(yīng)對(duì)之策〔J〕.人民論壇,2012,20:1-2[3] 新浪網(wǎng). 新浪微博介紹[EB/OL]. [20130518]. .[4] Bruce Eckel.Thinking In Java [M].機(jī)械工業(yè)出版社, 2007年.[5] 李剛. 瘋狂Java講義 [M], 電子工業(yè)出版社, 2008年.[6] 百度文庫. JDBC連接數(shù)據(jù)庫的步驟[EB/OL]. [20130519]. [7] 新浪微博開放平臺(tái). 授權(quán)機(jī)制說明[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è)計(jì)的寫法[EB/OL]. [20130519]. ://wenk [13] 史嘉權(quán). 數(shù)據(jù)庫系統(tǒng)概論 [M], 清華大學(xué)出版社, 2006年.[14] CSDN. 數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計(jì)方法 [EB/OL]. [20130519]. [15] 新浪微博開放平臺(tái). 新浪微博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