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