http://blog.csdn.net/u013132758/article/details/50877754html
http://blog.csdn.net/stanxl/article/details/44567285java
http://www.cnblogs.com/zabery/archive/2011/07/19/2110994.htm算法
漸近式表達法是一種對算法效率的指標;評估一個程序效率是否高效的方法;json
數組:數組
LinkedList<String> linkList = new LinkedList<String>(); Stack<String> stack = new Stack<String>(); 咱們知道ArrayList是List接口的一個實現類,它的特色是查詢效率高,增刪效率低,線程不安全 緣由是由於ArrayList底層是封裝了一個數組,它是用數組實現的。 看完了ArrayList,咱們再去研究一下LinkedList 它的特色是:增刪效率比較高,而查詢效率低
堆棧: 分爲堆和棧;堆(先進後出,能夠想象一下無序的垃圾堆),棧(先進後出,能夠想象很窄的一端封死的棧道);安全
隊列:有個入口,一個出口,先進先出;服務器
java 序列化:你有一個應用程序,須要傳一些數據給其它應用程序,但數據保存在你的進程的堆棧中,其它進程沒法訪問你的應用程序進程的堆棧,要想把你的程序的數據給其它程序使用,必須將數據以某種形式傳給其它進程,這個「某種形式」就是序列化。json只是序列化的一種方式。網絡
把對象轉換爲字節序列的過程稱爲對象的序列化。 把字節序列恢復爲對象的過程稱爲對象的反序列化。 對象的序列化主要有兩種用途: 1) 把對象的字節序列永久地保存到硬盤上,一般存放在一個文件中; 2) 在網絡上傳送對象的字節序列。 在不少應用中,須要對某些對象進行序列化,讓它們離開內存空間,入住物理硬盤,以便長期保存。好比最多見的是Web服務器中的Session對象,當有 10萬用戶併發訪問,就有可能出現10萬個Session對象,內存可能吃不消,因而Web容器就會把一些seesion先序列化到硬盤中,等要用了,再把保存在硬盤中的對象還原到內存中。 當兩個進程在進行遠程通訊時,彼此能夠發送各類類型的數據。不管是何種類型的數據,都會以二進制序列的形式在網絡上傳送。發送方須要把這個Java對象轉換爲字節序列,才能在網絡上傳送;接收方則須要把字節序列再恢復爲Java對象。
參考http://www.cnblogs.com/xdp-gacl/p/3777987.html併發
本地序列化代碼:ui
import java.io.*; import java.util.Date; public class SerializableDemo { public static void main(String[] args) { // TODO Auto-generated method stub //Initializes The Object User user = new User(); user.setName("hollis"); user.setGender("male"); user.setAge(23); user.setBirthday(new Date()); System.out.println(user); //Write Obj to File ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(new FileOutputStream("tempFile")); oos.writeObject(user); } catch (IOException e) { e.printStackTrace(); } finally { ;//IOUtils.closeQuietly(oos); } //Read Obj from File File file = new File("tempFile"); ObjectInputStream ois = null; try { ois = new ObjectInputStream(new FileInputStream(file)); User newUser = (User) ois.readObject(); System.out.println(newUser); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { ;//FileUtils.forceDelete(file); } } }
本地序列化的效果:
sr User狆?z;矪 I ageL birthdayt Ljava/util/Date;L namet Ljava/lang/String;xp sr java.util.Datehj?KYt xpw [B?xt hollis
概括起來,就是把你的數據換個時間和/或換個地方,繼續使用
換個時間,好比存盤
換個地方,好比網絡傳輸
排序算法:
一圖勝千言。【想一想大學老師教的真是。。。。】
http://blog.csdn.net/u010850027/article/details/49362279
http://blog.csdn.net/donglynn/article/details/49758003【上備】
排序效率:
https://www.oschina.net/code/snippet_617085_4369