A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tao13yang 中级黑马   /  2015-7-27 23:52  /  287 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

==和equals()的区别?

                ==:
                        比较基本类型:比较的是基本类型的值是否相同。
                        比较引用类型:比较的是引用类型的地址值是否相同。

                equals():
                        比较引用类型,默认比较的是引用类型的地址值是否相同。
                        如果类重写了该方法,那就得按照重写后的规则进行比较。
栈和堆的区别?
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
优缺点:堆得优点就是可以动态分配内存大小,生存期也不必告诉编译器,因为它是在运行中动态分配内存的;缺点就是由于是在运行时动态分配内存的,所以读取速度较慢。
栈的优点就是读取速度快,运行完自动释放;缺点就是存在于栈中的数据大小及周期必须是确定的,缺乏灵活性。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马