switch語句的格式如下:(它的功能是選出一段代碼執行) 複製代碼 代碼如下:switch(整數選擇因子) { case 整數值1 : 語句; break; case 整數值2 : 語句; break; case 整數值3 : 語句; break; case 整數值4 : 語句; break; case 整數值5 : 語句; break; ... default:語句; } 但是要注意幾點如下:
Java中的List是可以包含重複元素的(hash code 和equals),那麼對List進行去重操作有兩種方式實現: 方案一:可以通過HashSet來實現,代碼如下: 複製代碼 代碼如下:class Student { private String id; private String name; public Student(String id, String name) { super(); this.id = id; this.name = name; } @Override
當你把介面都設計好了,總需要添加相應的執行動作給組件,在JAVA中有相應的時間處理機制,叫做“監聽器”,給組件添加相應執行動作的過程叫做“註冊”,其中的“監聽器”是一個介面,裡麵包含了相應的執行函數,要做的是自己實現其中的方法函數,然後“註冊”給組件,通俗一點的話就是老媽讓我去買醬油,老媽不關心我會轉過幾天街道,會怎樣和老闆到討價還價怎樣回家,老媽需要的最終結果是我能夠將醬油交付到她的手中,期中買醬油的過程是我實現的,我就是事件處理機制裡面的“監聽器”接受老媽的指示,老媽讓我買醬油去,就是對應將
一、Java中斷的現象 首先,看看Thread類裡的幾個方法: public static boolean interrupted測試當前線程是否已經中斷。線程的中斷狀態 由該方法清除。換句話說,如果連續兩次調用該方法,則第二次調用將返回 false(在第一次調用已清除了其中斷狀態之後,且第二次調用檢驗完中斷狀態前,當前線程再次中斷的情況除外)。public boolean isInterrupted()測試線程是否已經中斷。線程的中斷狀態 不受該方法的影響。public void
Java反射學習 所謂反射,可以理解為在運行時期擷取物件類型資訊的操作。傳統的編程方法要求程式員在編譯階段決定使用的類型,但是在反射的協助下,編程人員可以動態擷取這些資訊,從而編寫更加具有可移植性的代碼。嚴格地說,反射並非程式設計語言的特性,因為在任何一種語言都可以實現反射機制,但是如果程式設計語言本身支援反射,那麼反射的實現就會方便很多。 1,獲得類型類
N皇后問題是一個典型的約束求解問題,利用遞迴機制,可以很快的得到結果。 N皇后問題的描述: 在一個n*n的棋盤上,擺放n個皇后,要求每個皇后所在行、列、以及兩個對角線上不能出現其他的皇后,否則這些皇后之間將會相互攻擊。如所示。 利用遞迴機制,可以很容易的求解n皇后問題。針對八皇后,總共有92種解。下面將給出N-皇后問題的一般求解代碼,在這裡代碼是使用java編碼的。 總共設計了三個類,一個是皇后類(Queen),一個棋盤類(Board),一個是求解主程式類(NQueens)。具體代碼如下:
匿名類是不能有名稱的類,所以沒辦法引用它們。必須在建立時,作為new語句的一部分來聲明它們。這就要採用另一種形式的new語句,如下所示: new <類或介面> <類的主體>
有這樣一個需求,需要將原本儲存在資料庫中的文檔轉存至檔案系統中,於是寫了一個簡單的程式完成此功能,代碼如下: Java代碼 複製代碼 代碼如下:import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager;
什麼是線程同步? 當使用多個線程來訪問同一個資料時,非常容易出現安全執行緒問題(比如多個線程都在操作同一資料導致資料不一致),所以我們用同步機制來解決這些問題。 實現同步機制有兩個方法: 1。同步代碼塊: synchronized(同一個資料){} 同一個資料:就是N條線程同時訪問一個資料。 2。 同步方法: public synchronized 資料傳回型別 方法名(){} 就是使用 synchronized
含有abstract修飾符的class即為抽象類別,abstract 類不能建立的執行個體對象。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class類中定義抽象方法必須在具體(Concrete)子類中實現,所以,不能有抽象構造方法或抽象靜態方法。如果的子類沒有實現抽象父類中的所有抽象方法,那麼子類也必須定義為abstract類型。
Queue ------------ 1.ArrayDeque, (數組雙端隊列) 2.PriorityQueue, (優先順序隊列) 3.ConcurrentLinkedQueue, (基於鏈表的並發隊列) 4.DelayQueue, (延期阻塞隊列)(阻塞隊列實現了BlockingQueue介面) 5.ArrayBlockingQueue, (基於數組的並發阻塞隊列) 6.LinkedBlockingQueue, (基於鏈表的FIFO阻塞隊列) 7.LinkedBlockingDeque,
方法的重寫(Overriding)和重載(Overloading)是Java多態性的不同表現。重寫(Overriding)是父類與子類之間多態性的一種表現,而重載(Overloading)是一個類中多態性的一種表現。 如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。
final: 繼承的弊端:打破了代碼的封裝性,final的出現正好彌補了這一弊端 final關鍵字: 1-final是一個修飾符,可以修飾類,方法,變數; 2-final修飾的類不能被繼承 3-final修飾的方法不可以被覆蓋 4-final修飾的變數是一個常數,只能被賦值一次並且要在定義時就將其賦予某值 規則: 被定義final的常量要用大寫字母表示,各單詞之間用底線_來隔開. 執行個體一: class Father01{ final String FATHER01_NAME = "張三";
先來看看效果:測試一:原圖::測試二:原圖::代碼部分:複製代碼 代碼如下:/** * */ package com.b510; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Date; import java.util.
一個朋友的項目裡用到了fusionchart,同時需要提供多個報表的word下載功能。 毫無疑問,只是一個很棘手的問題。 fusionchart提供了服務端和用戶端產生圖片的功能,都是基於client端展示了flash以後做的。 朋友的項目是基於linux的,office本身的那套com機制是沒辦法通過jacob調用了。 純java的操作word,POI和docx4j,可以產生word文檔,table,插入圖片。
最近在一本J2EE的書中看到了很不錯的對集合架構的說明文章,篩選後發上來和大家共用,集合架構提供管理對象集合的介面和類.它包含介面,類,演算法,以下是它的各個組件的說明. Collection介面 Collection是最基本的集合介面,一個Collection代表一組Object,即Collection的元素(Elements)。一些Collection允許相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接繼承自Collection的類,Java
儘管我們通常認為通過JAVA的反射機制來訪問其它類的私人欄位和私人方法是可行的,其實並沒有那麼困難。 注釋:只有在單獨的JAVA程式中運行該代碼才有效,就像你做一些單元測試或者常規的程式。如果你嘗試在JAVA APPLET內使用該方法,你需要稍稍修改SecurityManager。但是,因為你不是經常需要與它打交道,這裡也就不再贅述了。 這裡是本次內容的列表: 1.訪問私人欄位。 2.訪問私人方法。 訪問私人欄位:
(一)斷點續傳的原理 其實斷點續傳的原理很簡單,就是在Http的請求上和一般的下載有所不同而已。 打個比方,瀏覽器請求伺服器上的一個文時,所發出的請求如下: 假設伺服器網域名稱為wwww.sjtu.edu.cn,檔案名稱為down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms- excel,
java註解是附加在代碼中的一些元資訊,用於一些工具在編譯、運行時進行解析和使用,起到說明、配置的功能。 註解不會也不能影響代碼的實際邏輯,僅僅起到輔助性的作用。包含在 java.lang.annotation 包中。 1、元註解 元註解是指註解的註解。包括 @Retention @Target @Document @Inherited四種。 1.1、@Retention: 定義註解的保留原則 Java代碼 複製代碼 代碼如下:@Retention(RetentionPolicy.SOURCE)
一、代理模式 代理模式是常用的java設計模式,特徵是代理類與委託類有同樣的介面,代理類主要負責為委託類預先處理訊息、過濾訊息、把訊息轉寄給委託類,以及事後處理訊息等。 代理類與委託類之間通常會存在關聯關係,一個代理類的對象與一個委託類的對象關聯,代理類的對象本身並不真正實現服務,而是通過調用委託類的對象的相關方法,來提供特定的服務。 按照代理的建立時期,代理類可以分為兩種: 靜態代理:由程式員建立或特定工具自動產生原始碼再對其編譯。在程式運行前代理類的.class檔案就已經存在了。 動態代理: