"子类实现initialize方法时,会覆盖父类initialize方法"
------------------------------------------------------------
这个说法貌似有问题, 父类和子类都实现了initialize方法,会优先走父类的initialize,再走子类initialize方法
误区 之前在写递归相关的代码时候, 总是试图把调用一层层展开, 层数少的情况还能接受, 多了就烧脑, 不要试图用人脑去分解递归的每一个步骤 正确的思考方式 假设要完成 A ...
数组定义 线性表结构, 用一组连续的内存空间存储具有相同类型的数据 如何实现随机访问 缺点 插入和删除操作低效, 需要大量移动数据, 删除的时候可以把数据标记为已删除, ...
续言 在页面间跳转的性能优化(一)中介绍了一些基础知识,讲述了情形一与情形二的优化方式及原理,但有许多人对情形二最后两种处理方式的原理表示不理解,不清楚处理过程,接下来...
为什么要生成一个子类 ? 前提是需要重写 setter 方法, 调用 willChangeValueForKey 和 didChangeValueForKey 方法通知外界...
基本概念 进程和线程的区别 进程是指系统中正在运行的一个应用程序, 每个进程之间是相互独立的 一个进程中可以有多条线程, 进程的所有任务都在线程中执行的 进程的状态 新建 就...
哈希表, 也叫散列表, 是数组的一种扩展把关键字或者键转换为数组下标的方法叫做散列函数散列函数计算得到的值也叫做散列值或hash值 散列冲突 解决散列冲突的方法: 开放寻址法...
特点 TCP: 面向连接的、可靠的、基于字节流的传输层协议, 三次握手、四次挥手, 连接只能点到点UDP: 无连接、不可靠、面向报文, 支持一对一, 一对多, 多对一, 多...
内存分配方式 栈是高地址向低地址扩展, 是一块连续的内存区域、堆是地地址向高地址分配, 不连续的内存区域 栈是系统自动分配空间, 堆需要手动分配 栈上的数据在函数结束后自动释...
链表和数组的区别 数组数组需要一块连续的内存空间来存储, 对内存要求比较高 链表通过指针, 将一组零散的内存块串联起来使用 链表类型 单链表、双向链表、循环链表、双向循环链表...
两个栈实现队列 思路: stack1 用于存放 push 的元素 pop 的时候分两种情况 stack2 为空, 把stack1 的栈顶元素弹出, 然后压入 stack2, ...
思路 快排利用的是分治的思想, 排序数组中下标 p 到 r 之间的一组数据, 选择 p 到 r 之间的任意一个数据作为 pivot(分区点), 遍历 p 到 r 之间的数据...
思路 二分查找必须是一个有序的数据集合, 每次都通过跟区间的中间元素对比, 将查找区间缩小为一半, 直到找到元素或者区间被缩小为 0 时间复杂度 O(logn) 每次查找区间...