详情

全站展示位

用Redis做延时队列,具体应该怎么实现?_吴师兄学算法

可以使用Zset实现。member是任务描述,score是执行时间,然后用定时器定时去扫描,一 旦有执行时间小于或等于当前时间的任务,就立即执行。。。。

推荐

Innodb中的事务隔离级别和锁的关系_吴师兄学算法

前言 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事

【春节特辑】神奇的二进制_吴师兄学算法

问题一 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有 1 瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药? 解法 首先将这 1000 个瓶子进行编

【轻松一刻】生活中用过的那些高级算法知识_吴师兄学算法

打牌排序 回家过年要和小伙伴们打牌,为了显示我的逼格不一样,我不想使用 插入排序,决定带四个桶去打牌!!! 缓存 前几天去交房租,房东突然问我: 小吴呀,你是程序员,问你个问题哈,我孩子的玩具现在多起来了,弄的满屋子都是,然后他要玩什么玩具

Java中如何终止运行中的线程?while(true){i++;}死循环是如何跳出的?_吴师兄学算法

Java中 终止线程通常意味着在线程处理任务完成之前停掉正在做的操作,也就是放弃当前的操作。 在 Java 中有以下 3 种方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当 run() 方法完成后线程中止。 使用stop

心灵鸡汤

004、《农夫与草帽》

曾见一农夫,耕地之余,于田埂小憩,瞅着手中残破的草帽心想:扔掉算了,这草帽也太破了。

不料此时一阵风吹来,草帽随着调皮的风翩翩飞起,气急败坏的他翻埂越沟地追赶,好几次他的手指刚刚触到草帽,风又将其高高扬起,他怒目圆睁地盯着草帽狠劲追赶。追了好久,那顶草帽终于被他攥在了手里。

随后,他用尽余存不多的力气把草帽撕为两半,还嫌不解气,扔在地上狠狠地踩了两脚,咬牙切齿地说:“我让你跑!”

猛然想起那头解了缰绳的耕牛,扭头一瞧,隔壁农田里的庄稼已被吃掉了一半。

列表展示

主站展示位

带宽、延时、吞吐率、PPS 这些都是啥?_吴师兄学算法

Linux 网络协议栈是根据 TCP/IP 模型来实现的,TCP/IP 模型由应用层、传输层、网络层和网络接口层,共四层组成,每一层都有各自的职责。 应用程序要发送数据包时,通常是通过 socket 接口,于是就会发生系统调用,把应用层的数

作为服务注册中心,Eureka比Zookeeper好在哪里?_吴师兄学算法

著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错 性)。由于分区容错性P在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。 因此,Zookeeper 保证的是CP, Eureka 则是

说下进程和线程的联系与区别_吴师兄学算法

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分 配和调度的一个独立单位 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本 单位 进程和线程的关系 一个线程只能属于一个进

什么是微服务?_吴师兄学算法

