学习笔记
ajaajaja0
这个作者很懒,什么都没留下…
展开
-
Redis基础数据结构
Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。原文地址String(字符串)字符串 string 是 Redis 最简单的数据结构。Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据。不同类型的数据结构的差异就在于 value 的结构不一样。字符串结构使用非常广泛,一个常见的用途就是缓存用户信息。我们将用户信息结构体使用原创 2020-10-31 17:42:08 · 102 阅读 · 0 评论 -
消息队列核心-如何保证消息不丢失
使用消息队列,绕不开的一个问题就是如何保证消息不丢失,现在主流的消息中间件都提供了完整的消息可靠性保证机制,可以确保消息的可靠传递,本文以rocketMq为例介绍如何保证消息不丢失,其他消息队列类似。原文地址消息传递过程基本上所有的消息都划分为三个阶段生产、存储、消费,如下图生产阶段: 在这个阶段,从消息在 Producer 创建出来,经过网络传输发送到 Broker 端。存储阶段: 在这个阶段,消息在 Broker 端存储,如果是集群,消息会在这个阶段被复制到其他的副本上。消费阶段: 在这个原创 2020-09-02 22:24:48 · 302 阅读 · 0 评论 -
消息队列核心-消息模型
目前消息队列有很多种,如kafaka、rocketMq、rabbitMq,所有消息队列的模型都比较类似,基本都包括像队列(Queue)、主题(Topic)或是分区(Partition)等概念。本文详细介绍下消息队列中这些概念的具体含义,文章参考:极客时间-消息队列高手队列模型如上图是最早的消息模型,也是最直观的消息模型,我最先理解消息模型的时候,就是这么理解的,消费者发送消息到队列中,生产者从队列中消费消息,如果只有一个生产者、消费者这种模型应该没啥问题。如果存在多个消费者,在这种模型中每个消费者是竞原创 2020-08-30 17:26:10 · 191 阅读 · 0 评论 -
java线程池源码解析
主要介绍线程池相关知识,关于线程池,首先我们思考下为什么要用线程池。如果单纯的使用线程,线程的创建和销毁都是自己来完成,如果并发请求过多,可能造成资源耗尽。线程池可以对线程进行统一分配,调优和监控。本篇文章为《图灵学院》课程笔记降低资源消耗(线程无限制地创建,然后使用完毕后销毁)提高响应速度(无须创建线程)提高线程的可管理性java是如何实现和管理线程池的,jdk5开始把工作单元和任务执行分离,工作单元包括callable、runnable,而执行机制由Executor提供,Executor的实原创 2020-08-22 17:14:06 · 124 阅读 · 0 评论 -
jvm由浅入深
jvm由浅入深JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。以上是百度对于jvm的介绍jvm的组成jvm主要由类加载器、运行时原创 2020-08-14 00:12:49 · 164 阅读 · 0 评论