Time of Update: 2018-12-03
簡單原廠模式:由一個叫做工廠類的東西決定生產什麼樣的執行個體,你只要傳遞一個資訊給工廠類,工廠類就知道應該生產什麼樣的產品。工廠:生產具體產品的東西產品:繼承了一個基類或者介面,這個介面或基類抽象出了公用的變數和方法,具體實現由產品去實現優點:松耦合,添加功能方便例:使用簡單原廠模式實現一個計算機類1、建立一個抽象基類/** *Jun 27, 2013 *Copyright(c)JackWang *All rights reserve *@Author <a
Time of Update: 2018-12-03
策略模式:就是針對一個問題在不同的情形下有不同的解決演算法,為了靈活處理,可增減演算法,就是用策略模式感覺和簡單原廠模式有些形似。。。。。例:超市收銀問題針對不同的情況,有不打折的,打折的,還有滿300返100的,等等。。。。1、建個介面,它是各種模式抽象出來的公用方法/** *Jun 28, 2013 *Copyright(c)JackWang *All rights reserve *@Author <a
Time of Update: 2018-12-03
JDK 6.0 以及JDK 5.0 update 9 的 nio支援epoll (僅限 Linux 系統 ),對並發idle connection會有大幅度的效能提升,這就是很多網路伺服器應用程式需要的。啟用的方法如下:-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider 例如在 Linux 下啟動並執行 Tomcat 使用 NIO Connector ,那麼啟用 epoll 對效能的提升會有協助。
Time of Update: 2018-12-03
本人屬於Java初學者,學習Java有一段時間了。為了提高自己編程能力,最近在網上找了一些程式設計大賽的題目來做。每做出一道,就會把自己的答案貼到部落格上來,爭取每天一道:一來豐富一下自己的第一個技術部落格二來以此鍛煉一下自己的耐力最重要的是懇請各位大牛給小弟提出批評意見,讓我提高得更快一點,在此,先拜謝大家了!好了,上菜!/** *Apr 1, 2013 *Copyright(c)JackWang *All rights reserve *@Author <a href="mailto:
Time of Update: 2018-12-03
悲催啊,弄了整整一下午還是沒有完整滴弄出來不得不承認我智商很一般,搞這個整數劃分的演算法搞了近1個小時才弄明白,可是,這道變態的題目並不是這樣簡單啊!!!忍無可忍,只好站在前人的肩膀上了來做了一位是這位大牛的:點擊開啟一位是這位大牛的:點擊開啟感謝二位,可惜我才疏學淺,還沒獨立弄出來!!!時間不早了,有時間再接著弄吧,先把代碼貼出來,真心懇請各位大牛指點迷津。。。1,建立bean類,儲存 成員數和可能的比賽次數 /** *Apr 2, 2013 *Copyright(c)JackWang
Time of Update: 2018-12-03
好吧,既然演算法這個高深的問題還不能遊刃有餘,那就先鞏固鞏固基礎吧!我就根據自己的學習經曆,來複習一下以前學過的知識吧!首先聲明,這些概念非本人創造,是本人學習過程中接觸到的。然後我根據自己的理解空閑時間獨立完成。所有原始碼全部是自己原創!這都是站在巨人肩膀上的結果今天寫個檔案切割器:檔案切割器就是把把一些大檔案切割成相同大小(尾巴除外)的子檔案。為什麼要這麼做呢?這是因為在一些論壇等網站由於伺服器效能等原因,上傳的檔案大小一般是不能超過一定大小的。我們為了上傳一些大檔案,就不得不把這些大檔案切
Time of Update: 2018-12-03
題目要求:用Java設計一個程式,實現一個字串的對稱個數,如字串"effeghg",有"ff","effe","ghg"這三個對稱字元,所以返回3.
Time of Update: 2018-12-03
1、interface不僅僅只是一個極度抽象的類,因為它允許人們通過建立一個能夠被向上轉型為多種基底類型的類,來實現某種類似C++多重繼承變種的特性。2、像類一樣,可以在interface關鍵字前面添加public關鍵字(但僅限於該介面在與其同名的檔案中被定義),或者不添加它而使其只是具有包存取權限,這樣它就只能在同一個包內可用。3、可以選擇在介面中顯示地將方法聲明為public的,但即使你不這麼做,它們也是public的。因此當實現一個介面時,在介面中被定義的方法必須被定義為public。4、
Time of Update: 2018-12-03
Ok,今天寫個檔案合并器。依然是Java IO 的應用。檔案合并器就是把切碎後的檔案恢複成原來的樣子。基本思路就是把片段檔案流放到一個合并流中,然後再寫到另外一個流中即可。Java IO 裡有一個SequenceInputStream這樣的對象。它從輸入資料流的有序集合開始,並從第一個輸入資料流開始讀取,直到到達檔案末尾,接著從第二個輸入資料流讀取,依次類推,直到到達包含的最後一個輸入資料流的檔案末尾為止。---Java文檔原檔案的有關資訊可以從properties
Time of Update: 2018-12-03
此問題在項目中被發現,經查看JDK源碼(JDK1.6),String類的public String substring(int beginIndex, int endIndex)的實現讓我很意外。想重現這個情境很容易,請看代碼。 import java.util.ArrayList;import java.util.List;public class LeakTest { public static void main(String...args) {
Time of Update: 2018-12-03
/** * 發送GET請求 * * @param url url地址 * @return JSONObject */ public static String getAjaxDataFromURLForSMS(String url) { long begin = System.currentTimeMillis(); LOG.info("request:" + url); String
Time of Update: 2018-12-03
1、當將內部類向上轉型為其基類,尤其是轉型為一個介面的時候,內部類就有了用武之地(從實現某個介面的對象,得到對此介面的引用,與向上轉型為這個對象的基類,實質上效果是一樣得。)這是因為此內部類——某個介面的實現——對於其他人來說能夠完全不可見,並且不可用。所得到的只是指向基類或介面的引用,所以能夠很方便地隱藏實現細節。interface Destination{ String readLabel();}interface Contents{ int value();}class
Time of Update: 2018-12-03
Java
Time of Update: 2018-12-03
上接《Java編程思想》之內部類——深奧而複雜13、為什麼需要內部類?1).內部類最吸引人注意的原因是:每個內部類都能獨立的繼承自一個(介面的)實現,所以無論外圍類是否已經繼承了某個就(介面的)實現,對於內部類都沒有影響。2).一個類中以某種方式實現兩個介面。由於介面的靈活性,你有兩種選擇:使用單一類,或者使用內部類。從實現觀點看,以下倆種方式沒什麼區別。interface A{}interface B{} class X implements A, B{} class Y
Time of Update: 2018-12-03
其實這部落格是轉論壇上的,原帖:http://topic.csdn.net/u/20090113/17/5abc9a50-64dd-4277-af73-e8d2b762a469.html 我貼過來,自己做一下。 題目1: One team tries to buy several bottle of drinks for 27 athletes. In ABC store three empty bottles can be exchanged with one new bottle of
Time of Update: 2018-12-03
最近一段時間,在公司裡對java記憶體泄露的問題進行了調查。問題的發現:系統中在連續不停地、反覆進行一個操作(先開啟A,然後切替到畫面B,點擊畫面履曆再回到A,如此反覆)。經過長時間的測試,經常會20小時,JVM的記憶體使用量量增長30M以上。 問題的分析:首先根據操作,找到會執行的代碼,對代碼進行分析。Java會產生記憶體泄露的原因,經過本次調查,1. 對於開啟的socket等資源,沒有做及時的回收處理。2. 生存周期較長的對象,持有了生存周期較短的對象的引用,以至於那些生存
Time of Update: 2018-12-03
採用Java實現資料結構中的順序表/** *Apr 15, 2013 *Copyright(c)JackWang *All rights reserve *@Author <a href="mailto:wangchengjack@163.com">JackWang</a>*/package com.example.list;/** * 順序表的實現 * @author Administrator * */public class MySeqList {private
Time of Update: 2018-12-03
import java.io.FileInputStream;import java.util.Properties;public class LoadPropertiesTest { private Properties prop = null; LoadPropertiesTest() { prop = new Properties(); } public void load(String path) { FileInputStream
Time of Update: 2018-12-03
串連池管理類 import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Vector;import com.mysql.jdbc.Driver;/** * ConnectionManager * * 資料庫連接 * * @author bzwm * * @version 1.0 */public class ConnectionManager {
Time of Update: 2018-12-03
1.在物件導向的程式設計語言中,多態是繼承資料抽象和繼承之後的第三基本特徵。2.“封裝”通過合并特徵和行為來建立新的資料類型。3.“實現隱藏”則通過將細節“私人化”,把介面和實現分離開來。4.多態的作用則是消除類型之間的耦合關係。5.耦合就是指兩個或兩個以上的實體相互依賴於對方的一個量度。6.多態也稱作動態綁定、後期綁定或運行時綁定。7.將一個方法調用同一個方法主體關聯起來被稱作“綁定”。8.“前期綁定”:程式執行前進行的綁定,由編譯器和串連程式實現。物件導向的語言不需要選擇就預設的綁定方式。9