Time of Update: 2017-01-19
本文執行個體講述了Java排序演算法總結之堆排序。分享給大家供大家參考。具體分析如下:1991年電腦先驅獎獲得者、斯坦福大學電腦科學系教授羅伯特·弗洛伊德(Robert W.Floyd)和威廉姆斯(J.Williams)在1964年共同發明了著名的堆排序演算法( Heap Sort )。本文主要介紹堆排序用Java來實現。堆積排序(Heapsort)是指利用堆積樹(堆)這種資料結構所設計的一種排序演算法,可以利用數組的特點快速定位指定索引的元素。堆排序是不穩定的排序方法,輔助空間為O(1),
Time of Update: 2017-01-19
下面是20個非常有用的Java程式片段,希望能對你有用。1. 字串有整型的相互轉換String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int2. 向檔案末尾新增內容BufferedWriter out = null; try { out = new BufferedWriter(new
Time of Update: 2017-01-19
本文執行個體講述了Java串連並操作Sedna XML資料庫的方法。分享給大家供大家參考。具體分析如下:Sedna 是一個原生的XML資料庫,提供了全功能的核心資料庫服務,包括持久化儲存、ACID事務、索引、安全、熱備、UTF8等。實現了 W3C XQuery 規範,支援全文檢索搜尋以及節點層級的更新操作。import ru.ispras.sedna.driver.*; public class SednaClient { public static void main(String
Time of Update: 2017-01-19
本文執行個體講述了java讀取properties檔案的方法。分享給大家供大家參考。具體分析如下:1.不在項目中讀取:Properties properties = new Properties();BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream("檔案的路徑"),"utf-8"));properties.load(read);properties
Time of Update: 2017-01-19
眾所周知Web伺服器與用戶端之間的通訊是使用HTTP協議的。HTTP是一個用戶端和伺服器端請求和應答的標準(TCP)。因為HTTP協議是基於TCP協議的,所以我將使用JAVA中的Socket完成這個簡易的Web伺服器。關於HTTP更詳細的資料,各位可以查閱相關資料進行瞭解。 在伺服器編寫之前,我們還是先來看一下瀏覽器與伺服器之間通訊的規則到底如何。 首先,我們是用ServerSocket來類比一個服務端,通過瀏覽器訪問,查看瀏覽器請求的內容:import
Time of Update: 2017-01-19
android開發,除了使用原生態的開發方式之外,還可以使用java+html+javascript混合開發的方式來開發,這樣可以節省大量的開發時間,同時還可以使不同裝置的使用者獲得相同的使用者體驗。好了,廢話不多說,先來看看今天要做什麼。 主要是實現一個簡單的註冊功能,先用jquery
Time of Update: 2017-01-19
/** * 三角數字: * 比達哥斯拉領導下的古希臘數學家發現了一個有趣的數字序列1, 3, 6, 10, 15, 21,... * 你能看出他們有什麼規律嗎? * 對了它的規律就是f(x) = x+ f(x-1) * 想想是不是很像小時候打算盤從1一直加到100啊 */ package al; public class Triangle { public static void main(String[] args) { Triangle triangle = new
Time of Update: 2017-01-19
/** * 樸素字串演算法通過兩層迴圈來尋找子串, * 好像是一個包含模式的“模板”沿待查文本滑動。 * 演算法的思想是:從主串S的第pos個字元起與模式串進行比較, * 匹配不成功時,從主串S的第pos+1個字元重新與模式串進行比較。 * 如果主串S的長度是n,模式串長度是 m,那麼Brute-Force的時間複雜度是o(m*n)。 * 最壞情況出現在模式串的子串頻繁出現在主串S中。 * 雖然它的時間複雜度為o(m*n),但在一般情況下匹配時間為o(m+n), *
Time of Update: 2017-01-19
本文執行個體講述了Java使用Preference類儲存上一次記錄的方法。分享給大家供大家參考。具體分析如下:在使用java中JFileChooser選擇檔案的時候,我們總希望在下次開啟的時候能儲存上次瀏覽的記錄,即開啟檔案對話方塊的時候,總能追溯到上一次的路徑。有一個很愚蠢的方法,那就是在每次開啟的時候把選擇的檔案的路徑儲存到本地檔案中,再開啟JFileChooser對話方塊的時候,先查看是否有內容,如果檔案中有內容則按照儲存的路徑開啟對話方塊。如果我說Java裡面可以不使用JNI的手段操作W
Time of Update: 2017-01-19
本文執行個體講述了Java實現Socket的TCP傳輸。分享給大家供大家參考。具體分析如下:用戶端發資料到服務端* Tcp傳輸,用戶端建立的過程。* 1,建立tcp用戶端socket服務。使用的是Socket對象。* 建議該對象一建立就明確目的地。要串連的主機。 * 2,如果串連建立成功,說明資料轉送通道已建立。* 該通道就是socket流 ,是底層建立好的。 既然是流,說明這裡既有輸入,又有輸出。* 想要輸入或者輸出資料流對象,可以找Socket來擷取。 *
Time of Update: 2017-01-19
java模式比對之蠻力匹配/** * 模式比對之蠻力匹配 */package javay.util; /** * Pattern Match Brute-Force * @author DBJ */public class PMBF { /** * Pattern Match Brute-Force * @param target 目標串 * @param pattern 模式串 * @return 模式串在目標串中第一次出現的位置 */ public static
Time of Update: 2017-01-19
Java語言的輸入輸出功能是十分強大而靈活的,對於資料的輸入和輸出操作以“流”(stream)的方式進行。J2SDK提供了各種各樣的“流”類,用以擷取不同種類的資料,定義在包java.io中。程式中通過標準的方法輸入或輸出資料。Java中的流可以從不同的角度進行分類:按照流的方向不同:分為輸入資料流和輸出資料流。按照處理資料單位的不同:分為位元組流(8位)和字元流(16位)。按照功能不同:分為節點流和處理流。節點流:是可以從一個特定的資料來源(節點)讀寫資料的流(例如檔案,記憶體)。就像是一條單
Time of Update: 2017-01-19
在 Effecitve Java 一書的第 48 條中提到了雙重檢查模式,並指出這種模式在 Java 中通常並不適用。該模式的結構如下所示:public Resource getResource() { if (resource == null) { synchronized(this){ if (resource==null) { resource = new Resource(); } } } return resource;
Time of Update: 2017-01-19
XML微信XML訊息model定義:package cn.wx.server; import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element; /** * @title cn.wx.serverXMLMsg.java * @todo TODO * @author lpe234 * @time 2014年5月21日下午2:13
Time of Update: 2017-01-19
今天下了個新浪微博的API研究研究,目前實現了發布微博功能,包括帶圖片的微博。為了安全,新浪微博的API中並沒有提供用微博帳號密碼登入的功能,而是採用OAuth授權,使用者通過瀏覽器訪問新浪網站登入,登入成功後,瀏覽器再返回key和secret給程式。main.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/
Time of Update: 2017-01-19
測試java是否安裝配置成功查看 java 版本,輸入命令:[root@dabu.info ~]# java -version建立一個java小程式測試下,名字叫 HelloWorld.java ,輸入以下命令:[root@dabu.info ~]# touch HelloWorld.java將以下代碼複製到 HelloWorld.java 中 :public class HelloWorld {public static void main(String[] args)
Time of Update: 2017-01-19
import java.util.Calendar;/** * 功能概述:計算指定年月的天數和周數<br> * 建立時間:2010-5-17 下午05:25:58<br> * */public class Test{public static void main(String[] args) {Calendar c = Calendar.getInstance();c.set(Calendar.YEAR, 2010); //
Time of Update: 2017-01-19
rhel 和 centos linux 使用yum命令後,將 OpenSDK 安裝到/usr/lib/jvm/ 目錄:[root@dabu.info ~]# ls -l /usr/lib/jvm/輸出如下:total 4drwxr-xr-x. 3 root root 4096 Feb 24 17:00 java-1.7.0-openjdk-1.7.0.51.x86_64lrwxrwxrwx. 1 root root 21 Feb 24 17:00 jre ->
Time of Update: 2017-01-19
迴圈控制可能存在一種情況,當我們需要執行的代碼塊數次,通常被稱為一個迴圈。Java有非常靈活的三迴圈機制。可以使用以下三種迴圈之一: while 迴圈 do...while 迴圈 for 迴圈截至Java5,對增強for迴圈進行了介紹。這主要是用於數組。while 迴圈while迴圈是一個控制結構,可以重複的特定任務次數。文法while迴圈的文法是:while(Boolean_expression){ //Statements}在執行時,如果布林運算式的結果為真,則迴圈中的動作將被執行。
Time of Update: 2017-01-19
本文將討論以下4個問題 1. java Cloneable介面實現深拷貝 2. java 序列化實現深拷貝 3. 號稱最快的深拷貝二方庫cloning源碼分析 4. 幾種拷貝方式速度的比較深拷貝的概念本文就不說了。在C++中實現深拷貝一般情況下重載賦值操作符 “=”