一、網絡爬蟲的定義網絡爬蟲,即WebSpider,是一個很形象的名字。把互聯網比喻成一個蜘蛛網,那么Spider就是在網上爬來爬去的蜘蛛。網絡蜘蛛是通過網頁的鏈接地址來尋找網頁的。從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個互聯網當成一個網站,那么網絡蜘蛛就可以用這個原理把互聯網上所有的網頁都抓取下來。這樣看來,網絡爬蟲
系統 2019-09-27 17:38:09 2081
我+你=天堂那天晚上,她在路燈下撿到一枚天使她把他帶回家,發現他只有一只翅膀她每天細心照顧著他,他們愛上了對方然而,天使總是忍不住看著窗外的天空,渴望在天堂飛翔的感覺她看見了,想盡辦法找尋另一只翅膀,只為了讓他快樂她發現,夢想是打造翅膀的唯一方法,但是…如果把夢想給了他,她將永遠墜入沒有夢的世界,而天使,也會離她而去最后,她終于下定決心…這天晚上,她將親手打造的禮物交給天使,期待看到他開心的表情沒想到他也拿出一樣禮物這時她才發覺,天使的另一只翅膀也不見了他
系統 2019-08-29 23:47:25 2081
回去快11點了,口渴正好還有半瓶可樂,就喝了,結果睡的時候,雖然頭暈,很累但就是腦子清醒著,關鍵是也不是很清醒,已經不能思考問題了,sigh~~~早上又不到六點就醒了,其實應該沒睡飽,不過腦子已經半醒狀態,肯定回不了籠了。晚上想睡覺不要喝可樂
系統 2019-08-29 23:46:23 2081
組合模式(CompositePattern)有時候又叫做部分-整體模式,它使我們樹型結構的問題中,模糊了簡單元素和復雜元素的概念,客戶程序可以向處理簡單元素一樣來處理復雜元素,從而使得客戶程序與復雜元素的內部結構解耦。組合模式讓你可以優化處理遞歸或分級數據結構。有許多關于分級數據結構的例子,使得組合模式非常有用武之地。關于分級數據結構的一個普遍性的例子是你每次使用電腦時所遇到的:文件系統。文件系統由目錄和文件組成。每個目錄都可以裝內容。目錄的內容可以是文件
系統 2019-08-29 23:06:17 2081
一、字符編碼的過濾器importjavax.servlet.*;importjava.io.IOException;/***//***用于設置HTTP請求字符編碼的過濾器,通過過濾器參數encoding指明使用何種字符編碼,用于處理HtmlForm請求參數的中文問題*/publicclassCharacterEncodingFilterimplementsFilter{protectedFilterConfigfilterConfig=null;prote
系統 2019-08-29 23:01:19 2081
概述各種企業應用幾乎都會碰到任務調度的需求,就拿論壇來說:每隔半個小時生成精華文章的RSS文件,每天凌晨統計論壇用戶的積分排名,每隔30分鐘執行鎖定用戶解鎖任務。對于一個典型的MIS系統來說,在每月1號凌晨統計上個月各部門的業務數據生成月報表,每半個小時查詢用戶是否已經有快到期的待處理業務……,這樣的例子俯拾皆是,不勝枚舉。任務調度本身涉及到多線程并發、運行時間規則制定和解析、場景保持與恢復、線程池維護等諸多方面的工作。如果直接使用自定義線程這種刀耕火種的
系統 2019-08-29 22:57:52 2081
前言我們都知道,在進行J2ME的手機應用程序開發的時候,在圖片的使用上,我們可以使用PNG格式的圖片(甚至于在有的手機上,我們只可以使用PNG格式的圖片),盡管使用圖片可以為我們的應用程序增加不少亮點,然而,只支持PNG格式的圖片卻又限制了我們進一步發揮的可能性(其實,應該說是由于手機平臺上的處理能力有限)。在MIDP2中,或者某些廠商(如NOKIA)提供的API中,提供了drawPixels/getPixels的方法,這些方法進一步提高了開發者處理圖片的
系統 2019-08-29 22:32:15 2081
下面是從一個實例的構建過程進行分析。1、DWR介紹DWR是一個可以允許你去創建AJAXWEB站點的JAVA開源庫。它可以讓你在瀏覽器中的Javascript代碼調用Web服務器上的Java代碼,就像在Java代碼就在瀏覽器中一樣。DWR包含2個主要部分:(1)一個運行在服務器端的JavaServlet,它處理請求并且向瀏覽器發回響應。(2)運行在瀏覽器端的JavaScript,它發送請求而且還能動態更新網頁。DWR工作原理是通過動態把Java類生成為Jav
系統 2019-08-29 22:31:44 2081
條件變量詳解在上一篇文章結束時,我描述了一個比較特殊的難題:如果線程正在等待某個特定條件發生,它應該如何處理這種情況?它可以重復對互斥對象鎖定和解鎖,每次都會檢查共享數據結構,以查找某個值。但這是在浪費時間和資源,而且這種繁忙查詢的效率非常低。解決這個問題的最佳方法是使用pthread_cond_wait()調用來等待特殊條件發生。了解pthread_cond_wait()的作用非常重要--它是POSIX線程信號發送系統的核心,也是最難以理解的部分。首先,
系統 2019-08-29 22:16:36 2081
之前雖然會用JDK的動態代理,但是有些問題卻一直沒有搞明白。比如說:InvocationHandler的invoke方法是由誰來調用的,代理對象是怎么生成的,直到前幾個星期才把這些問題全部搞明白了。廢話不多說了,先來看一下JDK的動態是怎么用的。Java代碼packagedynamic.proxy;importjava.lang.reflect.InvocationHandler;importjava.lang.reflect.Method;importj
系統 2019-08-29 22:02:51 2081