代码改变世界

Java中堆和栈的区别

2011-09-23 09:45 by Batys, 257 阅读, 0 推荐, 收藏, 编辑
摘要:栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。 栈的优势是,存取速度比堆要快,仅次于寄存器(register),栈数据可以共享 阅读全文

HashMap和Hashtable及HashSet的区别

2011-09-23 09:15 by Batys, 485 阅读, 0 推荐, 收藏, 编辑
摘要:Hashtable类 Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。 添加数据使用put(key, value),取出数据使用get(key),这两个基本操作的时间开销为常数。 Hashtable通过initial capacity和load factor两个参数调整性能。通常缺省的load factor 0.75较好地实现了时间和空间的均衡。增大load factor可以节省空间但相应的查找时间将增大,这会影响像get和put这样的操作。 使用Hashtable的简... 阅读全文

iphone 界面实现下拉列表

2011-08-19 09:16 by Batys, 3785 阅读, 0 推荐, 收藏, 编辑
摘要:#import <UIKit/UIKit.h>@interface DropDownList : UIView<UITableViewDelegate,UITableViewDataSource> {UITextField* textField; //文本输入框NSArray* list; //下拉列表数据BOOL showList; //是否弹出下拉列表UITableView* listView; //下拉列表CGRect oldFrame,newFrame; //整个控件(包括下拉前和下拉后)的矩形UIColor *lineColor,*listBgColor;.. 阅读全文
上一页 1 ··· 8 9 10 11 12