Loading

摘要: 线程通信与线程同步 ​ 在并发编程中需要解决两个关键问题:1.线程之间如何通信 2.线程之间如何同步。线程通信是指线程之间以何种机制来交换消息。线程之间通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,通过写-读内存中的公共状态进行通信。而在消息传递的并发模型里 阅读全文
posted @ 2022-05-31 17:10 Sierra、 阅读(387) 评论(0) 推荐(1) 编辑
摘要: Docker是什么 Docker 是一个用于开发、发布和运行应用程序的开放平台。 Docker 能够将应用程序与基础架构分离,可以像管理应用程序一样管理基础设施。Docker 提供了在容器的隔离环境中打包和运行应用程序的能力。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容 阅读全文
posted @ 2022-05-22 11:15 Sierra、 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 进程 进程就是应用程序在内存中分配的空间,也就是正在运行的程序,各个进程之间互不干扰。同时进程保存着程序每一个时刻运行的状态。进程的两个基本元素是程序代码和与代码关联的数据集。进程执行的任意时刻包含了以下元素: 标识符:与进程相关的唯一标识符,用来区分其他线程 状态:若进程正在执行,则进程处于运行态 阅读全文
posted @ 2022-05-01 19:21 Sierra、 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 计算机基本构成 计算机主要由处理器,存储器,输入/输出设备组成。 处理器:控制计算机的操作,执行程序数据处理,只有一个处理器时,它通常指中央处理器 (CPU) 内存:存储数据和程序,该类存储器是易失性的,即计算机关机时存储器的内容会丢失,而磁盘存储器在计算机关闭时不会丢失 输入/输出模块:在计算机与 阅读全文
posted @ 2022-04-17 00:33 Sierra、 阅读(427) 评论(0) 推荐(0) 编辑
摘要: HashMap简介 ​ HashMap是一种存储K-V类型的容器,HashMap底层数据结构为数组+链表+红黑树(jdk 1.8新增),它根据键的HashCode值存储数据,获取元素的时间复杂度为O(1)。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致 阅读全文
posted @ 2022-03-20 23:13 Sierra、 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 认识OAuth 2.0 OAuth 2.0 是行业标准的授权协议。 OAuth 2.0 专注于客户端开发人员的简单性,同时为 Web 应用程序、桌面应用程序、移动设备提供特定的授权流程。 应用场景 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲 阅读全文
posted @ 2022-01-22 02:28 Sierra、 阅读(210) 评论(0) 推荐(3) 编辑
摘要: LinkedList源码分析 LinkedList底层数据结构是双向链表,它同时实现了List和Deque两个接口,插入和删除元素的时间复杂度均为O(1), 相比于ArrayList它在插入和删除元素操作上具有明显优势,同样它也是非线程安全的容器。由于实现了deque接口,因此linkedList也 阅读全文
posted @ 2021-12-26 18:46 Sierra、 阅读(31) 评论(0) 推荐(0) 编辑
摘要: ArrayList实现了List接口,它的底层数据结构是数组,因此获取容器中任意元素值的时间复杂度为O(1),新增或删除元素的时间复杂度为O(N)。每一个ArrayList实例都有一个capacity变量,capacity是ArrayList用于存储元素的容器大小,当有新元素添加到容器时,capac 阅读全文
posted @ 2021-12-26 02:36 Sierra、 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 消费者组(Consumer Group)是什么 Consumer Group 是kafka提供的可扩展且具有容错性的消费者机制,消费者组内有多个消费者,它们被同一个ID所标识,这个ID被称为Group ID,组内所有的消费者通过协调机制一起消费订阅主题的分区,每个分区只能由一个消费者实例去消费。 消 阅读全文
posted @ 2021-12-25 13:37 Sierra、 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Kafka生产者 生产者的首要功能就是向某个topic的某个分区发送一条消息,分区器决定了生产者要向topic的哪个分区写入消息。Kafaka producer提供了一个默认的分区器,如果发送的消息指定了key,那么分区器会根据key的哈希值选择目标分区,假如将要发送的消息没有指定key,分区器会采 阅读全文
posted @ 2021-10-15 20:52 Sierra、 阅读(45) 评论(0) 推荐(0) 编辑