每日一题
是馄饨呀
我想,认真工作、相信生活的人,才会被世界温柔以待!
展开
-
【力扣】 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution { public int[] twoSum(int[] nums, int target) {原创 2020-09-28 16:50:37 · 85 阅读 · 0 评论 -
【每日一题】假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?
使用keys指令可以扫出指定模式的key列表。对方接着追问:如果这个redis正在给线上的业务提供服务,那使用keys指令会有什么问题?这个时候你要回答redis关键的一个特性:redis的单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。这个时候可以使用scan指令,scan指令可以无阻塞的提取出指定模式的key列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用keys指令长。...转载 2020-08-11 21:24:36 · 967 阅读 · 0 评论 -
Jdbc4.0版本自动加载注册数据库驱动是什么机制
答案:其使用了java的 SPI 机制,即你不需要用类似Class.forName()的代码注册JDBC驱动,DriverManager类将自动去查找项目jar中能用的数据库驱动来连接数据库。SPI 机制:参考链接:https://www.jianshu.com/p/46b42f7f593cJDBC4.0 驱动加载过程:参考链接:https://blog.csdn.net/weistar103/article/details/84381927...原创 2020-07-10 14:58:54 · 328 阅读 · 4 评论 -
【每日一题】ThreadLocal为何不用HashMap或者ConcurrentHashMap来实现
答案:因为无论使用HashMap或者ConcurrentHashMap,在底层上都会造成多个线程在一个对象上进行竞争的情况,并没有真正意义上满足一个线程持有一个变量的本地副本这种设计思想,ThreadLocal在实现上,是让每个线程在自己的内部单独持有一个变量,这样的话,线程之间就不会有竞争出现了。...转载 2020-07-10 14:41:53 · 1379 阅读 · 0 评论