Time of Update: 2018-07-27
單例模式 單例模式在程式設計中使用的頻率非常之高,其設計的目的是為了在程式中提供唯一一個對象(保證只被構造一次),例如寫入日誌的log對象,windows的工作管理員實現(只能開啟一個)。這裡主要介紹單例模式使用Java的實現(包括餓漢式及懶漢式)。 實現 這裡使用Log類作為例子,Log對象需要在程式中只有一個對象且只初始化一次。 餓漢式 餓漢式的單例模式理解起來是比較容易的,就是在單例類載入的時候就初始化需要單例的對象。實現也比較容易。 public class
Time of Update: 2018-07-27
一、類 類(class)是構造對象的模版或藍圖。簡單理解就是“人類”是一個類,小明這個人就是該類的一個對象。由類構造(construct)對象的過程成為建立類的執行個體(instance)。 二、對象 對象是類的一個執行個體,有狀態和行為。例如,小明是一個對象,他的狀態有:姓名、身高、體重等;行為有:跑、跳、吃等。 三、繼承 關鍵字extends表示繼承。關鍵字extends表明正在構造的新類派生於一個已經存在的類。已存在的類稱為超類(superclass)、基類(base
Time of Update: 2018-07-27
函數調用過程圖 函數解釋 函數名 作用 備忘 qydev 入口函數,供fab -f xx.file qydev使用 deploy_to_qydev 總執行函數,會被qydev函數調用,然後條用其他action函數 projct_update
Time of Update: 2018-07-27
這裡只是簡單的介紹下最基本的代理的使用。 代理,通俗點說 :就是一個人或者一個機構代表另一個人或者另一個機構採取行動。 在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶 端和目標對象之前起到中介的作用。代理模式給某一個對象提供一個代理對象,並由代理對象控制對原對象的引用。 UML圖 從上面的圖我們能看到代理涉及的角色: 抽象對象角色:聲明了目標對象和代理對象的共同介面,
Time of Update: 2018-07-27
參考文檔: http://www.blogjava.net/xylz/archive/2010/07/04/325206.html http://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.html http://www.searchsoa.com.cn/showcontent_69238.htm
Time of Update: 2018-07-27
本文內容基於 Oracle Java 官方文檔,經過個人實踐加以整理積累,僅供參考。 1 java.time.Month 是枚舉類型,由 12 個常量組成,代表 1 月至 12 月 /* =================== 範例程式碼 =================== */package test;import java.time.Month;import org.junit.Test;public class DateTimeTest { @Test
Time of Update: 2018-07-27
java5阻塞隊列的應用 隊列包含固定長度的隊列和不固定長度的隊列,先進先出。 固定長度的隊列往裡放資料,如果放滿了還要放,阻塞式隊列就會等待,直到有資料取出,空出位置後才繼續放;非阻塞式隊列不能等待就只能報錯了。
Time of Update: 2018-07-27
冒泡排序演算法(JAVA) 一、 概要 前天,有人問下排序演算法的實現,所以抽時間寫了個冒泡排序演算法。冒泡排序演算法的原理是從第一個數開始,依次用當前的數與後面的每個數進行比較,如果當前數大於後面的任何一個數字,都交換當前兩個數的位置。在資料比較小的時候使用冒泡排序演算法效率還可以(10000長度的整形數組排序大概351ms),但是數組比較長的時候冒泡排序的效率比較低,可以採用快排或者歸併。 二、 代碼 冒泡演算法的關鍵代碼如下:
Time of Update: 2018-07-27
今天遇到一個問題,需要把資料先取到記憶體中,再進行分頁操作返回指定頁碼的資料。記錄一下通過subList方法來返回資料: import java.util.ArrayList;import java.util.List;/** * Create by zxb on 2017/5/10 */public class SubListTest { public static void main(String[] args) throws ClassNotFoundException {
Time of Update: 2018-07-27
本文內容大多基於官方文檔和網上前輩經驗總結,經過個人實踐加以整理積累,僅供參考。 join() 方法是 java.lang.Thread 類的執行個體方法,方法簽名 public final void join() throws InterruptedException public final void join(long millis) throws InterruptedException public final void join(long millis,
Time of Update: 2018-07-27
通過JNI調用C程式實現"Hello World!"輸出,掌握此方法可以很方便地將Java函數用C/C++實現。 確定安裝成功Java,本機上因為工程需要,已經安裝幾個jdk版本,執行java -version root@wang:~/jni# java -version openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~
Time of Update: 2018-07-27
我自己用暴力解法發現不能通過,其中有一個測試案例使用的單個字串非常長 My Code如下 public class Solution { public int maxProduct(String[] words) { int max = 0; Arrays.sort(words, new Comparator<String>(){ public int compare(String a, String b){
Time of Update: 2018-07-27
搞社區APP的時候,需要實現這個功能: String filetext = "//@張小名: 25分//@李小花: 43分//@王力: 100分"; Pattern p = Pattern.compile("\\@(.*?)\\:");//Regex,取=和|之間的字串,不包括=和| Matcher m = p.matcher(filetext); while(m.find()) {
Time of Update: 2018-07-27
使用情境 增強for迴圈只能用在數組,或者實現Iterable介面的集合類上 文法格式: for(變數類型 變數 :需要迭代的數組或集合){ } import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.
Time of Update: 2018-07-27
上一篇,主要介紹了檔案類File和RandomAccessFile類的用法。接下來,我覺得還是將IO流分為位元組流和字元流兩部分介紹比較好。這樣不至於搞混亂,同時也便於對比。這一篇主要介紹位元組流。 1、位元組流 首先上一張位元組流的家族圖譜。 位元組流主要分為兩部分:InputStream、OutputStream。InputStream抽象了應用程式讀取資料的方式,OutputStream抽象了應用程式寫出資料的方式。 注意有時會碰到EOF(即End Of File),
Time of Update: 2018-07-27
G1全稱是Garbage First Garbage Collector,使用G1的目的是簡化效能最佳化的複雜性。例如,G1的主要輸入參數是初始化和最大Java堆大小、最大GC停機時間。 G1 GC由Young Generation和Old
Time of Update: 2018-07-27
以往學習中的一個模糊點: java中堆棧(stack)和堆(heap) 一、堆棧(stack)和堆(heap)。 (1)記憶體配置的策略 按照編譯原理的觀點,程式運行時的記憶體配置有三種策略,分別是靜態,棧式的,和堆式的.
Time of Update: 2018-07-27
AVA中位元運算符包括: & | ~ ^ << >> >>> 一、 首先要搞清楚參與運算的數的位元: ( 聯想:java的8種基本類型:byte,short, char, int, long,float,double,boolean.
Time of Update: 2018-07-27
import java.util.*; public class Main{ static int a = 0; static int b = 0; static int c = 0; static int d = 0; static int e = 0;
Time of Update: 2018-07-27
Object to Map 轉換的三種方法 就是把對象以及其對應的屬性名稱 和屬性值, 映射到一個Map中 import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import