Time of Update: 2017-01-19
代碼很簡單,功能也很實用,這裡就不多廢話了。public Date getdate(int i) // //擷取前後日期 i為正數 向後延遲i天,負數時向前提前i天 { Date dat = null; Calendar cd = Calendar.getInstance(); cd.add(Calendar.DATE, i); dat = cd.getTime(); SimpleDateFormat dformat = new SimpleDateFormat("yyyy-MM-dd
Time of Update: 2017-01-19
之前實現了使用流來講http和ftp的檔案下載到本地,也實現了將本地檔案上傳到hdfs上,那現在就可以做到將ftp和http的檔案轉移到hdfs上了,而不用先將ftp和http的檔案拷貝到本地再上傳到hdfs上了。其實這個東西的原理很簡單,就是使用流,將ftp或http的檔案讀入到流中,然後將流中的內容傳送到hdfs上,這樣子就不用讓資料存到本地的硬碟上了,只是讓記憶體來完成這個轉移的過程,希望這個工具,能夠幫到有這樣需求的同學~這裡先附上之前的幾個工具的連結:http工具ftp工具連結描述代碼
Time of Update: 2017-01-19
這個工具比較簡單,用於配合另外一個工具進行檔案傳送,廢話少說,上代碼import java.net.URL;import java.net.URLConnection;import java.io.File;import java.io.InputStream;import java.io.FileOutputStream;import java.io.FileNotFoundException;import java.io.IOException;import
Time of Update: 2017-01-19
本文執行個體講述了java拼接字串時去掉最後一個多餘逗號的方法。分享給大家供大家參考。具體分析如下:先看下面這段代碼:for (int t = 0; t < memberLen; t++) { memTemp = stafferMap.get(strMember[t]); if(memTemp != null){ memberNames += memTemp + ",";
Time of Update: 2017-01-19
概述最近在看《ThinKing In Java》,看到多線程章節時覺得有一些概念比較容易混淆有必要總結一下,雖然都不是新的東西,不過還是蠻重要,很基本的,在開發或閱讀源碼中經常會遇到,在這裡就簡單的做個總結。1.volatilevolatile主要是用來在多線程中同步變數。 在一般情況下,為了提升效能,每個線程在運行時都會將主記憶體中的變數儲存一份在自己的記憶體中作為變數副本,但是這樣就很容易出現多個線程中儲存的副本變數不一致,或與主記憶體的中的變數值不一致的情況。
Time of Update: 2017-01-19
package snake;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.
Time of Update: 2017-01-19
使用雙向鏈表實現貪吃蛇程式1.鏈表節點定義:package snake;public class SnakeNode {private int x;private int y;private SnakeNode next;private SnakeNode ahead;public SnakeNode() {}public SnakeNode(int x, int y) {super();this.x = x;this.y = y;}public int getX() {return
Time of Update: 2017-01-19
代碼很簡單,就不多廢話了複製代碼 代碼如下://讀取日曆事件 public static void getCalendarInfo(Activity activity,String tag){ String[] projection = new String[]{CalendarContract.Events._ID,CalendarContract.Events.TITLE}
Time of Update: 2017-01-19
本文詳細地介紹了Java記憶體管理的原理,以及記憶體泄露產生的原因,同時提供了一些列解決Java記憶體泄露的方案,希望對各位Java開發人員有所協助。Java記憶體管理機制在C++ 語言中,如果需要動態分配一塊記憶體,程式員需要負責這塊記憶體的整個生命週期。從申請分配、到使用、再到最後的釋放。這樣的過程非常靈活,但是卻十分繁瑣,程式員很容易由於疏忽而忘記釋放記憶體,從而導致記憶體的泄露。 Java 語言對記憶體管理做了自己的最佳化,這就是記憶體回收機制。 Java
Time of Update: 2017-01-19
本文執行個體講述了java實現列表、集合與數組之間轉化的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; public class
Time of Update: 2017-01-19
本文執行個體講述了java對數組進行排序的方法。分享給大家供大家參考。具體如下:public class Test1 { public static void showArray(int[] array) { for (int n = 0; n < array.length; n++) { System.out.print(array[n]); System.out.print(" "); } System.out.println();
Time of Update: 2017-01-19
漢諾(Hanoi)塔問題:古代有一個梵塔,塔內有三個座A、B、C,A座上有n個盤子,盤子大小不等,大的在下,小的在上(如圖)。有一個和尚想把這n個盤子從A座移到B座,但每次只能允許移動一個盤子,並且在移動過程中,3個座上的盤子始終保持大盤在下,小盤在上。在移動過程中可以利用B座,要求列印移動的步驟。如果只有一個盤子,則不需要利用B座,直接將盤子從A移動到C。 如果有2個盤子,可以先將盤子1上的盤子2移動到B;將盤子1移動到c;將盤子2移動到c。這說明了:可以藉助B將2個盤子從A移動到C,當然,
Time of Update: 2017-01-19
有序鏈表:按關索引值排序。刪除鏈頭時,就刪除最小(/最大)的值,插入時,搜尋插入的位置。插入時需要比較O(N),平均O(N/2),刪除最小(/最大)的在鏈頭的資料時效率為O(1),如果一個應用需要頻繁的存取(插入/尋找/刪除)最小(/最大)的資料項目,那麼有序鏈表是一個不錯的選擇優先順序隊列
Time of Update: 2017-01-19
定義:Singleton模式主要作用是保證在Java應用程式中,一個類Class只有一個執行個體存在。在很多操作中,比如建立目錄
Time of Update: 2017-01-19
面板模式(Facade)的定義:為子系統中的一組介面提供一個一致的介面。Facade一個典型應用就是資料庫JDBC的應用,如下例對資料庫的操作:複製代碼 代碼如下:public class DBCompare { Connection conn = null; PreparedStatement prep = null; ResultSet rset = null; try { Class.forName( "<driver>" ).newInstance(); conn =
Time of Update: 2017-01-19
上了這麼多年學,我發現一個問題,好象老師都很喜歡點名,甚至點名都成了某些老師的嗜好,一日不點名,就飯吃不香,覺睡不好似的,我就覺得很奇怪,你的課要是講的好,同學又怎麼會不來聽課呢,殊不知:“誤人子弟,乃是犯罪!”啊。好了,那麼我們現在來看老師這個點名過程是如何?吧:1、老規矩,我們先定義老師(Teacher)介面類:複製代碼 代碼如下:public interface Teacher { public Iterator createIterator(); //
Time of Update: 2017-01-19
系統啟動一個線程的成本是比較高的,因為它涉及到與作業系統的互動,使用線程池的好處是提高效能,當系統中包含大量並發的線程時,會導致系統效能劇烈下降,甚至導致JVM崩潰,而線程池的最大線程數參數可以控制系統中並發線程數不超過次數。一、Executors 工廠類用來產生線程池,該工廠類包含以下幾個靜態Factory
Time of Update: 2017-01-19
本文為用 MediaRecorder 錄製小視頻的控制項,可以設定視頻錄製的時間、空間大小、初始時是否開啟網路攝影機等。 此控制項為群組控制項,繼承自 LinearLayout ,為防止出錯,需實現 android.media.MediaRecorder.OnErrorListener 介面。小視頻錄製介面MovieRecorderView.javaimport java.io.File;import java.io.IOException;import
Time of Update: 2017-01-19
任意4個1-13數字,加減乘除計算24點。實現原理:1)排列組合4個數字2)計算每次排列組合的可能性Cal24.javaimport java.util.HashSet;import java.util.Set; public class Cal24 { private static final double precision = 0.00001; private static final int target = 24; public String[]
Time of Update: 2017-01-19
我們都知道,在java中要想實現多線程,有兩種手段,一種是繼續Thread類,另外一種是實現Runable介面。 1.進程和線程的區別是什嗎? 進程是執行著的應用程式,而線程是進程內部的一個執行序列。一個進程可以有多個線程。線程又叫做輕量級進程。 2.建立線程有幾種不同的方式?你喜歡哪一種?為什嗎?有三種方式可以用來建立線程:(1)繼承Thread類(2)實現Runnable介面(3)應用程式可以使用Executor架構來建立線程池實現Runnable介面這種方式更受歡迎,因為這不需要繼承