Time of Update: 2018-07-26
作業系統課程設計:實現進程間的同步。 有問題留言 import java.util.concurrent.Semaphore; /******** 訊號量 *******/ class Sign { final static int NUMS = 6; // 進程的數目 final static int RUN = 1; // 運行完 final static int STOP = 0; // 阻塞態 static int[]
Time of Update: 2018-07-26
問題提出 : 解析ejb-jar.xml,出現在網路連不上的情況下,解析失敗的情況。 問題分析: 我們使用的是DOM進行XML的解析的: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
Time of Update: 2018-07-26
某些應用情境下,我們設計服務的時候要考慮到應用停止/被停止 時做一些善後操作,比如:關閉線程、釋放串連資源等。 Java語言中,我們可以通過Runtime.getRuntime().addShutdownHook()方法來註冊鉤子,以保證程式平滑退出,如下: Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() {
Time of Update: 2018-07-26
轉自:http://blog.csdn.net/aaronuu/article/details/7007386 1,byte[] str.getBytes(String charsetName) 將str按指定的字元集charsetName解碼為字元數組. 返回用指定的字元集charsetName解碼後的字元數組。 2,String(byte[] bytes, String charsetName)
Time of Update: 2018-07-26
SPI 簡介 SPI 全稱為 (Service Provider Interface) ,是JDK內建的一種服務提供發現機制。 一個服務(Service)通常指的是已知的介面或者抽象類別,服務提供者就是對這個介面或者抽象類別的實現,然後按照SPI 標準存放到資源路徑META-INF/services目錄下,檔案的命名為該服務介面的全限定名。如有一個服務介面: package com.ricky.codelab.spi;public interface DemoService {
Time of Update: 2018-07-26
Only one JRE can be installed at a time. The system will notinstall a JRE that has a lower version than the current version. Ifyou wish to install a lower version of the JRE, first uninstall the current version. Installing a JRE from Oracle
Time of Update: 2018-07-26
概述 void是Java中的關鍵字,日常開發中經常遇到,Java main方法的定義中就有void的身影,如下: public static void main(String[] args) {} 學過Java的人都知道void的意思是空,如果你去問老手,老手會告訴你說:“void什麼都不是,你只要記住void就是空,在方法申明的時候表示該方法沒有傳回值”。 void是什麼。 Java語言是強型別(Strong typed)的,從方法申明的文法可以看出方法的定義必須有傳回值,
Time of Update: 2018-07-26
//關於http 需要兩個jar包 httpclient-4.0.jarhttpcore-4.0.1.jarprivate static final HttpClient httpClient = new DefaultHttpClient();try {//獲得密匙庫KeyStore trustStore = KeyStore.getInstance("jks");String keyStoreFile = "xxxxx.keystore";
Time of Update: 2018-07-26
在上一篇文章:Java SPI(Service Provider Interface)簡介 中對Java SPI機製做了簡單說明,並附上了一個具體的demo。對Java SPI不熟悉的同學可以去參閱一下那篇文章,本文不再贅述。 本文將在上一篇文章的基礎之上,結合JDK 1.7 源碼來剖析Java SPI的內部實現原理。 在上一篇文章中,我們通過如下代碼擷取Service的具體實現,代碼如下: import java.util.Iterator;import
Time of Update: 2018-07-26
定義:允許一個對象在其內部狀態發生改變時改變它的行為。對象看起來似乎修改了它的類。 類型:對象行為型模式 類圖: State模式主要解決的是在開發中時常遇到的根據不同的狀態需要進行不同的處理操作的問題,而這樣的問題,大部分人是採用switch-case語句 進行處理的,這樣會造成一個問題:分支過多,而且如果加入一個新的狀態就需要對原來的代碼進行編譯。State模式採用了對這些不同的狀態進行封裝的方式 處理這類問題,當狀態改變的時候進行處理然後再切換到另一種狀態,
Time of Update: 2018-07-26
在Eclipse中使用Maven建立一個Webapp項目,選擇如下archtype類型: 產生的項目結構如下: 預設產生的POM.XML檔案如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Time of Update: 2018-07-26
定義:動態給一個對象添加一些額外的職責。就增加功能來說,Decorator模式相比產生子類更為靈活。 類型:對象結構型模式 別名:封裝模式(Wrapper) 類圖:
Time of Update: 2018-07-26
定義:定義一系列演算法,將它們一個個封裝起來,並且使他們之間可以相互替換。本模式使得演算法可以獨立於使用它的客戶而變化。 類型:對象行為型模式 類圖:
Time of Update: 2018-07-26
//資料類型轉換 java中的基本類型都為有符號類型。從檔案讀取流中擷取的資料為byte數組,其中部分值為大於127的ascii值,這樣在向char數組中轉換時符號位會出錯,解決方案:如果該值大於127(也就是小於0),那麼為該值加256,從而校正符號位。範例程式碼如下: //從String擷取byte數組 int len = str.length(); byte[] ab = new
Time of Update: 2018-07-26
行為模式主要是責任和演算法的抽象化。行為模式不僅僅是關於類和對象的,而且是關於它們之間的相互作用的。行為模式分為類的行為模式和對象的行為模式兩種。 類的行為模式 類的行為模式使用繼承關係在幾個類之間分配行為。對象的行為模式 對象的行為模式則使用對象的彙總來分配行為。 行為模式包括: 策略模式 模板方法模式 觀察者模式 迭代器模式 責任鏈模式 命令模式 備忘錄模式
Time of Update: 2018-07-26
定義:為其他對象提供一種代理以控制對這個對象的訪問。 類型:對象結構型模式 類圖: Proxy模式涉及的角色 抽象主題角色(Subject):聲明了代理主題和真實主題的公用介面,使任何需要真實主題的地方都能用代理主題代替。
Time of Update: 2018-07-26
ScheduledExecutorService擴充了ExecutorService介面,提供定時執行任務的功能(類似Timer)。 API 說明 Method Desc schedule(Callable<V> callable, long delay, TimeUnit unit) 建立並執行在給定延遲後啟用的 ScheduledFuture。
Time of Update: 2018-07-26
編寫 一個test.proto檔案 option java_package = "com.proto"; option java_outer_classname = "FirstProtobuf"; message TestBuf { required int32 ID = 1; required string Url = 2; } 利用protoc.exe 產生java檔案: protoc.exe --java_
Time of Update: 2018-07-26
個人理解:回呼函數就是將一部分實現拋給客戶 package com.cy.test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class WorkImpl { public void work(CallBack callBack) { System.out.println("work start...");
Time of Update: 2018-07-26
在java應用程式開發中,經常需要讀取設定檔來擷取系統參數或配置資訊。設定檔可以使用xml格式檔案,在java中存在.properties檔案專門用作設定檔使用。在java中,類Properties用於處理設定檔相關的讀取。下面是一個關於根據所提供的鍵擷取值的樣本。 public static String getvalue(String key) { Properties p=new Properties(); FileInputStream fis; String url =