JAVA教程

JDK裡的設計模式 --轉

下面是JDK中有關23個經典設計模式的示例,在stakeoverflow也有相應的討論: http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns Structural(結構模式) Adapter:

Java FTP客戶端程式碼(一)

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import j

javac引數(-classpath, -sourcepath)

原創 javac引數(-classpath, -sourcepath)詳解 收藏 首先是官方說法: -classpath: 設定使用者類路徑,它將覆蓋 CLASSPATH 環境變數中的使用者類路徑。若既未指定 CLASSPATH 又未指定 -classpath,則使用者類路徑由當前目錄構成。

Java 併發核心程式設計(六)

6.3、Coordination classes java.util.concurrent包中有幾個類適用於常見的多執行緒通訊。這幾個協作類適用範圍幾乎涵蓋了使用wait/notify和Condition最常見的場景,而且更安全、更易於使用。 CyclicBarrier 在CyclicBarrier

Java記憶體模型2

注意:如果在同一個執行緒裡面通過方法呼叫去傳一個物件的引用是絕對不會出現上邊提及到的可見性問題的。JMM保證所有上邊的規定以及關於記憶體可見性特性的描述——一個特殊的更新、一個特定欄位的修改都是某個執行緒針對其他執行緒的一個“可見性”的概念,最終它發生的場所在記憶體模型中Java執行緒和執行緒之間,至於這個

java學習——NIO篇

Nio也就是繼JDK1.4之後關於io的新特性的new Io,也就是傳說中的無阻塞io。Nio主要包括幾個方面: ByteBuffer:Channel:Selector:原理部分下次再整理,本次主要是進行例項。下面要實現就是使用nio進行簡單的文字傳遞。 服務端: public class MainS

java之final, finally, finalize的區別

1. final 用於宣告屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。( 注意:如果是基本型別,說明變數本身不能改變;如果是引用型別,說明它不能指向其他的物件了,但物件還是可以改變的。) 2. finally是異常處理語句結構的一部分,表示無論是否出現異常總是執行。

java try finally

如下面的程式碼,結果就不解釋了。 Java程式碼 public class TryTest { public static void main(String[] args) { TryTest tt = new TryTest(); tt.test1(); Sys

Java 併發核心程式設計(四)

5、執行緒 在Java中,java.lang.Thread類是用來代表一個應用或者JVM執行緒。程式碼是在某個執行緒類的上下文環境中執行的(使用Thread.currentThread()來獲取當前執行的執行緒)。 5.1、執行緒通訊 執行緒之間最簡單的通訊方式是一個執行緒直接呼叫另一個執行緒物件的

Java 併發核心程式設計(五)

6、執行緒協作 6.1、wait/notify wait/notify關鍵字適用於一個執行緒通知另一個執行緒所需的條件狀態已就緒,最常用於執行緒在迴圈中休眠直到獲取特定條件的場景. 例如,一個執行緒一直等待直到佇列中有一個元件能夠處理;當元件新增到佇列時,另一個執行緒能夠通知這個等待的執行緒。 wa

java之try與finally語句(2)

接上一篇,跟上一篇程式碼差不多,就是修改了a的值為double型別。 整 型 不可以除以0,但double可以除以0 Java程式碼 public class TryTest { public static void main(String[] args) { TryTes

Java 併發核心程式設計(一)

  Java 併發核心程式設計 內容涉及: 1、關於java併發 2、概念 3、保護共享資料 4、併發集合類 5執行緒 6、執行緒協作及其他   1、關於java併發 自從java建立以來就已經支援併發的理念,如執行緒和鎖。這篇指南主要是為幫助java多執行緒開發人員理解併發的核心概念以

java漢字擷取問題

public class Test { public static void main(String[] args) { String str = "我ABC們DEF"; int n = 6; Test t = new Test(); String temp =

1.1976311206818