Time of Update: 2017-01-19
說到爬蟲,使用Java本身內建的URLConnection可以實現一些基本的抓取頁面的功能,但是對於一些比較進階的功能,比如重新導向的處理,HTML標記的去除,僅僅使用URLConnection還是不夠的。在這裡我們可以使用HttpClient這個第三方jar包。接下來我們使用HttpClient簡單的寫一個爬去百度的Demo:import java.io.FileOutputStream;import java.io.InputStream;import
Time of Update: 2017-01-19
說到Java的本機存放區,肯定使用IO流進行操作。首先,我們需要一個建立檔案的函數createNewFile:複製代碼 代碼如下:public static boolean createNewFile(String filePath) { boolean isSuccess = true; //
Time of Update: 2017-01-19
上一集中我們說到需要用Java來製作一個知乎爬蟲,那麼這一次,我們就來研究一下如何使用代碼擷取到網頁的內容。首先,沒有HTML和CSS和JS和AJAX經驗的建議先去W3C(點我點我)小小的瞭解一下。說到HTML,這裡就涉及到一個GET訪問和POST訪問的問題。如果對這個方面缺乏瞭解可以閱讀W3C的這篇:《GET對比POST》。啊哈,在此不再贅述。然後咧,接下來我們需要用Java來爬取一個網頁的內容。這時候,我們的百度就要派上用場了。沒錯,他不再是那個默默無聞的網速測試器了,他即將成為我們的爬蟲小
Time of Update: 2017-01-19
開篇我們還是和原來一樣,講一講做爬蟲的思路以及需要準備的知識吧,高手們請直接忽略。首先我們來縷一縷思緒,想想到底要做什麼,列個簡單的需求。需求如下:1.類比訪問知乎官網(http://www.zhihu.com/)2.下載指定的頁面內容,包括:今日最熱,本月最熱,編輯精選3.下載指定分類中的所有問答,比如:投資,編程,掛科4.下載指定回答者的所有回答5.最好有個一鍵點贊的變態功能(這樣我就可以一下子給雷倫的所有回答都點贊了我真是太機智了!)那麼需要解決的技術問題簡單羅列如下:1.類比瀏覽器訪問網
Time of Update: 2017-01-19
1. join線程:線上程執行過程中,有時想讓另一個線程先執行,比如將一大問題分割成許多小問題,給每一個小問題分配線程,但所有小問題處理完後再讓主線程進一步操作。此時我們可以在主線程中調用其它線程的join()方法,以阻塞調用線程(在這裡為主線程)。範例程式碼:複製代碼 代碼如下: package org.frzh.thread; public class JoinThread extends Thread{ //
Time of Update: 2017-01-19
本文執行個體講述了java旋轉二維數組的操作,分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package test;/* * 1 2 3 4 5 * 16 17&
Time of Update: 2017-01-19
下面是一個簡單的小程式:複製代碼 代碼如下:import java.util.Arrays;class lesson6 { public static void main(String[] args) { int array[]={2,3,1,5,4,6};
Time of Update: 2017-01-19
一、簡介 現在的伺服器端程式很多都是基於Java開發,針對於Java開發的Socket程式,這樣的伺服器端上線後出現問題需要手動重啟,萬一大半夜的掛了,還是特別麻煩的。 大多數的解決方案是使用其他進程來守護伺服器程式,如果伺服器程式掛了,通過守護進程來啟動伺服器程式。 萬一守護進程掛了呢?使用雙守護來提高穩定性,守護A負責監控伺服器程式與守護B,守護B負責監控守護A,任何一方出現問題,都能快速的啟動程式,提高伺服器程式的穩定性。 Java的運行環境不同於C等語言開發的程式,Java程式跑
Time of Update: 2017-01-19
本文執行個體講述了java設定session到期時間的實現方法,分享給大家供大家參考。具體實現方法如下:1、Timeout in the deployment descriptor (web.xml)以分鐘為單位複製代碼 代碼如下:<web-app
Time of Update: 2017-01-19
在網頁中,每次的Client Access Server,有部分不用重複請求,如有些圖片,視頻等就沒有必要每次都請求,這樣會讓伺服器增大工作量。為了防止這樣,我們採用過濾器來設定用戶端是都緩衝。頁面的緩衝與不緩衝設定及html頁面中meta的作用HTTP1.1中啟用Cache-Control
Time of Update: 2017-01-19
在Servlet的設定檔中,可以使用一個或多個<init-param>標籤為servlet配置一些初始化參數。當servlet配置了初始化參數後,web容器在建立servlet執行個體對象時,會自動將這些初始化參數封裝到ServletConfig對象中,並在調用servlet的init方法時,ServletConfig對象傳遞給servlet。進而,程式員通過ServletConfig對象就可以得到當前servlet的初始化參數資訊。
Time of Update: 2017-01-19
我們在聊天的時候的或者留言的時候,有部分詞是不允許發表出來。我們可以採用過濾器實現這個功能。我們只是簡單利用過濾器實現這個過濾的功能,有些地方沒寫的很全前台代碼:<body> <form action="<c:url value='/WordServlet'/>" method="post"> 姓名:<input type="text" name="name"/><br/> 留言內容:<textarea rows="1
Time of Update: 2017-01-19
HashMap 和 HashSet 是 Java Collection Framework 的兩個重要成員,其中 HashMap 是 Map 介面的常用實作類別,HashSet 是 Set 介面的常用實作類別。雖然 HashMap 和 HashSet 實現的介面規範不同,但它們底層的 Hash 儲存機制完全一樣,甚至 HashSet 本身就採用 HashMap 來實現的。 實際上,HashSet 和 HashMap 之間有很多相似之處,對於 HashSet 而言,系統採用 Hash
Time of Update: 2017-01-19
ThreadLocal與線程成員變數還有區別,ThreadLocal該類提供了線程局部變數。這個局部變數與一般的成員變數不一樣,ThreadLocal的變數在被多個線程使用時候,每個線程只能拿到該變數的一個副本,這是Java API中的描述,通過閱讀API源碼,發現並非副本,副本什麼概念?複製品?
Time of Update: 2017-01-19
廢話不多說,直接上代碼,小夥伴們仔細看下注釋吧。複製代碼 代碼如下:/*簡單的複製 剪下 粘貼 功能 操作: 複製測試: 輸入文本選擇文本,點擊複製,然後將游標放在右邊的TextArea,點擊粘貼 剪下測試:輸入文本選擇文本,然後將游標放在右邊的TextArea,點擊剪下 */import javax.swing.*;import java.awt.*;import
Time of Update: 2017-01-19
寫這篇文章的目的是想總結一下自己這麼多年來使用java的一些心得體會,主要是和一些java基礎知識點相關的,所以也希望能分享給剛剛入門的Java程式員和打算入Java開發這個行當的准新手們,希望可以給大家一些經驗,能讓大家更好學習和使用Java。這次介紹的主要內容是和J2SE相關的部分,另外,會在以後再介紹些J2EE相關的、和Java中各個架構相關的內容。經過這麼多年的Java開發,以及結合平時面試Java開發人員的一些經驗,我覺得對於J2SE方面主要就是要掌握以下的一些內容。1. JVM相關(
Time of Update: 2017-01-19
Java中字串對象建立有兩種形式,一種為字面量形式,如String str = "droid";,另一種就是使用new這種標準的構造對象的方法,如String str = new
Time of Update: 2017-01-19
1. 字串中的Regex使用Regex可以對字串進行尋找、提取、分割、替換等操作。String類當中提供了如下幾個特殊方法:boolean matches(String regex):判斷該字串是否匹配指定的Regex。String replaceAll(String regex, String replacement):將該字串中所有匹配regex的子串替換成replacement。String[] split(String
Time of Update: 2017-01-19
基本操作樣本VectorApp.javaimport java.util.Vector; import java.lang.*; import java.util.Enumeration; public class VectorApp { public static void main(String args[]) { Vector v1 = new Vector(); Integer integer1= new Integer(1); //加入為字串對象 v1.
Time of Update: 2017-01-19
芬蘭數學家因卡拉花費3個月設計出了世界上迄今難度最大的數獨遊戲,而且它只有一個答案。因卡拉說只有思考能力最快、頭腦最聰明的人才能破解這個遊戲。今日,一則騰訊的新聞稱中國老頭三天破解世界最難九宮格,雖然最後老人是改了一個數字,但是引起本人一時興趣,想通過電腦程式求解該問題,於是在宿舍呆了一下午,終於成功求解,程式源碼如下。複製代碼 代碼如下:package numberGame;public class Point { private int col;//