- 博客(5)
- 收藏
- 关注
原创 SpringBoot 核心注解及启动过程
一、SpringBoot核心注解及其作用 @SpringBootConfiguration 声明为配置类(根配置类,首先扫描该类,本身是一个IOC容器的配置类),将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。 SpringBoot使用Java Config技术进行配置,Java Config使用注解和Java代码的方式代替xml配置文件 ...
2020-02-20 23:56:45
2909
原创 ThreadLocal
一、什么是ThreadLocal ThreadLocal是一个本地线程副本变量工具类,主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰。 在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不同的变量值完成操作的场景。 【注意】 我们平常说的线程安全主要是保证共享数据的并发访问问题,通过sychronized锁或者CAS无锁策略来保证数据的一致性。 每个...
2020-02-19 16:20:33
205
原创 剑指offer 数据流中的中位数
一、题目描述 如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。 如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 二、解题思路及代码 使用大根堆和小根堆实现 大根堆:堆顶结点的关键字是堆里所有结点关键字中最大者 小根堆:堆顶结点的关...
2020-02-19 14:10:28
113
原创 剑指offer 最小的K个数
题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 解题思路及代码 输出最小的k个数即使用可以保存最值的容器(堆),输出K次最值。 使用优先级队列PriorityQueue来实现 思路一 使用优先级队列建立小根堆,将数组中数字依次插入小根堆 最后循环k次,依次取出小根堆中的堆顶元素,这k个堆顶元素就是最小k个值 im...
2020-02-19 11:08:26
150
原创 leetcode703. 数据流中的第K大元素
一、题目描述 设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。 二、解题思路及代码 保存前K个最大的值,所以需要对这K个元素进行排序。 因此采用优先级队列,维护一...
2020-02-18 23:44:24
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人