上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 通常关注时间复杂度, 对于常数阶和循环次数不变的时空复杂度,就不过多介绍了。 递归的时间复杂度: 对于只调用一次自身且递归次数程常数阶减少的递归,比如: void fun(int n) { if(n == 0) { return; } n--; return fun(n); } 它的时间复杂度是O( 阅读全文
posted @ 2023-07-23 07:45 时间羚羊 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Class.class 的形式会使 JVM 将使用类装载器将类装入内存(前提是类还没有装入内存),不做类的初始化工作,返回 Class 对象。Class.forName() 的形式会装入类并做类的静态初始化,返回 Class 对象。getClass() 的形式会对类进行静态初始化、动态初始化,返回引 阅读全文
posted @ 2023-07-19 15:29 时间羚羊 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 使用的jdbc api是不一样的,#使用的是preparedStatement能一定程度防止sql注入 不能混用,否则会当成$拼写sql 不能杜绝sql注入,因为有些符号放在sql引擎那里执行还是会产生转义,依然 可以注入 阅读全文
posted @ 2023-07-18 23:21 时间羚羊 阅读(5) 评论(0) 推荐(0) 编辑
摘要: java进行类加载时会先委托父类加载器进行加载 为什么这样 1、确保类唯一性,防止重复加载,因为从底层往上加载你肯定先使用父类加载器 2、保证核心api不被篡改,因为你写一个跟java核心api一摸一样的类,还使用自定义加载器,就会把java自己写的类改掉。(除非你连jvm一起改) 阅读全文
posted @ 2023-07-18 20:21 时间羚羊 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这种问题每个人经历不一样一般回答是不一样的, 通常要回答出两点,一个提现技术,二要提现设计上的优化思路,(其实这种问题已经有点想骗作业的嫌疑了,只不过没有指明具体场景)可以分两次回答两个不同场景,如果偏管理的话,还需要回答第三点对项目的总体设计及管理思想。 一般回答分布式的细节操作比较加分,比如我自 阅读全文
posted @ 2023-07-18 17:13 时间羚羊 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 基本数据结构 数组、链表和红黑树,链表长度大于等于8转化红黑树,链表长度小于等于6退化成链表,中间隔一个7是为了防止数据结构频繁转化,扩容因子0.75 初始化方法 put方法 第一步封装Node节点,key和value都在里面 否则 直接hash运算得到数组下标,把值放进去 如果 达到扩容的阈值,先 阅读全文
posted @ 2023-07-18 16:22 时间羚羊 阅读(4) 评论(0) 推荐(0) 编辑
摘要: qps 每秒查询数量 tps 每秒事务数量 吞吐量 runnerGo和metersphere 阅读全文
posted @ 2023-07-18 14:44 时间羚羊 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 饿汉式 直接public static final SingleInstance instance = new SingleInstance 懒汉式 double check 加 volatile 延迟加载(属于懒汉式) 静态内部类的方式,这个也行且属于懒汉是因为java一定会等类加载并且这种加载本 阅读全文
posted @ 2023-07-18 14:29 时间羚羊 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1、它其实spring公布的微服务开发的一套模式或者说规范 2、比如通常来说,它规定包含 注册中心、网关、配置中心这套基本组件, 它还需要rpc远程调用组件包括feign、dubbo、grpc等等,以及他们的负载均衡策略和熔断措施 3、它还可以包含健康度监控、性能监控和链路追踪等等 阅读全文
posted @ 2023-07-17 21:36 时间羚羊 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 这问题还真不是很好答,我准备几个大家可以去看看: 1、关于数据权限的统一配置和处理方式 第一种,简单方案,针对具体场景,比如项目成员配置,用的项目id加成员id的方式,再用拦截器经过对应controller都提前进行校验;然后为什么没用mybatis的插件修改实际执行sql,因为这个查询实在过于频繁 阅读全文
posted @ 2023-07-17 20:50 时间羚羊 阅读(86) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页