上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 51 下一页
摘要: 1 前言 闲来无事,复习复习并发中常用到的一些协调多线程的工具哈。 2 基于Java队列的实现 生产者跟消费者之间要协调,他俩会出现碰撞的地方就是存放东西的容器,所以我们可以直接拿一个线程安全的队列来做容器即可,比如我这里用的 ArrayBlockingQueue: /** * @author: x 阅读全文
posted @ 2024-02-17 10:42 酷酷- 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 1 前言 Redis,我们做开发的想必都用过,他是一种缓存,主要用于快速响应结果嘛。比如我们要获取商品的详情,有日销量、月销量、库存数量、评价数量,这些数据都在Redis 缓存中,那么我们是要拿四趟?还是一趟呢?当然是一趟最好呀。接下来我们来看看为什么我们要一趟这么做,以及怎么做。 2 为什么需要批 阅读全文
posted @ 2024-02-16 16:34 酷酷- 阅读(2975) 评论(0) 推荐(0) 编辑
摘要: 1 题目 在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不大于两人通过,他们只有一个手电筒,所以每次过桥的两个人需要把手电筒带回来,i号小朋友过桥的时间为T[i],两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。 阅读全文
posted @ 2024-02-15 13:40 酷酷- 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1 题目 来自算法导论的一道经典题目: 2 解答 动态规划原理虽然已经用动态规划方法解决了上面问题,但是大家可能还跟我一样并不知道什么时候要用到动态规划。总结一下上面的斐波拉契数列和钢条切割问题,发现两个问题都涉及到了重叠子问题,和最优子结构。 ①最优子结构 用动态规划求解最优化问题的第一步就是刻画 阅读全文
posted @ 2024-02-14 13:11 酷酷- 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1 抓包 今儿想抓一下自己本地服务的请求的包数据,发现 WireShark 上抓不到,百度搜了搜尝试了下可以,这里简单记录下: 主要是看看上传一个文件时的交互,会发现当你上传一个文件的话,他会先将一次TCP的请求,并且标志位的 PUSH 标志位开启,以及文件的大小、文件名称发送给后端,PUSH就是数 阅读全文
posted @ 2024-02-13 16:20 酷酷- 阅读(1053) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这一节我们讲解Tomcat的NioEndPoint中ConcurrentLinkedQueue 的使用。 2 Tomcat的容器结构 本节讲解apache-tomcat-7.0.32-src 源码中ConcurrentLinkedQueue 的使用。 首先介绍 Tomcat 的容器结构以及 阅读全文
posted @ 2024-02-11 15:56 酷酷- 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1 前言 看了那么多 Java 提供的队列工具,那么我们这节开始看看哪些地方用到了这些队列哈。 这一节我们讲解logback异步日志打印中ArrayBlockingQueue的使用。 2 异步日志打印模型概述 在高并发、高流量并且响应时间要求比较小的系统中同步打印日志已经满足不了需求 了,这是因为打 阅读全文
posted @ 2024-02-11 15:22 酷酷- 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们继续看看另一个队列 PriorityBlockingQueue,优先级的哈。 2 PriorityBlockingQueue 介绍 PriorityBlockingQueue 是带优先级的无界阻塞队列,每次出队都返回优先级最高或者 最低的元素。其内部是使用平衡二叉树堆实现的,所以直 阅读全文
posted @ 2024-02-10 18:38 酷酷- 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1 前言 JDK 中提供了一系列场景的并发安全队列。总的来说,按照实现方式的不同可分为阻 塞队列和非阻塞队列,前者使用锁实现,而后者则使用CAS非阻塞算法实现。这节我们来看看 ConcurrentLinkedQueue。 2 ConcurrentLinkedQueue 介绍 ConcurrentLi 阅读全文
posted @ 2024-02-10 18:19 酷酷- 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 1 前言 最近复习 AQS,回顾下其中的知识哈。 2 概述 2.1 AQS——锁的底层支持 AbstractQueuedSynchronizer 抽象同步队列简称 AQS,它是实现同步器的基础组件, 并发包中锁的底层就是使用 AQS 实现的。另外,大多数开发者可能永远不会直接使用 AQS,但是知道其 阅读全文
posted @ 2024-02-09 21:16 酷酷- 阅读(35) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 51 下一页