Archive

Posts Tagged ‘Java’

OCM Java SE 6 Developer認證概述

July 1st, 2011
Comments Off on OCM Java SE 6 Developer認證概述

OCM, Java SE 6 Developer認證是為開發人員感興趣的展示先進水平的Java編程語言使用Java SE。獲得OCM, Java SE 6 Developer認證考生必須成功完成兩個考試。先決條件考生必須經過認證Sun Certified Java Programmer (SCJP)任何版本。

前提條件:
Oracle Certified Professional, Java (SE 5 or SE 6) Programmer
OR Sun Certified Java Programmer (any edition)

OCM, Java SE 6 Developer認證要求完成2項考試:
1Z0-855:Java Standard Edition 6 Developer Certified Master Assignment (Step 1 of 2)
1Z0-856:Java Standard Edition 6 Developer Certified Master Essay Exam (Step 2 of 2)… Continue reading

Oracle ,

OCP Java Programmer 認證簡介

July 1st, 2011
Comments Off on OCP Java Programmer 認證簡介

OCP Java Programmer 認證原Sun Certified Java Programmer (SCJP)是經驗豐富的程序員使用Java編程語言,程序員了解基本語法和結構的Java編程語言和Java技術的應用可以創建運行在服務器和桌面系統使用J2SE 5.0。為了獲得OCP Java Programmer認證,考生必須成功完成一項考試。這是沒有必要成為一個認證的Java助理之前採取這一考試。

Oracle Certified Professional, Java SE 5 Programmer 認證要求完成1項考試:

1Z0-853:Java Standard Edition 5 Programmer Certified Professional Exam… Continue reading

Oracle , ,

Java入門需掌握的30個基本概念

March 22nd, 2011
Comments Off on Java入門需掌握的30個基本概念

1.OOP中唯壹關系的是對象的接口是什麽,就像計算機的銷售商她不管電源內部結構是怎樣的,他只關系能否給妳提供電就行了,也就是只要知道can or not而不是how and why.所有的程序是由壹定的屬性和行為對象組成的,不同的對象的訪問通過函數調用來完成,對象間所有的交流都是通過方法調用,通過對封裝對象數據,很大限度上提高復用率。

  2.OOP中最重要的思想是類,類是模板是藍圖,從類中構造壹個對象,即創建了這個類的壹個實例(instance)。

  3.封裝:就是把數據和行為結合起在壹個包中)並對對象使用者隱藏數據的實現過程,壹個對象中的數據叫他的實例字段(instance field)。

  4.通過擴展壹個類來獲得壹個新類叫繼承(inheritance),而所有的類都是由Object根超類擴展而得,根超類下文會做介紹。

  5.對象的3個主要特性

  behavior—說明這個對象能做什麽.

  state—當對象施加方法時對象的反映.

  dentity—與其他相似行為對象的區分標誌.

  每個對象有唯壹的indentity 而這3者之間相互影響.

  6.類之間的關系:

  use-a :依賴關系

  has-a :聚合關系

  is-a :繼承關系–例:A類繼承了B類,此時A類不僅有了B類的方法,還有其自己的方法.(個性存在於共性中)

  7.構造對象使用構造器:構造器的提出,構造器是壹種特殊的方法,構造對象並對其初始化。

  例:Data類的構造器叫Data

  new Data()—構造壹個新對象,且初始化當前時間.

  Data happyday=new Data()—把壹個對象賦值給壹個變量happyday,從而使該對象能夠多次使用,此處要聲明的使變量與對象變量二者
是不同的.new返回的值是壹個引用。

  構造器特點:構造器可以有0個,壹個或多個參數

  構造器和類有相同的名字

  壹個類可以有多個構造器

  構造器沒有返回值

  構造器總是和new運算符壹起使用.  
  8.重載:當多個方法具有相同的名字而含有不同的參數時,便發生重載.編譯器必須挑選出調用哪個方法。

  9.包(package)Java允許把壹個或多個類收集在壹起成為壹組,稱作包,以便於組織任務,標準Java庫分為許多包.java.lang java.util java,net等,包是分層次的所有的java包都在java和javax包層次內。

  10.繼承思想:允許在已經存在的類的基礎上構建新的類,當妳繼承壹個已經存在的類時,那麽妳就復用了這個類的方法和字段,同時妳可以在新類中添加新的方法和字段。11.擴展類:擴展類充分體現了is-a的繼承關系. 形式為:class (子類) extends (基類)。

  12.多態:在java中,對象變量是多態的.而java中不支持多重繼承。… Continue reading

