上一页 1 2 3 4 5 6 ··· 15 下一页

2024年6月25日

AQS为什么使用双向队列

摘要: AQS(AbstractQueuedSynchronizer)使用双向链表的主要原因是为了实现等待队列(Wait Queue)。这个等待队列是用于管理在同步器上等待的线程,例如在获取锁时发现锁被占用,线程就会加入到等待队列中等待。 使用双向链表的优点包括: FIFO(先进先出)的顺序:双向链表可以保 阅读全文

posted @ 2024-06-25 13:39 myf008 阅读(10) 评论(0) 推荐(0) 编辑

线程池源码的几个问题

摘要: 面试官: 小伙子,我看你简历上写的项目中用到了线程池,你知道线程池是怎样实现复用线程的? 我: 线程池复用线程的逻辑很简单,就是在线程启动后,通过while死循环,不断从阻塞队列中拉取任务,从而达到了复用线程的目的。 具体源码如下: // 线程执行入口 public void run() { run 阅读全文

posted @ 2024-06-25 11:20 myf008 阅读(1) 评论(0) 推荐(0) 编辑

2024年6月24日

海量数据中的TOPK问题

摘要: 面试现场:海量数据中的TOPK问题 目录 1、只用2GB内存在20亿个整数中找到出现次数最多的数 思路 2、40亿个非负整数中找到没出现的数 思路 进阶问题 3、找到100亿个URL中重复的URL以及搜索词汇的topK问题 思路 补充题目 4、40亿个非负整数中找到出现两次的数和所有数的中位数 思路 阅读全文

posted @ 2024-06-24 11:01 myf008 阅读(2) 评论(0) 推荐(0) 编辑

2024年6月21日

count(1)与count(*)区别

摘要: count(1)和count(*)都是用来计算数据库表中行数的函数,但它们有一些微小的区别。 count(1):这个函数会计算指定列(在这里是1)中非空值的数量。在实际应用中,通常使用 count(1) 来计算行数,因为它更简洁,而且不需要关心具体的列名。 count(*):这个函数会计算表中所有行 阅读全文

posted @ 2024-06-21 11:01 myf008 阅读(5) 评论(0) 推荐(0) 编辑

2024年6月19日

50道sql题

摘要: /*student(学号#,姓名,性别,年龄) course(课程号#,课程名,教师号#) score(学号#,课程号#,成绩) teacher(教师号#,教师名)*/ --1.查询“001”课程比“002”课程成绩高的所有学生的学号 select a.stuNo from score a,scor 阅读全文

posted @ 2024-06-19 16:45 myf008 阅读(3) 评论(0) 推荐(0) 编辑

2024年3月28日

基于数据库实现分布式锁

摘要: 基于数据库实现分布式锁 实现 1. 创建表 CREATE TABLE `methodLock` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `method_name` varchar(64) NOT NULL DEFAULT '' COM 阅读全文

posted @ 2024-03-28 19:45 myf008 阅读(20) 评论(0) 推荐(0) 编辑

2024年3月22日

锁--问题

摘要: 1.什么是锁逃逸? 锁逃逸是指在编译器优化过程中,当一个对象在一个同步块内部被加锁,但在同步块外部被其他线程引用或访问时,锁会从原本的范围内逃逸到更大的范围内,即锁对象的作用域扩大。这种情况下,原本只在同步块内有效的锁会变得更广泛地影响到其他线程,可能导致锁的级别升级(比如从偏向锁或轻量级锁升级为重 阅读全文

posted @ 2024-03-22 15:10 myf008 阅读(3) 评论(0) 推荐(0) 编辑

2023年11月7日

springboot nacos使用yaml配置list方式

摘要: 方式一 配置项: app: demo: list1: xiaohong, xiaoming list2: > xiaohong, xiaoming list1和list2看起来是2种风格,其实都是同一种写法,以逗号分隔 java代码: @Data @Component public class Ap 阅读全文

posted @ 2023-11-07 14:23 myf008 阅读(1982) 评论(0) 推荐(0) 编辑

2023年10月30日

CPU 100%问题排查

摘要: 引用: https://blog.csdn.net/qq_37515544/article/details/123921604 https://blog.csdn.net/yujing1314/article/details/114524668 一、定位哪个程序占用的CPU较高linux命令:top 阅读全文

posted @ 2023-10-30 10:43 myf008 阅读(67) 评论(0) 推荐(0) 编辑

2022年6月21日

Java多线程-对象内置锁(ObjectMonitor)

摘要: 1、介绍Monitor是在JVM层对Java并发控制synchronized的重量级锁的实现。通过ObjectMonitor来实现并发的锁控制。同时也是Java基础对象Object的wait,nofity方法的底层支持实现。 2、对象模型2.1 数据结构图ObjectMonitor整体上可以分为两部 阅读全文

posted @ 2022-06-21 15:07 myf008 阅读(3167) 评论(0) 推荐(2) 编辑

上一页 1 2 3 4 5 6 ··· 15 下一页

导航