前段总结

1、数组和链表的区别
数组的大小是固定的,一旦定义就不能改变,而链表大小不需要指定,可以自动变化。
数组中的数据是顺序存储的,所以查找数据容易,插入、删除会造成数据索引的变化所以比较慢
而链表的数据是随机存储的,查找某个数据比较慢,而插入删除操作则会比较快
Java中,ArrayList、LinkedList就是分别用数组和链表做内部实现的
前者是使用数组实现,用索引来取数据是它的优势;后者是用双向链表实现,在插入和删除操作上占优势。


2、==和equals的区别
==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
基本类型没有equals方法,equals只比较值(对象中的内容)是否相同(相同返回true)。
在JAVA中利用"=="比较变量时,系统使用变量在"栈"中所存的值作为比较的依据。基本数据类型在"栈"中存的是其内容值,而对象类型在"栈"中存的是地址,这些地址指向"堆"中的对象。
其它对象的equals方法仅当被比较的两个引用指向的对象内容相同时,对象的equals()方法返回true。
"=="比较的是对象地址.也可认为"=="比较的是对象句柄;而equals()比较的是对象内容.或者说,,"=="比较的是"栈"中的内容,而equals()比较的是"堆"中的内容.(引用)


3、何谓低耦合和高内聚?有哪些好的开发模式?
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。所谓低耦合是指不同软件模块之间通过稳定的接口交互,而不需要关心模块内部的实现,也就是说,让每个模块,尽可能的独立完成某个特定的子功能;模块与模块之间的接口,尽量的少而简单。高内聚和低耦合是相互矛盾的,分解粒度越粗的系统耦合性越低,分解粒度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的。
短期来看,高内聚,低耦合的系统并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值