摘要:
1 Sychronized 和 ReentrantLock区别 2 线程池 上图中的任务拒绝策略描述有误,上图是拒绝机制。拒绝策略有下面这4种 拒绝策略提供顶级接口 RejectedExecutionHandler ,其中方法 rejectedExecution 即定制具体的拒绝策略的执行逻辑。jd 阅读全文
摘要:
1 描述 使用原生Java方式生成雪花算法, 雪花算法是推特公司开源的生成唯一ID的算法, 性能更高,可以避免对第三方依赖的使用, 减少耦合 1)能满足高并发分布式系统环境下ID不重复 2)基于时间戳,可以保证基本有序递增,即按照时间趋势递增(有些业务场景对这个有要求) 3)算法本身不依赖第三方的库 阅读全文
摘要:
相关面试题可以参考 1 缓存雪崩 在同一时间类,缓存大部分失效, 导致数据库并发压力过大挂掉 场景: 应用启动时,没有进行缓存; 所有缓存都设置的是同一时间; 缓存服务挂掉了 缓存预热 : 是在应用启动后先不对外提供服务, 可以写一些方法去调用接口触发缓存 互斥锁: 锁方法或锁key, 只允许一个请 阅读全文
摘要:
1 存储引擎 2 explain各个字段含义 3 MyISAM和InnoDB mysql的data目录下的myisam文件.frm表结构文件, .MYD数据文件, .MYI索引文件 4 分库分表 常用的有mycat等 可分为水平拆分和垂直拆分, 垂直拆分是指将一个库中的表分散到多个库中,但是这个对性 阅读全文
摘要:
1 pull 和push区别 2 kafka架构设计 3 kafka消息高可靠 阅读全文
摘要:
1 静态代理 2 什么是动态代理? 动态代理是通过创建代理对象,在不改变原有代码的基础上,给程序增加新的功能,实现了程序的功能增强 3 动态代理有哪些 JDK动态代理 CGLB动态代理 4 jdk动态代理 使用了JDK中的InvocationHandler接口,Method类和Proxy类。JDK的 阅读全文
摘要:
1 从容器中拿对象: getBean(Class):按照类型拿bean;getBean(String):按照名字拿bean;getBean(String,Class):按照名字和类型拿;(推荐) 2 DI依赖注入 3 spring加载过程 4 FactoryBean 5 6 AOP 面向切面编程 阅读全文
摘要:
1 mvc定义 2 springmvc流程 3 4 相关注解 @Controller 控制器@Service 业务逻辑层@Repositry DAO层@Component 工具类相关的. @RequestParam @RequestMapping @RequestBody 3 执行流程源码分析 阅读全文
摘要:
1 数据类型 2 ++i 和 i++ 3 堆存储的是实际值, 栈存储的是堆空间的引用 4 数组拷贝 5 排序算法 5.1 冒泡排序(bubble sort): 这是最简单的排序法,基本思路:对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置 , 经过第一轮比较排序后可得出最大值 阅读全文
摘要:
spi(Service Provider Interface) spi是一种api的方式,为了能够对第三方组件更好扩展的一种机制,可以增强框架的扩展或者替换一些组件。 简单的总结下java SPI机制的思想:我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块、xml解析模块、jdbc模 阅读全文