摘要: 接口和抽象类的区别? 重载和重写的区别? 重载,方法名称不变,入参改变,是一个新的方法,增强同一个方法名称的能力范围,比如LoggerFactory中的getLogger()方法,有多个重载方法,都可以通过getLogger拿到日志对象。 重写,类的继承因为开闭原则,不建议重写,主要针对接口,是对一 阅读全文
posted @ 2024-05-21 22:34 好好的一个居士 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 开闭原则 对扩展开放,对修改关闭,通过抽象定义框架,通过实现扩展细节 依赖倒置原则 高层模块不应该依赖底层模块,二者都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象,针对接口编程,而非针对实现编程,需要保证抽象稳定。 抽象通过入参,或者构造方法的方式注入。 单一职责原则 一个类,接口,方法只负责 阅读全文
posted @ 2024-05-20 23:55 好好的一个居士 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度 随着数据量的增加,程序所消耗的时间变化趋势 O(1),O(logn),O(n),O(nlogn),O(n^2)....空间复杂度 随着数据数量增加 产生的额外空间消耗的变化趋势 同上 链表问题:单双休链表链表旋转问题:首选设置哨兵链表头,防止头部链表丢失,然后使用pre,current, 阅读全文
posted @ 2021-07-03 14:02 好好的一个居士 阅读(57) 评论(0) 推荐(0) 编辑
摘要: public class WordLadder { //把start通过dict内的字符串转换成end需要多少步 一次只能转换一个char 方案:广度优先算法 public static void main(String[] args) { String start = "hit"; String 阅读全文
posted @ 2021-06-29 01:01 好好的一个居士 阅读(46) 评论(0) 推荐(0) 编辑
摘要: //冒泡排序,思想就是每个数据与下一个数据一个个对比下去 public static void sort(int[] nums){ if(nums==null||nums.length==0){ return; } for(int i =0;i<nums.length;i++){ for(int j 阅读全文
posted @ 2021-06-24 23:59 好好的一个居士 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 给一组长度确定的木头 如:int[]{232,124,456} 已经给定份数int k要求,将这组木头切成不低于K的份数,得到切割够木头最短值的最大值思想:二分查找public static int cutMax(int[] nums,int k){ if(nums==null||nums.leng 阅读全文
posted @ 2021-06-21 23:49 好好的一个居士 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个数组 求出截取出来的和和当前最小值的乘积结果的最大值 直接上答案: /** * 当前最小值 设每个值为当前最小值 * 前缀求和数组 * 通过栈的大小比较进出,可以确认到当前最小值的最远下标,也就是最大求和 * 升级版:顺序可以打乱 * @param args */public stat 阅读全文
posted @ 2021-06-20 15:07 好好的一个居士 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 不扯概念,直接看代码: 以可重入锁ReentrantLock的lock()方法切入 Sync是ReentrantLock的一个抽象的静态内部类,同时继承了AbstractQueuedSynchronizer也就是我们常说的AQS,同步队列,源码上的解释太长了,这个抽象类的作用,就是维护一个双向链表, 阅读全文
posted @ 2021-05-08 21:16 好好的一个居士 阅读(77) 评论(0) 推荐(0) 编辑
摘要: volatile:解决多线程场景的可见性问题 可见性问题:多线程的情况下,对于共享变量的读取,不一定是最新的值,就是可见性的问题 场景:多核cpu中,每个内核存在自己的高速缓存,线程的读取都是先从高速缓存中直接读取,读取不到才去内存中读取,优化了io开销过大,提升服务器性能,这是cpu的内存模型设计 阅读全文
posted @ 2021-05-05 13:48 好好的一个居士 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 定义:组合模式是一个整体部分的概念,可以与聚合对比理解,聚合个体与整体之间并无强依赖关系,不属于一个体系,比如电脑U盘的使用,u盘可以独立存在,不属于电脑结构体系。而组合模式则是所有对象属于一个结构体系,例如菜单的树形结构,上面的每一道菜如果独立出菜单则无法被定位。 生活中公司的组织架构,电脑的文件 阅读全文
posted @ 2021-05-04 18:00 好好的一个居士 阅读(79) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示