Time of Update: 2018-12-04
import java.io.*;import java.nio.*;import java.nio.channels.*;import java.net.*;import java.util.*;import java.nio.charset.*;import java.lang.*;public class NonBlockingServer{ public Selector sel = null; public ServerSocketChannel server =
Time of Update: 2018-12-04
第1頁Java開發技巧:如何利用Ant手動構建工程 利用Java語言構建工程,在這過程中主要是編譯、打包、運行、部署等操作。將工程中的一個src檔案夾用來放置工程的原始碼,其中只有一個類的原始碼。 在HelloWorld中建立HelloWorld.java代碼如下: public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello
Time of Update: 2018-12-04
ndk make: *** 沒有規則可以建立$NDK/ndk-build出現上面這個錯一般是你的jni檔案中的Android.mk中有不該有的空格出現這種問題原因可能會很多,我只說我這裡發現的問題 如果出現這種問題請查看Android.mk檔案,把無用的空格全去掉就可以了=================================================================android ubuntu jni so 報錯 :
Time of Update: 2018-12-04
Java的效能有某種黑魔法之稱。部分原因在於Java平台非常複雜,很多情況下問題難以定位。然而在曆史上還有一種趨勢,人們靠智慧和經驗來研究Java效能,而不是靠應用統計和實證推理。在這篇文章中,我希望拆穿一些最荒謬的技術神話。1.Java很慢關於Java的效能有很多謬論,這一條是最過時的,可能也是最為明顯的。確實,在上世紀90年代和本世紀初處,Java有時是很慢。然而從那以後,虛擬機器和JIT技術已經有了十多年的改進,Java的整體效能現在已經非常好了。在6個獨立的Web效能基準測試中,Java
Time of Update: 2018-12-04
1.多線程中有主記憶體和工作記憶體之分, 在JVM中,有一個主記憶體,專門負責所有線程共用資料;而每個線程都有他自己私人的工作記憶體, 主記憶體和工作記憶體分貝在JVM的stack區和heap區。 2.線程的狀態有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'幾個狀態,'Ready' 表示線程正在等待CPU分配允許啟動並執行時間。
Time of Update: 2018-12-04
今天在使用iBatis查詢資料的時候出現了如下的一個錯誤:java.lang.InstantiationException: com.mangocity.contract.ejb.RoomType,從字面意思上來看是說不能執行個體化.RoomType類。RoomType類是我用來封裝查詢結果的,每一個執行個體代表一條查詢記錄。下面是我的iBatis設定檔片段:<select id="queryRoomType" parameterClass="java.lang.Long"
Time of Update: 2018-12-04
如何用Java獲得一個網域名稱的IP地址呢?提供這個功能的類叫做java.net.InetAddress。我們假設現在有這樣一個網域名稱,它用一個靜態getByName來重新獲得一個InetAddress,然後得到可以讀出的IP地址。下面的代碼是非常基本的命令列。 import java.net.InetAddress; import java.net.UnknownHostException; public class NsLookup { static public void
Time of Update: 2018-12-04
1、按位元組讀取檔案內容2、按字元讀取檔案內容3、按行讀取檔案內容4、隨機讀取檔案內容 public class ReadFromFile { /** * 以位元組為單位讀取檔案,常用於讀二進位檔案,片、聲音、影像等檔案。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in =
Time of Update: 2018-12-04
1, 重載(Overloading) (1) 方法重載是讓類以統一的方式處理不同類型資料的一種手段。多個同名函數同時存在,具有不同的參數個數/類型。重載Overloading是一個類中多態性的一種表現。(2) Java的方法重載,就是在類中可以建立多個方法,它們具有相同的名字,但具有不同的參數和不同的定義。調用方法時通過傳遞給它們的不同參數個數和參數類型來決定具體使用哪個方法, 這就是多態性。(3) 重載的時候,方法名要一樣,但是參數類型和個
Time of Update: 2018-12-04
import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import javax.imageio.ImageIO;import
Time of Update: 2018-12-04
生產者與消費者模型中,要保證以下幾點: (1)同一時間內只能有一個生產者生產。 (2)同一時間內只能有一個消費者消費。 (3)生產者生產的同時消費者不能消費。 (4)訊息佇列滿時生產者不能繼續生產,訊息佇列空時消費者不能繼續消費,此時必須等待。代碼:1、Message.java package com.test;/** * 訊息對象 * */public class Message {private int id;private String message;public int getId()
Time of Update: 2018-12-04
一個優秀的java編程程式員必須瞭解GC的工作原理、如何最佳化GC的效能、如何與GC進行有限的互動,因為有一些應用程式對效能要求較高,例如嵌入式系統、即時系統等,只有全面提升記憶體的管理效率 ,才能提高整個應用程式的效能。本篇文章首先簡單介紹GC的工作原理之後,然後再對GC的幾個關鍵問題進行深入探討,最後提出一些java編程程式設計建議,從GC角度提高java編程程式的效能。 GC的基本原理 java編程的記憶體管理實際上就是對象的管理,其中包括對象的分配和釋放。
Time of Update: 2018-12-04
這種問題一般是由包衝突所引起,在類裡面執行一下以下代碼就可以知道當前類用的那個jar包。ClassLoader classloader =org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader(); java.net.URL res = classloader.getResource( "org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
Time of Update: 2018-12-04
/* * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2007</p> * * <p>Company: </p> * * @author ifwater * @version
Time of Update: 2018-12-04
webservice的應用已經越來越廣泛了,下面介紹幾種在Java體系中開發webservice的方式,相當於做個記錄。 1.Axis2 Axis是apache下一個開源的webservice開發組件,出現的算是比較早了,也比較成熟。這裡主要介紹Axis+eclipse開發webservice,當然不用eclipse也可以開發和發布webservice,只是用eclipse會比較方便。 (1)下載eclipse的Java
Time of Update: 2018-12-04
OSGI架構下this.getClass().getClassLoader() = org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@186c6b2Thread.currentThread().getContextClassLoader() =
Time of Update: 2018-12-04
Java 中除了關鍵字 synchronized 能夠實現線程同步外,還可以使用 wait 和 notify/notify 實現同步。wait 方法是使擁有當前對象(object)的線程(thread)放棄鎖(release lock),進入睡眠狀態notify 通知該對象(object)因上面調用wait而等待的某一進程重新喚醒啟動notifyAll 通知在對象(object)上因調用wait而等待的所有進程啟動,這些進程根據優先順序順序執行一個線程在其生命週期內總是處於某種狀態:建立:
Time of Update: 2018-12-04
JavaTiger(Java5.0)-arraylist is a raw type2008-04-08 15:08 (本文例子適用於JDK 5.0, 學習請先安裝並配置!!!) 我們從一個簡單的例子開始:假設我們現在需要一個專用來儲存字串的List,該如何??呵呵,這還不簡單,且看如下代碼: public static void main(String[] args) { List strList = new ArrayList();
Time of Update: 2018-12-04
其實,簡單的分析一下,就可以看出客戶和服務通訊的主要通道就是Socket本身,而伺服器通過accept方法就是同意和客戶建立通訊.這樣當客戶建立 Socket的同時。伺服器也會使用這一根連線來先後通訊,那麼既然如此只要我們存在多條連線就可以了。那麼我們的程式可以變為如下全文閱讀:http://www.javah.net/wangluobiancheng/20070601/2118.html
Time of Update: 2018-12-04
20世紀60年代的軟體危機使得人們開始重視軟體工程的研究。起初,人們把軟體設計的重點放在資料結構和演算法的選擇上。隨著軟體系統規模越來越大、越來越複雜,整個系統的結構和規格說明也顯得越來越重要。面對日益複雜的軟體系統,人們開始認識到,要真正實現軟體的工業化生產方式,達到軟體產業發展所需要的軟體生產率和品質,軟體複用是一條現實可行的途徑。 1995年,《Design