Time of Update: 2018-12-05
(1) 類名首字母應該大寫。欄位、方法以及對象(控制代碼)的首字母應小寫。對於所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定義中出現了常數初始化字元,則大寫static final基本類型標識符中的所有字母。這樣便可標誌出它們屬於編譯期的常數。 Java包(Package)屬於一種特殊情況:它們全都是小寫字母,即便中間的單詞亦是如此。對於網域名稱副檔名稱,如com,
Time of Update: 2018-12-05
在JSP裡,擷取用戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效。但是在通過了Apache,Squid等反向 Proxy軟體就不能擷取到用戶端的真實IP地址了。如果使用了反向 Proxy軟體,將http://192.168.1.110:2046/ 的URL反向 Proxy為http://www.xxx.com/ 的URL時,用request.getRemoteAddr()方法擷取的IP地址是:127.0.0.1 或 192.168.1.1
Time of Update: 2018-12-05
【賽迪網-IT技術報道】Abstractclass和interface是Java語言中對於抽象類別定義進行支援的兩種機制,正是由於這兩種機制的存在,才賦予了Java強大的物件導向能力。abstractclass和interface之間在對於抽象類別定義的支援方面具有很大的相似性,甚至可以相互替換,因此很多開發人員在進行抽象類別定義時對於abstractclass和interface的選擇顯得比較隨意。其實,兩者之間還是有很大的區別的,對於它們的選擇甚至反映出對於問題領域本質的理解、對於設計意圖
Time of Update: 2018-12-05
簡單原廠模式 Factory 方法模式 抽象原廠模式 原廠模式在開發中的運用 單例模式 原型模式 建造者模式 裝飾模式 策略模式 觀察者模式 享元模式 代理模式 面板模式 組合模式 橋接模式 適配器模式 解譯器模式 中介者模式 職責鏈模式 迭代模式 模板方法模式 備忘錄模式 訪問者模式 狀態模式 命令模式 開放-封閉原則 裡氏轉換原則 依賴倒轉原則 迪米特法則 設計模式總結
Time of Update: 2018-12-05
package com.yemaozi.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class ReflectTest { /** * 通過java的反射機制擷取類的所有屬性和方法 */ public void test1() { try {
Time of Update: 2018-12-05
必須用this關鍵字的三種情況:
Time of Update: 2018-12-05
下述十四個技巧,是許多人在大量的資料庫分析與設計實踐中,逐步總結出來的。對於這些經驗的運用,讀者不能生幫硬套,死記硬背,而要消化理解,實事求是,靈活掌握。並逐步做到:在應用中發展,在發展中應用。 1. 原始單據與實體之間的關係
Time of Update: 2018-12-05
l JBS 1.列舉出 10個JAVA語言的優勢 a:免費,開源,跨平台(平台獨立性),簡單易用,功能完善,物件導向,健壯性,多線程,結構中立,公司專屬應用程式的成熟平台, 無線應用 2.列舉出JAVA中10個物件導向編程的術語 a:包,類,介面,對象,屬性,方法,構造器,繼承,封裝,多態,抽象,範型 3.列舉出JAVA中6個比較常用的包
Time of Update: 2018-12-05
(一)Java 能幹什麼 java是現在最火熱的程式設計語言之一,java為什麼能這麼受歡迎?java到底能做什嗎?java私塾為大家最一個簡單的介紹。 Java 能做的事情很多,涉及到編程領域的各個方面。 1:案頭級應用:尤其是需要跨平台的案頭級應用程式。 先解釋一下案頭級應用:簡單的說就是主要功能都在我們本機上啟動並執行程式,比如word、excel
Time of Update: 2018-12-05
CopyOnWriteArrayList 一、簡介 JDK5中添加了新的concurrent包,其中包含了很多並發容器,這些容器針對多線程環境進行了最佳化,大大提高了容器類在並發環境下的執行效率。
Time of Update: 2018-12-05
transient是Java語言的關鍵字,用來表示一個域不是該對象序列化的一部分。當一個對象被序列化的時候,transient型變數的值不包括在序列化的表示中,然而非transient型的變數是被包括進去的!public class User implements Serializable{private static final long serialVersionUID = 1L;private Integer id;transient private String
Time of Update: 2018-12-05
一、簡介 BlockingQueue介面定義了一種阻塞的FIFO queue,每一個BlockingQueue都有一個容量,讓容量滿時往BlockingQueue中添加資料時會造成阻塞,當容量為空白時取元素操作會阻塞。ArrayBlockingQueue是對BlockingQueue的一個數組實現,它使用一把全域的鎖並行對queue的讀寫操作,同時使用兩個Condition阻塞容量為空白時的取操作和容量滿時的寫操作。二、具體實現
Time of Update: 2018-12-05
首先來個簡單那的執行個體: package cn.vicky;import java.util.Timer;import java.util.TimerTask;public class MyTimer {private int i = 1;private void change(long time){System.out.println("one : " + i);final Timer timer = new Timer();timer.schedule(new
Time of Update: 2018-12-05
一、簡介 ConcurrentHashMap是Map的一種並發實現,在該類中元素的read操作都是無鎖了,而write操作需要被同步。這非常適合於讀操作遠大於寫操作的情況。在實現過程中,ConcurrentHashMap將所有元素分成了若干個segment,每個segment是獨立的,在一個segment上加鎖並不影響其他segment的操作。segment本身是一個hashtable,對於一個加入ConcurrentHashMap的<key,
Time of Update: 2018-12-05
import org.junit.Test;public class ConstructorTest {@Test @SuppressWarnings("unchecked")public void testConstructor(){try {Class clazz = Class.forName("cn.vicky.utils.User");Method method = clazz.getDeclaredMethod("getName");Constructor<? extends
Time of Update: 2018-12-05
這裡,我不用什麼理論方式講述記憶體回收機制原理.我只通過2個簡單的程式,探討我對Java 記憶體回收機制的理解.畢竟很多東西,理論的術語可能沒有直觀的測試更好. package cn.vicky.chapt14;/** * * @author Vicky.H */public class FinalizeTest { public static void main(String[] args) throws InterruptedException {
Time of Update: 2018-12-05
我們都知道TCP是連線導向的傳輸層協議,一個socket必定會有綁定一個串連,在普通的BIO(阻塞式IO)中,需要有三向交握,然後一般的socket編程就是這樣的形式。Socket伺服器端流程如下:載入通訊端->建立監聽的通訊端->綁定通訊端->監聽通訊端->處理用戶端相關請求。 Socket用戶端同樣需要先載入通訊端,然後建立通訊端,不過之後不用綁定和監聽了,而是直接連接伺服器,發送相關請求。
Time of Update: 2018-12-05
上一篇文章,主要講述的是c程式中fork()子進程的調試,其核心思想無外乎是遠端偵錯的一部分.這裡我將講述,java的遠端偵錯. 參見,小石頭的文章:http://www.blogjava.net/yongbing/articles/221179.html 主要講述要調試的java程式運行參數.首先,JAVA自身支援調試功能,並提供了一個簡單的調試工具--JDB,類似於功能強大的GDB,JDB也是一個字元介面的調試環境,並支援設定斷點,支援線程線級的調試。JAVA的調試方法如下:1。首先支援JV
Time of Update: 2018-12-05
時候,我們需要產生一個資料,這個資料儲存了使用者的資訊,但加密後仍然有可能被人使用,即便他人不確切的瞭解詳細資料...好比,我們在上網的時候,很多網頁都會有一個資訊,是否儲存登入資訊,以便下次可以直接登入而不必再次輸入賬戶,密碼等...而通常這樣需要Cookie儲存使用者資訊,當然,這個資訊是加密資訊,且一般都加了時間戳記等驗證資訊的...
Time of Update: 2018-12-05
package cn.vicky.utils;import java.security.MessageDigest;public class MD5 {//private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",//"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };/////**// * 轉換位元組數組為16進位字串// * // * @param b//