首页 > 其他分享 >概述 - 核心原理

概述 - 核心原理

时间:2023-07-17 11:45:18浏览次数:27  
标签:实战 线程 核心 编程 并发 概述 原理

本书从实际需求出发,全面并且细致地介绍了有关高并发编程的基础知识、核心原理、实战案例和系统架构的相关知识。

「基础篇」:介绍了操作系统线程调度的相关知识和并发编程的基础知识。操作系统线程调度的知识包含:冯诺依曼计算机模型、CPU架构、操作系统线程和Java与操作系统线程的关系。并发编程的基础知识包含:并发编程的基本概念、并发编程的风险和并发编程中的锁等。

「核心原理篇」:以大量图解的方式详细介绍了并发编程中各项技术的核心原理。涵盖并发编程的三大核心问题、并发编程的本质问题、原子性的核心原理、可见性与有序性的核心原理、synchronized核心原理、AQS核心原理、Lock锁核心原理、CAS核心原理、死锁核心原理、锁优化、线程池核心原理和ThreadLocal核心原理。深入理解核心原理篇的相关技术,有助于更好的理解高并发编程。

「实战案例篇」:在核心原理篇的基础上,实现了四个完整的实战案例。包含:手动开发线程池实战、基于CAS实现自旋锁实战、基于读写锁实现缓存实战和基于AQS实现可重入锁实战。每个实战案例都是核心原理篇的落地实现,掌握这四个实战案例的实现方式,有助于更好的在实际项目中开发高并发程序。

「系统架构篇」:以高并发、大流量场景下典型的分布式锁架构和秒杀系统架构为例,深入剖析了分布式锁和秒杀系统的架构细节,使读者能够站在更高的架构层面来理解高并发编程。

  • GitHub:https://github.com/binghe001/mykit-concurrent-principle。

  • Gitee:https://gitee.com/binghe001/mykit-concurrent-principle。

 

标签:实战,线程,核心,编程,并发,概述,原理
From: https://www.cnblogs.com/gapu/p/17559621.html

相关文章

  • [笔记]组成原理_计算机系统概述
    计算机系统的层次结构硬件和软件系统共同构成了一个完整的计算机系统。冯·诺依曼机的基本思想——“存储程序”其特点如下:采用存储程序的工作方式。计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备五大部件组成。指令和数据以同等地位存储在存储器中,形式上没......
  • 容器原理之cgroup
    “以docker为代表,轻量、便携的container使得打包和发布应用非常容易。系列文章容器原理主要分析container用到的核心技术,主要包括Linuxnamespace,cgroups,overlayfs,看完这些内容,你将可以手动创建一个和container类似的环境。cgroup(controlgroup)是一个内核特性,用于限......
  • [笔记]组成原理_输入/输出系统
    I/O接口I/O接口的功能IO接口的主要功能有:进行地址译码和设备选择。(CPU送来选择外设的地址码后,接口必须对地址进行译码,以产生设备选择信息,使主机能和指定外设交换信息。)实现主机和外设的通信联络控制。(解决主机与外设时序配合问题,协调不同工作速度的外设和主机之间交换信息,以......
  • 【原创】虚拟化技术及实时虚拟化概述
    版权声明:本文为本文为博主原创文章,未经本人同意,禁止转载。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/实时虚拟化技术是一种针对实时应用场景的虚拟化技术,它要求在保证虚拟化优势的同时,满足严格的时间约束和高可靠性要求。本系列文章文将对实时虚拟化技术进行介......
  • python编程-核心知识
                  ......
  • SSD概述
    写在前面:我们知道信息存储设备随着我们社会的发展在不断发展,从光盘->磁盘->半导体存储设备,就这样一步一步改进,技术的进步影响着我们的生活,作为普通人,最直观的感受应该就是电脑开机速度的提升,下图就是SSD开机时间统计对比最近在学习有关SSD方面的知识,随便也做一些记录,以备后续查......
  • 08、MVCC原理
    本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢。1、什么是MVCCMVCC(Multiversionconcurrencycontrol)是一个基于多版本技术实现的一种并发控制机制。常见的并发机制有哪些?MVCC的优点在哪里呢?比如数据库中的悲观锁,也就是通过锁机制确保同一时刻只能有一个事务......
  • 高并发的哲学原理(七)-- 最难以解决的单点:数据库以及它背后的存储
    前面六篇文章,我们解决了web服务的百万QPS问题,从本文开始,我们将用三篇文章,尝试构建出百万QPS后端系统所需要的数据库。首先要明确,这里的数据库指的是关系型数据库,即满足ACID原则并用SQL语言进行操作的持久性(掉电数据不丢)数据库。当然,在追求高并发的过程中,我们将不可避免......
  • 高并发的哲学原理(八)-- 将 InnoDB 剥的一丝不挂:B+ 树与 Buffer Pool
    前面几篇文章,我们大多数时候都在挥舞着架构大棒,对性能问题进行降维打击,但是本文不一样,本文要啃硬骨头:吃透MySQL的InnoDB存储引擎,以便于我们能顺利地看懂下一篇文章。同时,本文也是一篇比较完善的讲解InnoDB底层设计原理的文章,单独作为InnoDB的一篇详解文章我认为也是极好......
  • linux 内存管理 --- 用户空间 malloc 内存申请原理
    相对于栈而言,堆这片内存面临着一个稍微复杂的行为模式:在任意时刻,程序可能发出请求,要么申请一段内存,要么释放一段已经申请过的内存,而且申请的大小从几个字节到几个GB都有可能,我们不能假设程序一次申请多少堆空间,因此,堆的管理显得较为复杂。那么,使用malloc()在堆上分配内存到底是......