导航

2013年8月26日

摘要: JavaScript代码如下:function setName(obj){ obj.name = "test1"; obj = new Object(); obj.name = "test2"; } var person = new Object(); setName(person); alert(person.name); 运行结果:页面弹出“test1”代码分析:为什么不弹出“test2”?var person = new Object(); 本例中首先生成一个object对象,并将person(类似于指针)指向这个object对象,暂时将这个obj 阅读全文

posted @ 2013-08-26 15:01 寒宵飞飞 阅读(245) 评论(0) 推荐(0) 编辑

摘要: 1.栈 stack”和“堆 heap”: 简单的来讲,stack上分配的内存系统自动释放,heap上分配的内存,系统不释放,哪怕程序退出,那一块内存还是在那里。stack一般是静态分配内存,heap上一般是动态分配内存。2.基本类型和引用类型: 基本类型:存放在栈内存中的简单数据段。数据大小确定,内存空间大小可以分配。 引用类型:存放在堆内存中的对象,变量中实际保存的是一个指针,这个指针指向另一个位置。每个空间大小不一样,要根据情况开进行特定的分配。 详见《Javascript高级编程》Page60页的图可以很清晰的理解上面两个概念。3.内存变量的存储空间: 这是js机制生存的原因... 阅读全文

posted @ 2013-08-26 14:22 寒宵飞飞 阅读(1918) 评论(0) 推荐(0) 编辑

摘要: String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.StringBuffer:是一个可变对象,当 阅读全文

posted @ 2013-08-26 14:08 寒宵飞飞 阅读(187) 评论(0) 推荐(0) 编辑

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

posted @ 2013-08-26 14:04 寒宵飞飞 阅读(191) 评论(0) 推荐(0) 编辑