3/27/2014
4:11:00 PM 0

JavaScript this 用法

JavaScript 是個 prototype based 的語言,有些觀念與物件導向不太相同,this 的用法就是其中一例,在 JavaScript 中, this 代表指向呼叫該函式的物件, 也就是函數的擁有者,而且在程式執行過程中 this 不可被重新指派 global context 中的 this global context 中的 this 指向 global object, 若在瀏覽器中執行 this 指向 window 物件 console.log(this === window);//true 一般函式中的 this 當我們使用 function func1(){} 的方式宣告函數時, 函數的擁有者是 global object, 所以 this 指向 global object function func1() { return this; } var obj = { func1 : func1 };//建立物件與函式的連結 obj.func1 === this.func1;//true obj.func1() ===...
3/26/2014

Eclipse 正式支援 Java 8

Java 8 已於 2014/3月18 發布 , Eclipse 4.4 從 I20140318-0830 這個版本開始正式支援 Java 8 Eclipse Project 4.4.0 頁面 : http://projects.eclipse.org/projects/eclipse/releases/4.4.0 Eclipse Project 下載頁面 : http://download.eclipse.org/eclipse/downloads/ Eclipse 4.3 的使用者也可透過安裝 feature patch 的方式來支援 Java 8 新功能 https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kep...
3/19/2014
1:24:00 PM 0

Fibonacci numbers (斐波那契數列)

義大利數學家 Fibonacci 所發明,他描述兔子生長的數目時用上了這數列,假設兔子每個月都會生產小兔子,如此不停的繁衍,且兔子永不死去 此數列常在程式演算法的教科書中出現,數列的解法有很多種,以下列出幾個簡單的 Java 程式解法 簡單表達式 F0 = 0 F1 = 1 Fn = Fn-1 + Fn-2 遞迴解法 public long fib(int n) { if (n < 2) return n; else return fib(n - 1) + fib(n - 2); } 迴圈解法 public long fib(int n) { if (n < 2) return n; long x = 0L; long y = 1L; long temp = 0L; for (int i = 2; i <= n; i++) { temp = y; y = x + y; x = temp; ...
3/12/2014
6:04:00 PM 0

GoDaddy 設定將 domain.com 轉址到 www.domain.com

GoDaddy 設定將 domain.com 轉址到 www.domain.com
首先使用個人帳號登入 在 Products 管理畫面上, 展開 DOMAINS 的下拉表格, 按下 Launch 按鈕 修改 Domain Settings 內的 Forwarding 設定 按下 Add one now 輸入 Forwarding to 的網址 按下 Save 設定完成 完成後的畫面如下, 稍後片刻設定才會生效...
3:48:00 PM 0

Java 8 Functional Interface

Java 8 新增了 lambda expression 的新概念, 如果要將 method 當作參數傳遞, 就要先定義所需的函式介面(Functional Interface) 什麼是函式介面呢? 簡而言之就是 interface 中, 只定義了一個可被 implement 的抽象 method Java 內建的函式介面有很多,像是 java.lang.Runnable, java.util.concurrent.Callable, java.util.Comparator,這些 interface 的共同點就是只定義了一個抽象 method, 因為只定義了一個抽象 method, 當在程式中使用 lamdba expression 時, 編譯器自然知道是 implement interface 中的哪個 method Java8 新增了一個 annotation : @FunctionalInterface, 如果在一個不是 functional interface 的 interface 用這個 annotation, compiler...
3/05/2014
5:46:00 PM 0

Java ThreadLocal

ThreadLocal 的用途 : ThreadLocal 是在多執行緒中儲存變數值的方式,當不同 thread 共用 ThreadLocal 實例,可設定和讀取屬於自身 Thread 的變數值而不相互干擾,用 thread local variable 來稱呼它或許更為恰當,其概念正好與 singleton 相反 ThreadLocal 提供 3 個 public method 與 1 個 protected method T get() protected T initialValue() void remove() void set(T value) ThreadLocal 內部儲存值的方式, 其實是利用到 thread 實例中的 threadLocals 實例變數(instance variable),threadLocals 是個類似於 HashMap 的物件, ThreadLocal 將自身實例當作 key, 將 set 的值設定到 threadLocals 物件參考中 ThreadLocal set method source...
3/04/2014

解決更新 Java 版本後 Applet 無法執行的問題

解決更新 Java 版本後 Applet 無法執行的問題
在過去的 Web 上使用 Java Applet 是相當受歡迎的的技術之一,但 Applet 與一般的 Java 應用程式不同,瀏覽器必需加入 Java Plug-In 才可在瀏覽器上正確執行 如果最近你在 Windows 上做了 Java Update,升級完後卻發現原本可正常瀏覽的 Applet 卻無法執行,可檢查以下設定 設定 Applet 的 Java Runtime 版本 開啟 Java 控制面板 開始 > 設定 > 控制台 > Java, 點擊 Java icon 就可以開啟 Java 控制面板, 如果在 Windows 控制台中找不到可以到 JRE 的安裝目錄下尋找 javacpl.exe 並執行 (ex: Java\jre7\bin\javacpl.exe) 指定 Java Runtime 版本 Java 控制面板 > Java 頁籤 > 檢視 按鈕 > 依需求勾選已啟用欄位 Applet 執行時可從 console 觀察 Applet 執行時所使用的 JRE 版本 設定...