Oracle , ,

java中的日期處理

March 16th, 2011
Comments Off on java中的日期處理

Java 語言的Calendar(日歷),Date(日期), 和DateFormat(日期格式)組成了Java標準的壹個基本但是非常重要的部分。 日期是商業邏輯計算壹個關鍵的部分。 所有的開發者都應該能夠計算未來的日期, 定制日期的顯示格式, 並將文本數據解析成日期對象。 我們寫了兩篇文章, 這是第壹篇, 我們將大概的學習日期, 日期格式, 日期的解析和日期的計算。
    我們將討論下面的類:
    1、具體類(和抽象類相對)java.util.Date
    2、抽象類java.text.DateFormat 和它的壹個具體子類,java.text.SimpleDateFormat
    3、抽象類java.util.Calendar 和它的壹個具體子類,java.util.GregorianCalendar
    具體類可以被實例化, 但是抽象類卻不能。 妳首先必須實現抽象類的壹個具體子類。
    Date 類從Java 開發包(JDK) 1.0 就開始進化, 當時它只包含了幾個取得或者設置壹個日期數據的各個部分的方法, 比如說月, 日, 和年。 這些方法現在遭到了批評並且已經被轉移到了Calendar類裏去了, 我們將在本文中進壹步討論它。 這種改進旨在更好的處理日期數據的國際化格式。 就象在JDK 1.1中壹樣, Date 類實際上只是壹個包裹類, 它包含的是壹個長整型數據, 表示的是從GMT(格林尼治標準時間)1970年, 1 月 1日00:00:00這壹刻之前或者是之後經歷的毫秒數。
    壹、創建壹個日期對象r
    讓我們看壹個使用系統的當前日期和時間創建壹個日期對象並返回壹個長整數的簡單例子。 這個時間通常被稱為Java 虛擬機(JVM)主機環境的系統時間。
    import java.util.Date;
    public class DateExample1 {
    public static void main(String[] args) {
   … Continue reading

java tech ,

Java的字符串拼接與性能

February 23rd, 2011
Comments Off on Java的字符串拼接與性能

在JAVA中拼接兩個字符串的最簡便的方式就是使用操作符”+”了。如果妳用”+”來連接固定長度的字符串,可能性能上會稍受影響,但是如果妳是在循環中來”+”多個串的話,性能將指數倍的下降。假設有壹個字符串,我們將對這個字符串做大量循環拼接操作,使用”+”的話將得到最低的性能。但是究竟這個性能有多差?如果我們同時也把StringBuffer,StringBuilder或String.concat()放入性能測試中,結果又會如何呢?本文將會就這些問題給出壹個答案!
  我們將使用Per4j來計算性能,因為這個工具可以給我們壹個完整的性能指標集合,比如最小,最大耗時,統計時間段的標準偏差等。在測試代碼中,為了得到壹個準確的標準偏差值,我們將執行20個拼接”*”50,000次的測試。下面是我們將使用到的拼接字符串的方法:

  Concatenation Operator (+)

  String concat method – concat(String str)

  StringBuffer append method – append(String str)

  StringBuilder append method – append(String str)

  最後,我們將看看字節碼,來研究這些方法到底是如何執行的。現在,讓我們先開始來創建我捫的類。註意為了計算每個循環的性能,代碼中的每段測試代碼都需要用Per4J庫進行封裝。首先我們先定義叠代次數

  1 private static  final int  OUTER_ITERATION=20;  2 private static final int INNER_ITERATION=50000;  接下來,我們將使用上述4個方法來實現我們的測試代碼。

  01 String addTestStr = “”;  02 String concatTestStr = “”;  03 StringBuffer concatTestSb = null;  04 StringBuilder concatTestSbu = null;  05 for (int outerIndex=0;outerIndex<=OUTER_ITERATION;outerIndex++) {  06     StopWatch stopWatch = new LoggingStopWatch(“StringAddConcat”);  07     addTestStr =… Continue reading

java tech ,

Java socket和多線程(Thread)實例

February 10th, 2011
Comments Off on Java socket和多線程(Thread)實例

1. socket通信:有客戶端和服務端的socket代碼。

  2. 多線程:客戶端和服務端各用壹線程發送信息;服務端另有壹監聽線程,用於把超時的信息刪除。

  這裏應用到了同步,使兩個線程可以操作同壹個map。

  代碼:(類全在同壹個包內)

  server端:

  import java.io.BufferedReader;

  import java.io.InputStreamReader;

  import java.io.PrintWriter;

  import java.net.ServerSocket;

  import java.net.Socket;

  import java.util.Collections;

  import java.util.concurrent.TimeUnit;

  import java.util.HashMap;

  import java.util.Map;

  public class ServerNet {

  // 以毫秒為單位

  private final static long timeLimit = 10000 ;

  private Map<String,String> map = Collections.synchronizedMap(new HashMap<String,String>());

  public void ServerSocketNet(){

  try{

  ServerSocket… Continue reading

java tech , ,

使用Java組件itext 生成pdf介紹

January 13th, 2011
Comments Off on 使用Java組件itext 生成pdf介紹

iText是壹個能夠快速產生PDF文件的java類庫。iText的java類對於那些要產生包含文本,表格,圖形的只讀文檔是很有用的。它的類庫尤其與java Servlet有很好的給合。使用iText與PDF能夠使妳正確的控制Servlet的輸出。

  壹、前言

  在企業的信息系統中,報表處理壹直占比較重要的作用,Java組件——iText可以非常快速的生成PDF報表。iText是著名的開放源碼的站點sourceforge壹個項目,是用於生成PDF文檔的壹個java類庫。通過iText不僅可以生成PDF或rtf的文檔,而且可以將XML、 Html文件轉化為PDF文件。通過在服務器端使用Jsp或 JavaBean生成PDF報表,客戶端采用超級連接顯示或下載得到生成的報表,這樣就很好的解決了B/S系統的報表處理問題了。

  二、iText簡介

  iText是著名的開放源碼的站點sourceforge壹個項目,是用於生成PDF文檔的壹個java類庫。通過iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html文件轉化為PDF文件。

  iText的安裝非常方便,在http://www.lowagie.com/iText/download.html – download 網站上下載iText.jar文件後,只需要在系統的CLASSPATH中加入iText.jar的路徑,在程序中就可以使用iText類庫了。

  三、建立第壹個PDF文檔

  用iText生成PDF文檔需要5個步驟:

  壹建立com.lowagie.text.Document對象的實例。

  Document document = new Document();

  二建立壹個書寫器(Writer)與document對象關聯,通過書寫器(Writer)可以將文檔寫入到磁盤中。

  PDFWriter.getInstance(document, new FileOutputStream(“Helloworld.PDF”));

  ③打開文檔。

  document.open();

  四向文檔中添加內容。

  document.add(new Paragraph(“Hello World”));

  伍關閉文檔。

  document.close();

  通過上面的5個步驟,就能產生壹個Helloworld.PDF的文件,文件內容為”Hello World”。

  建立com.lowagie.text.Document對象的實例

  com.lowagie.text.Document對象的構建函數有三個,分別是:

  public Document();

  public Document(Rectangle pageSize);

  public Document(Rectangle pageSize,

  int… Continue reading

Oracle , ,

Java程序連接各種數據庫的方法

December 29th, 2010
Comments Off on Java程序連接各種數據庫的方法

1、Oracle8/8i/9i數據庫(thin模式)

  Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

  String url=”jdbc:oracle:thin:@localhost:1521:orcl”; //orcl為數據庫的SID

  String user=”test”;

  String password=”test”;

  Connection conn= DriverManager.getConnection(url,user,password);

  2、DB2數據庫

  Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();

  String url=”jdbc:db2://localhost:5000/sample”; //sample為妳的數據庫名

  String user=”admin”;

  String password=””;

  Connection conn= DriverManager.getConnection(url,user,password);

  3、SQL Server7.0/2000數據庫

  Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();

  String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

  //mydb為數據庫

  String user=”sa”;

  String password=””;

  Connection conn= DriverManager.getConnection(url,user,password);

  4、Sybase數據庫

  Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();

  String url =” jdbc:sybase:Tds:localhost:5007/myDB”;//myDB為妳的數據庫名

  Properties sysProps = System.getProperties()… Continue reading

java tech , ,