Time of Update: 2017-01-19
本文所述為Java Base64加密、解密編碼異常處理類,代碼雖然很簡短,但是可以有效避免在採用Base64加解密時候執行出錯的問題,這裡使用了com.gootrip.util包,並引入了java.io的所有方法。具體功能代碼如下:package com.gootrip.util;import java.io.*;public class Base64DecodingException extends IOException { private char c; public
Time of Update: 2017-01-19
Java設計模式的中介者模式是行為模式之一。定義一個中介對象來封裝系列對象之間的互動。中介者使各個對象不需要顯式地相互引用,從而使其耦合性鬆散,並且可以獨立地改變他們之間的互動。如下圖所示:生產者、消費者、代理商之間的中介模式執行個體:public abstract class PersonColleague{ protected Mediator mediator; public Mediator getMediator() { return mediator; }
Time of Update: 2017-01-19
Java設計模式的模板方法模式定義一個操作中演算法的架構,而將一些步驟延遲到子類中,使得子類可以不改變演算法的結構即可重定義該演算法中的某些特定步驟。屬於行為類模式如下圖所示:事實上,模版方法是編程中一個經常用到的模式。先來看一個例子,某日,程式員A拿到一個任務:給定一個整數數組,把數組中的數由小到大排序,然後把排序之後的結果列印出來。經過分析之後,這個任務大體上可分為兩部分,排序和列印,列印功能好實現,排序就有點麻煩了。但是A有辦法,先把列印功能完成,排序功能另找人做。abstract
Time of Update: 2017-01-19
對於使用過宏的朋友應該知道,利用宏可以實現一個鍵綁定多個技能。例如如果排在前面的技能有CD,則跳過此技能,執行之後的技能。記得曾經玩DK,打怪的時候,就是用一個鍵,一直按就行了。在servlet裡的doGet和doPost方法,我們一般都把doGet請求發動到doPost裡來處理,這也是一種責任鏈的模式。這裡,有個宏,綁定了“冰血冷脈”和“寒冰箭”兩個技能,程式執行個體如下所示:package responsibility;/** * DOC 技能介面,要綁定的技能都要實現這個介面 *
Time of Update: 2017-01-19
Java的建立者模式與原廠模式有點類似,不過關注點不同。原廠模式往往只關心你要的是什麼,而不關心這個東西的具體細節是什麼。相對而言建立模式則是關心這個東西的具體細節的建立。拿建立人物來說,我們關心的不僅是建立一個人物,還要關心他的性別,膚色和名字,則可以使用建立者模式。程式執行個體如下所示:package builder;/** * * DOC 種族角色 * */public class Race { private String name;// 名字 private String
Time of Update: 2017-01-19
本文舉例說明兩種適配器模式,即類適配模式和對象適配模式,詳情如下:1.類適配模式:舉個例子來說明:在地球時代,所有坐騎都是只能跑,不能飛的,而現在很多坐騎在地球都可以飛了。假設,地球時代的坐騎只能跑,而現在的坐騎不僅能飛還能跑,我們可以用類適配模式來實現。這裡需要注意的是,適配器繼承源類,實現目標介面。範例程式碼如下:package adapter;/** * DOC 源 * */public class Sources { public void run() {
Time of Update: 2017-01-19
本文執行個體主要實現Java拖曳滑鼠畫線的功能,為了達到畫線的功能,分別用implements MouseListener與MouseMotionListener,並且由mousePressed(),mouseReleased()取得滑鼠拖曳的開始與結束座標。這是一個掌握Java滑鼠事件的很好的範例。具體實現代碼如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MouseDemo
Time of Update: 2017-01-19
本文執行個體講述了Java利用滑鼠的拖放來實現交換程式資料的方法,即所謂的滑鼠拖放功能。滑鼠的拖放功能在圖形化系統中非常常用,Java 提供了java.awt.dnd 和java.awt.datatransfer 包來支援該功能。本例示範如何在程式中實現拖放的實現方法,當在視窗上部的“Hello World!”標籤點下滑鼠,並拖至視窗下部的文字框放開,則在文字框中將添加“Hello World
Time of Update: 2017-01-19
本文執行個體說明了Java載入JDBC驅動程式的方法,運行本文執行個體代碼後,如果串連成功就會顯示如下一條語句:sun.jdbc.odbc.JdbcOdbcDriver@6ec12,如果串連不成功,則顯示載入資料庫驅動程式出現異常。Java載入JDBC的實現方法:通過調用Class.forName()方法可以顯式地載入一個驅動程式。該方法的入口參數為要載入的驅動程式。例如:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")語句載入了SUN
Time of Update: 2017-01-19
通常用java來打包檔案產生壓縮檔後,有如下兩個地方會出現亂碼
Time of Update: 2017-01-19
本文執行個體主要講述了Java產生CSV檔案的方法,具體實現步驟如下:1、建立CSVUtils.java檔案:package com.saicfc.pmpf.internal.manage.utils;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import
Time of Update: 2017-01-19
Java就是用來做項目的!Java的主要應用領域就是企業級的項目開發!要想從事企業級的項目開發,你必須掌握如下要點:1、掌握項目開發的基本步驟2、具備極強的物件導向的分析與設計技巧3、掌握用例驅動、以架構為核心的主流開發方法沒有人願意自己一輩子就滿足於掌握了一些代碼實現的技巧,別人告訴你要實現什麼,你就用代碼堆砌來實現別人的要求!你必須學會從整個項目的角度去思考!你必須學會假如你是專案經理,你該如何思考!你必須學會假如你是架構師,你該如何思考!你必須掌握針對某個特定問題領域的分析方法!關於基礎t
Time of Update: 2017-01-19
Java標準API中有個Robot類,該類可以實現螢幕截圖,類比滑鼠鍵盤操作這些功能。這裡只展示其螢幕截圖。 截圖的關鍵方法createScreenCapture(Rectangle rect) ,該方法需要一個Rectangle對象,Rectangle就是定義螢幕的一塊矩形地區,構造Rectangle也相當容易:new Rectangle(int x, int y, int width, int
Time of Update: 2017-01-19
本文執行個體講述了Java使用JDBC串連資料庫的實現方法,是Java資料庫程式設計裡非常實用的重要技巧。分享給大家供大家參考。具體如下:JDBC(Java Data Base Connectivity)資料庫連接,通常我們在編寫web應用或java應用程式要串連資料庫時就要使用JDBC。使用JDBC串連資料庫一般步驟有:1、載入驅動程式Class.forName(driver);2、建立連線物件Connection con =
Time of Update: 2017-01-19
本文執行個體分析了Java的異常機制,分享給大家供大家參考。相信有助於大家提高大家Java程式異常處理能力。具體分析如下:眾所周知,java中的異常(Exception)機制很重要,程式難免會出錯,異常機制可以捕獲程式中的錯誤,用來提高程式的穩定性和健壯性。java中的異常分為Checked Exception(非Runtime Exception)和UnChecked Exception(Runtime
Time of Update: 2017-01-19
連續6個奇數a,a+2,a+4,a+6,a+8,a+10都是合數,求最小的a的暴力解法。先上結果,後面貼上代碼:1次連續n=9,連續值個數: 1;耗時: 0ms,總計: 0ms2次連續n=25,連續值個數: 1;耗時: 0ms,總計: 0ms3次連續n=91,連續值個數: 1;耗時: 0ms,總計: 0ms4次連續n=115,連續值個數: 3;耗時: 0ms,總計: 1ms5次連續n=115,連續值個數: 3;耗時: 0ms,總計: 1ms6次連續n=115,連續值個數: 3;耗時:
Time of Update: 2017-01-19
本文以執行個體形式講述了Java基於高精度整型實現fibonacci數列的方法,分享給大家供大家參考之用。具體方法如下:package com.java.learning.recursion;import java.math.*;public class MainClass { public static void main(String args[]){ for(int i = 0; i < 100; i++){ f(i+1); } } public
Time of Update: 2017-01-19
在看KMP演算法時,想要簡單的統計一下執行時間和效能。得出的結論是: Java的String的indexOf方法效能最好,其次是KMP演算法,其次是傳統的BF演算法,當然,對比有點牽強,SUN的演算法也使用Java來實現、用的看著不像是KMP,還需要詳細研究一下。測試代碼如下所示:package com.test.test.kmp;import java.util.Random;public class KMPTest {public static void main(String[]
Time of Update: 2017-01-19
1、定義一個Java數組String[] aArray = new String[5];String[] bArray = {"a","b","c", "d", "e"};String[] cArray = new String[]{"a","b","c","d","e"};第一種是定義了一個數組,並且指定了數組的長度,我們這裡稱它為動態定義。第二種和第三種在分配記憶體空間的同時還初始化了值。2、列印Java數組中的元素int[] intArray = { 1, 2, 3, 4, 5
Time of Update: 2017-01-19
首先, 我必須得承認,作為一個有著十多年開發經驗的java開發人員,我已經形成瞭解決絕大部分問題的固有套路,儘管它們很多時候顯得笨重和繁瑣。 比如說如果要讀取一個檔案,那應該就是初始化一個BufferedReader