- HashMap和HashTable的区别(http://www.importnew.com/7010.html)
- HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。
- HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。
- 另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。
- HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。
- 面向对象编程(OOP)的三大特性
- 封装,隐藏了实现细节,将实现和接口分开
- 继承,抽象了类的共性,实现代码的重用
- 多态,在类的重用的同时,强化了个性差异
- Java对象生成过程
- 根据类型,给对象分配内存
- 将对象的实例变量自动初始化为对应变量类型的默认值
- 初始化对象,给实例变量赋予正确的初始值
- 接口的成员具有什么属性
- 自动被加上public,static,final关键字
- 排序算法比较
- 摘自wiki
名稱 數據對象 穩定性 時間複雜度 空間複雜度 描述 平均 最壞 氣泡排序 數組 (無序區,有序區)。從無序區透過交換找出最大元素放到有序區前端。 選擇排序 數組 (有序區,無序區)。在無序區里找一個最小的元素跟在有序區的後面。對數組:比較得多,換得少。 鍊表 插入排序 數組、鍊表 (有序區,無序區)。把無序區的第一個元素插入到有序區的合適的位置。對數組:比較得少,換得多。 堆排序 數組 (最大堆,有序區)。從堆頂把根卸出來放在有序區之前,再恢復堆。 歸併排序 數組、鍊表 ,如果不是從下到上 把數據分為兩段,從兩段中逐個選最小的元素移入新數據段的末尾。可從上到下或從下到上進行。 快速排序 數組 (小數,樞紐元,大數)。 希爾排序 數組 每一輪按照事先決定的間隔進行插入排序,間隔會依次縮小,最後一次一定要是1。 計數排序 數組、鍊表 統計小於等於該元素值的元素的個數i,於是該元素就放在目標數組的索引i位(i≥0)。 桶排序 數組、鍊表 將值為i的元素放入i號桶,最後依次把桶里的元素倒出來。 基數排序 數組、鍊表 一種多關鍵字的排序算法,可用桶排序實現。
- 摘自wiki
- 网络层级
- 摘自:http://book.51cto.com/art/200906/127291.htm
OSI七层网络模型
Linux TCP/IP四层概念模型
对应网络协议
应用层(Application)
应用层
TFTP, FTP, NFS, WAIS
表示层(Presentation)
Telnet, Rlogin, SNMP, Gopher
会话层(Session)
SMTP, DNS
传输层(Transport)
传输层
TCP, UDP
网络层(Network)
网际层
IP, ICMP, ARP, RARP, AKP, UUCP
数据链路层(Data Link)
网络接口
FDDI, Ethernet, Arpanet, PDN, SLIP, PPP
物理层(Physical)
IEEE 802.1A, IEEE 802.2到IEEE 802.11
- TCP/IP四层模型中各层的功能:
- 网络接口:负责实际数据的传输
- 网际层:负责网络间的寻址
- 传输层:负责提供可靠的传输服务
- 应用层:负责实现一切与应用程序相关的功能
- 摘自:http://book.51cto.com/art/200906/127291.htm
- JAVA三大框架原理
面试题1
最新推荐文章于 2024-07-15 22:27:18 发布