微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服 务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终 价值。 服务之间采用轻量级的通信机制互相沟通(通常是基于

微服务之间是如何通讯的?_吴师兄学算法

第一种:远程过程调用(Remote Procedure Invocation) 直接通过远程过程调用来访问别的service。 示例:REST、gRPC、Apache、Thrift 优点: 简单,常见。因为没有中间件代理,系统更简单 缺点:

说下进程的状态_吴师兄学算法

就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获 得CPU,便可立即执行 执行:进程已经获得CPU,程序正在执行状态 阻塞:正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行

了解过什么是“伪共享”吗?_吴师兄学算法

CPU缓存从内存读数据时,是按缓存行读取的,即使只用到一个变量,也要将整行数据进行读 取,这行数据量可能包含其他变量。当多个线程同时修改同一个缓存行里的不同变量时,由于 同时只能有一个线程在操作,所以相比将每个变量放到不同缓存行里,性能会有

单片,SOA 和微服务架构有什么区别?_吴师兄学算法

单片架构类似于大容器,其中应用程序的所有软件组件组装在一起并紧密封装。 一个面向服务的架构(SOA)是一种相互通信服务的集合。通信可以涉及简单的数据传递,也 可以涉及两个或多个协调某些活动的服务。 微服务架构是一种架构风格,它将应用程序构建

为什么进程上下文切换比线程上下文切换代价高?_吴师兄学算法

进程切换分两步: 切换页目录以使用新的地址空间 切换内核栈和硬件上下文 对于linux来说,线程和进程的最大区别就在于地址空间,对于线程切换,第1步是不需要做 的,第2是进程和线程切换都要做的 切换的性能消耗: 线程上下文切换和进程上下问切

如何保障请求执行顺序_吴师兄学算法

一般来说,从业务逻辑上最好设计系统不需要这种顺序的保证,因为一旦引入顺序性保障,会导致系统复杂度的上升,效率会降低,对于热点数据会压力过大等问题。 首先使用一致性hash负载均衡策略,将同一个id的请求都分发到同一个机器上面去处理,比如 订

说说synchronized的实现原理_吴师兄学算法

在 Java 中,每个对象都隐式包含一个 monitor(监视器)对象,加锁的过程其实就是竞争 monitor 的过程,当线程进入字节码 monitorenter 指令之后,线程将持有 monitor 对象, 执行 monitorexit

服务注册和发现是什么意思?Spring Cloud 如何实现?_吴师兄学算法

当我们开始一个项目时,我们通常在属性文件中进行所有的配置。随着越来越多的服务开发和 部署,添加和修改这些属性变得更加复杂。有些服务可能会下降,而某些位置可能会发生变 化。手动更改属性可能会产生问题。 Eureka 服务注册和发现可以在这种情

Spring Cloud 解决了哪些问题?_吴师兄学算法

与分布式系统相关的复杂性 – 包括网络问题,延迟开销,带宽问题,安全问题。 处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信。 解决冗余问题 – 冗余问题经常发生在分布式系统中。 负载平衡 – 改进跨多个计算资源(例

Java里的线程有哪些状态?_吴师兄学算法

初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统 的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该

LeetCode 第 199 号问题:二叉树的右视图_吴师兄学算法

本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一。 个人网站:,目前通过

面试官:为什么在new 对象里面使用自动注入对象会报空指针异常?_吴师兄学算法

根本原因在于当Spring框架帮我们管理的时候就会自动的初始化接下来会用到的属性,而通过new对象的方式,在该new对象中使用到的一些实例就需要自己去做初始化,否则就会报空指针异常。 如下例子所示: TestService 通过@Autow

谈谈你对缓存的使用和理解_吴师兄学算法

缓存的使用,是一个逐渐演进的过程。 问一下你自己,最直接的使用缓存的原因是什么? 无它,唯快而已! 追溯一下自己最开始使用缓存的场景,一些数据库里存储的不变的配置信息,服务启动时,直接加载到本地公共模块,方便其它功能模块共享使用。这便是最基

已经用k8s来部署运维各个微服务的组件,是否可以不用整套微服务?_吴师兄学算法

问题: 已经用k8s来部署运维各个微服务的组件,是否可以不用整套微服务框架了,比如熔断,服务发现等可以不用呢? 回答: 可以,但要看情况。 以主流的SpringCloud为例,其提供的能力与Kubernetes既有重合也有互补,我们举几个例

一个我超喜欢的动态博客系统,五分钟即可部署上线!_吴师兄学算法

前言 Halo 是我折腾过的众多博客系统里面,最好、最容易上手的动态博客系统之一( solo 也是),轻快,简洁,功能强大。 正文 上周末正在募集团队一起写算法题,群里讨论需要一个网站来存放文章,恰巧我有一个已经备案但闲置的域名。 马上开干

你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了_吴师兄学算法

每日一句英语学习,每天进步一点点: 前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的。 来了,今天又来图解 TCP 了,小林可能会迟到,

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。