面试题
文章平均质量分 76
m0_46218511
这个作者很懒,什么都没留下…
展开
-
并发编程 -- ThreadLocal
一、ThreadLocal是什么? 并发情况下,一般可以采用synchronized关键字来保证共享变量的线程安全性。ThreadLocal在解决线程安全问题上提供了一种新的思路,即ThreadLocal为每一个线程提供了一个独立的变量副本(每个Thread中会都有一个ThreadLocal.ThreadLocalMap的成员属性来存放线程变量副本),来避免多个线程对共享变量的访问冲突问题。在某些情况下,ThreadLocal在解决线程安全问题上更加灵活、方便。 如果我们创建了一个ThreadLocal变量原创 2021-05-17 16:05:39 · 182 阅读 · 1 评论 -
并发编程 -- 创建线程的四种方式
一、继承Thread类 二、实现Runnable接口 三、实现Callable接口 四、线程池方式原创 2021-12-03 22:21:55 · 243 阅读 · 0 评论 -
SpringAOP -- 应用
一、作用 作用:在不修改源代码的情况下,可以实现功能的增强。 aop思想:基于代理思想,对原来目标对象,创建代理对象,在不修改原对象代码情况下,通过代理对象,调用增强功能的代码,从而对原有业务方法进行增强 ! 二、应用场景 场景一: 记录日志 场景二: 监控方法运行时间 (监控性能) 场景三: 权限控制 场景四: 缓存优化 (第一次调用查询数据库,将查询结果放入内存对象, 第二次调用, 直接从内存对象返回,不需要查询数据库 ) 场景五: 事务管理 (调用方法前开启事务, 调用方法后提交关闭事务 ) 三、Sp原创 2021-03-18 22:33:43 · 78 阅读 · 0 评论 -
大数据面试题
一、spark – 提交流程 spark submit启动一个进程,和rm通信,申请资源在合适的nm上启动am,am启动一个driver线程,driver线程启动后,向rm申请资源创建计算对象,rm返回可用资源列表给am,am在nm上启动executor进程,excutor向am反向注册,excutor全部注册完,driver继续执行main方法,执行到action算子的时候,触发一个job,并根据宽依赖划分阶段,每个stage根据最后一个rdd的分区数量划分task,之后将task分发到各个executo原创 2021-11-18 02:31:38 · 501 阅读 · 0 评论 -
java面试题
一、mybatis中和$与#的区别 $是字符串拼接 '#'是变量替换,可防止SQL注入 二、@SpringBootApplication注解原创 2020-11-24 18:25:31 · 243 阅读 · 0 评论 -
Kakfa -- 精准一次性消费
一、定义 精确一次消费(Exactly-once) 是指消息一定会被处理且只会被处理一次。不多不少就一次处理。 至少一次消费(at least once),主要是保证数据不会丢失,但有可能存在数据重复问题。 最多一次消费 (at most once),主要是保证数据不会重复,但有可能存在数据丢失问题。 二、问题如何产生 数据何时会丢失: 比如实时计算任务进行计算,到数据结果存盘之前,进程崩溃,假设在进程崩溃前kafka调整了偏移量,那么kafka就会认为数据已经被处理过,即使进程重启,kafka也会原创 2021-11-13 19:59:16 · 901 阅读 · 1 评论