Time of Update: 2017-01-19
本文執行個體講述了java繼承中的構造方法。分享給大家供大家參考。具體如下:繼承中的構造方法: 1、子類的構造過程中必須調用其基類的構造方法。2、子類可以在自己的構造方法中使用super(argument_list)調用基類的構造方法。 2.1、使用this(argument_list)調用本類的另外構造方法。
Time of Update: 2017-01-19
前期我們抓取標題是在該連結下:http://www.zhihu.com/explore/recommendations但是顯然這個頁面是無法擷取答案的。一個完整問題的頁面應該是這樣的連結:http://www.zhihu.com/question/22355264仔細一看,啊哈我們的封裝類還需要進一步封裝下,至少需要個questionDescription來儲存問題描述:import java.util.ArrayList;public class Zhihu { public
Time of Update: 2017-01-19
前面我們已經用過幾次collect()方法來將Stream返回的元素拼成ArrayList了。這是一個reduce操作,它對於將一個集合轉化成另一種類型(通常是一個可變的集合)非常有用。collect()函數,如果和Collectors工具類裡的一些方法結合起來使用的話,能提供極大的便利性,本節我們將會介紹到。我們還是繼續使用前面的Person列表作為例子,來看一下collect()方法到底有哪些能耐。假設我們要從原始列表中找出所有大於20歲的人。下面是使用了可變性和forEach()方法實現的
Time of Update: 2017-01-19
類與類之間最常見的關係主要有三種:依賴(uses-a)、彙總(has-a)和繼承(is-a)。下面以線上書店訂單系統為例,來詳細的講述這三種關係的概念。線上書店訂單系統的主要功能是:註冊使用者可以登入到網上書店選購圖書,線上填寫訂單,並支付購書款。書店確認已經收到購書款時,按使用者留下的地址郵寄圖書。可以在這個系統中建立幾個類,有圖書(book)、賬戶(account)、訂單(order)、地址(address)等,如下圖所示:依賴(uses-a)依賴關係是類中最常見的關係,例如訂單類(orde
Time of Update: 2017-01-19
重新導向和轉寄有一個重要的不同:當使用轉寄時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。 與之相反,重新導向方式的含義是第一個頁面通知瀏覽器發送一個新的頁面請求。因為,當你使用重新導向時,瀏覽器中所顯示的URL會變成新頁面的URL,
Time of Update: 2017-01-19
直接上代碼,有詳細注釋,有圖解,相信你懂得!複製代碼 代碼如下:package day14;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import
Time of Update: 2017-01-19
Java是個平台,我只想說說我對學好Java的一點看法,希望對初學者有所協助。1. 思考一下學習Java之前,先別急,靜下心來好好想想:1)你對學習Java是否有興趣?2)你是否能靜下心來堅持不懈地學習?嗯,這是個容易但又絕對不應該忽略的問題,你確信自己對Java感興趣、而且又有吃苦的準備,那你才可能學好Java!如果具備這兩點條件,就請繼續往下看……2. 準備一下請不要把你的學習Java之路和其它電腦技術分開看待,技術的聯絡往往是千絲萬縷的,你應該掌握一些學習Java所涉及的基礎知識,對於 “
Time of Update: 2017-01-19
Web伺服器收到用戶端的http請求,會針對每一次請求,分別建立一個用於代表請求的request對象,和代表響應的response對象。request和response對象既然代表請求和響應,那我們要擷取客戶機提交過來的資料,只需要找request對象就行了。要向客戶機輸出資料,只需要找response對象就行了。複製代碼 代碼如下: package com.yyz.response; import
Time of Update: 2017-01-19
本文執行個體講述了應用Java泛型和反射匯出CSV檔案的方法。分享給大家供大家參考。具體如下:項目中有需求要把資料匯出為CSV檔案,因為不同的類有不同的屬性,為了代碼簡單,應用Java的泛型和反射,寫了一個函數,完成匯出功能。複製代碼 代碼如下:public <T> void saveFile(List<T> list, String outFile) throws IOException
Time of Update: 2017-01-19
1 StringString:字串常量,字串長度不可變。2
Time of Update: 2017-01-19
Java Web項目中,解決中文亂碼方法總結如下第一種情況:調用jsp頁面中文顯示亂碼問題描述:通過瀏覽器調用jsp頁面,在瀏覽器中顯示的中文內容出現亂碼。解決方案:首先確認本jsp在編輯器中儲存檔案內容時,使用的是utf-8的編碼格式,然後在jsp頁面的開始處添加<%@
Time of Update: 2017-01-19
在某些情境下,我們必須等待線程執行完成才能進行下一步工作。例如,某些程式在開始執行之前,需要先初始化一些資源。這時,我們可以啟動一個線程專門來做初始化任務,等到線程任務完成後,再去執行其他部分。為此,Thread類為我們提供了join()方法。當我們使用線程對象調用此方法時,正在掉調用的線程對象將被延遲到被調用對象執行完成後再開始執行。在本節,樣本程式示範等待初始化方法完成後,再去執行其他任務。知其然按照下面所示步驟,完成樣本程式。1.建立一個名為DataSourcesLoader的類,並且實現
Time of Update: 2017-01-19
1. fail-fast簡介“快速失敗”也就是fail-fast,它是Java集合的一種錯誤偵測機制。某個線程在對collection進行迭代時,不允許其他線程對該collection進行結構上的修改。例如:假設存在兩個線程(線程1、線程2),線程1通過Iterator在遍曆集合A中的元素,在某個時候線程2修改了集合A的結構(是結構上面的修改,而不是簡單的修改集合元素的內容),那麼這個時候程式就會拋出 ConcurrentModificationException
Time of Update: 2017-01-19
一、重量級鎖 上篇文章中向大家介紹了Synchronized的用法及其實現的原理。現在我們應該知道,Synchronized是通過對象內部的一個叫做監視器鎖(monitor)來實現的。但是監視器鎖本質又是依賴於底層的作業系統的Mutex Lock來實現的。而作業系統實現線程之間的切換這就需要從使用者態轉換到核心態,這個成本非常高,狀態之間的轉換需要相對比較長的時間,這就是為什麼Synchronized效率低的原因。因此,這種依賴於作業系統Mutex
Time of Update: 2017-01-19
一、PriorityQueue的資料結構JDK7中PriorityQueue(優先順序隊列)的資料結構是二元堆積。準確的說是一個最小堆。二元堆積是一個特殊的堆, 它近似完全二叉樹。二元堆積滿足特性:父節點的索引值總是保持固定的序關係於任何一個子節點的索引值,且每個節點的左子樹和右子樹都是一個二元堆積。 當父節點的索引值總是大於或等於任何一個子節點的索引值時為最大堆。 當父節點的索引值總是小於或等於任何一個子節點的索引值時為最小堆。 下圖是一個最大堆
Time of Update: 2017-01-19
本篇文章先從整體介紹了Java集合架構套件含的介面和類,然後總結了集合架構中的一些基本知識和關鍵點,並結合執行個體進行簡單分析。當我們把一個對象放入集合中後,系統會把所有集合元素都當成Object類的執行個體進行處理。從JDK1.5以後,這種狀態得到了改進:可以使用泛型來限制集合裡元素的類型,並讓集合記住所有集合元素的類型。一、綜述所有集合類都位於java.util包下。集合中只能儲存對象(儲存對象的引用變數)。(數組既可以儲存基本類型的資料也可以儲存對象)。當我們把一個對象放入集合中後,系統會
Time of Update: 2017-01-19
Factory 方法模式的定義Factory 方法(Factory Method)模式的意義是定義一個建立產品對象的工廠介面,將實際建立工作延遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得Factory 方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。 它包含了如下角色: 抽象產品(Product) 具體產品(ConcreteProduct) 抽象工廠(Factory)
Time of Update: 2017-01-19
Java線程池的幾種實現方法和區別介紹import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Random;import java.util.concurrent.Callable;import
Time of Update: 2017-01-19
1.Java序列化與還原序列化Java序列化是指把Java對象轉換為位元組序列的過程;而Java還原序列化是指把位元組序列恢複為Java對象的過程。2.為什麼需要序列化與還原序列化我們知道,當兩個進程進行遠程通訊時,可以相互發送各種類型的資料,包括文本、圖片、音頻、視頻等,
Time of Update: 2017-01-19
貪婪模式(Greedy):數量表示符預設採用貪婪模式,除非另有表示。貪婪模式的運算式會一直匹配下去,直到無法匹配為止。如果你發現運算式匹配的結果與預期的不符,很有可能是因為——你以為運算式只會匹配前面幾個字元,而實際上它是貪婪模式,所以會一直匹配下去。貪婪與非貪婪,加上?為非貪婪:var s = '1023000'.match(/(\d+)(0*)/);s["1023000", "1023000", ""]var s = '1023000'.match(/^(\d+)(0*)$/);s[