浅谈设计模式(一) 四大件——计算机网络、计算机操作系统、数据结构和算法、设计模式。而这篇文章,针对常见的几种设计模式,展开讨论,若是讨论的过浅,或者是有不对的地方,还望各位大佬多多指正。 一、设计模式的五大基本原则 1、开放封闭原则 我们的类,对于扩展应该是开放的,对于修改是封闭的。也就是说,我们支持类继承、组合等扩 2025-06-22 0 0 设计模式 后端 面试题
计算机网络面试题 计算机网络面试题 1、OSI、TCP/IP、五层协议 OSI:物理层,数据链路层、网络层、运输层、会话层、表示层、应用层 TCP/IP:网络接口层,网际层,运输层,应用层 五层协议:物理层、数据链路层、网络层、运输层、应用层 1.1、应用层 应用层是通过应用进程直接的交互,来完成特定的网络应用 应用 2025-06-22 0 0 计算机基础 后端 面试题
理解“==”和“equals”、hashcode方法 理解“==”和“equals”、hashcode、方法 1、“=="和equals方法 在object类中,equals方法其实就是==方法 但是,在大部分的类中,都重写了equals方法和hashcode方法(后面会说),所以equals方法才会比较值是否相等,但是自定义的类,例如你自己定义的pe 2025-06-22 0 0 后端 Java 面试题
BIO与NIO,AIO 总结 BIO与NIO,AIO 总结 1、前备知识: 1.1、同步与异步 同步:同步就是系统发起一个调用后,被调用者未处理完请求之前,调用不返回。 异步: 异步就是系统发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等 2025-06-22 0 0 Java 后端 面试题
设计原则、策略模式和观察者模式 常用的几种设计模式(一):设计原则、策略模式和观察者模式 核心:复用----抵御变化 面向对象的设计原则: 2025-06-22 0 0 Java 后端 面试题 设计模式
MySQL高级学习(二) MySQL高级学习(二) 1、Explain是什么 使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的。从而查询语句或是结构的性能瓶颈 2、Explain能干嘛 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 2025-06-22 0 0 Java 后端 面试题 数据库
常见的时间复杂度 常见的时间复杂度 常数阶 O(1) 对数阶 O(log2n) 线性阶 O(n) 线性对数阶 O(nlog2n) 平方阶 O(n^2) 立方阶 O(n^3) k 次方阶 O(n^k) 指数阶 O(2^n) 1、时间复杂度排序 2025-06-22 0 0 数据结构与算法 后端
查找算法----二分查找、插值查找、斐波那契查找 查找算法----二分查找、插值查找、斐波那契查找 1、二分查找 二分查找的思路分析 先确定该数组的中间的下标mid = (left+right)/2 2025-06-22 0 0 数据结构与算法 后端
递归解题核心思想 递归解题核心思想 1、递归要考虑的三个问题: 递归应该在什么时候结束? 我应该返回什么信息给上层? 在这一次的递归中,要完成什么任务? 递归每一层的功能都是一样的,所以只要解决了这三个问题,递归的问题就解决了 2025-06-22 1 0 数据结构与算法 后端
动态规划算法 1、动态规划算法 1.1、算法介绍 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法 动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解 与分治法不 2025-06-22 0 0 数据结构与算法 后端
堆排序 堆排序 1、基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序 堆是具有以下性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 注意 : 没有要求结点的左孩子的值和右孩子的值的 2025-06-22 1 0 数据结构与算法 后端