threadandjuc icon indicating copy to clipboard operation
threadandjuc copied to clipboard

⭐⭐⭐⭐高并发-高可靠-高性能three-high-import导入系统-高并发多线程进阶

邮箱 : [email protected]

Github : https://github.com/qiurunze123

QQ : 3341386488

QQ群 : 453259026

转载等操作请联系我! 我更希望你在我的基础上重新自己写一版

:couple: 三高导入 兵马未动粮草先行

three-high-import 高可用 高可靠 高性能 三高多线程导入系统(该项目意义为理论贯通)

Travis

three-high-import 项目意义在于利用多线程进行千万级别导入,实现可扩展,高性能,高可用,高可靠三个高,本项目可以在千万级别数据实现无差别高性能数据上报 与导入,与普通导入相比性能提高10倍左右,而且规避风险在偶尔的机器宕机,网络波动等情况出现时,仍能够实现数据一致数据可靠数据重试数据报警等功能,在一些重要数据 例如: 对账 , 账户金额,账单等,需要每日定时任务而且有高风险的数据实现数据无错误! 多线程从基础到进阶,分析入坑出坑,以及工作实操,最后会分享一个项目,针对如何进行大数据量(经测试几亿数据完全搞的定)进行安全高可用的策略, 示例为高可用高可靠高性能 三高导入系统 DEMO分析 ,如何进行数据分片,数据导入,计算,多线程策略等等 本文属于进阶系列,有问题或者更好的想法可以一起探讨! 一点小建议:学习本系列知识之前,如果你完全没接触过 SpringBootCountDownLatch线程池工作队列工作窃取等 等,那么我建议你可以先在网上搜一下每一块知识的快速入门, 也可以下载本项目边做边学习, 我的项目完全是实战加讲解不想写一堆的文章,浪费我们的生命,你还不懂内层含义,想要明白就边实际操作边学习 加油💪💪

  • 三高导入项目
    • 表设计
    • 数据如何分片
    • 如何实现高可用
    • 如何实现高性能
    • 如何实现高可靠
    • 如何自定义线程池以及使用与导入
    • 数据的导入性能(之前的老版本三高导入10万数据大概13s左右新版本还在开发)
    • 进行线程拆分分配资源

多线程之前更新版本 -- 请进代码路径:com.geek.threadandjuc

目录

:couple: Java多线程基础

  • 多线程基础
    • 你需要知道的几个概念
    • 多线程到底有几种实现方式
    • 多线程使用runnable与继承Thread类有什么区别
    • 多线程如何正确优雅的中断线程
    • 多线程的生命周期状态纽机流转错误错误说法
    • 多线程的生命周期状态纽机流转
    • Thread和Object类
    • 多线程重要属性
    • 多线程异常处理机制
    • 多线程wait notify notifyall join sleep yield作用与方法详细解读
    • 多线程可能会带来什么问题
    • 多种单例模式
  • 并发容器
    • map简介
    • vector和HashTable
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • BlockingQueue

:couple: 搞定ThreadLocal

  • 搞定ThreadLocal
    • ThreadLocal定性使用场景介绍
    • ThreadLocal一些方法使用
    • ThreadLocal源码分析
    • ThreadLocal内存泄露
    • ThreadLocal如果避免内存泄露
    • ThreadLocal在spring中的应用

:couple: 线程池

  • 线程池
    • JDK 线程池高度解析
    • 线程池是什么
    • 多次创建线程的劣势
    • 什么时候使用线程池
    • 线程池的优势
    • Executor框架
    • 如何使用钩子函数来进行线程池操作
    • 线程池的重点属性
    • 多线程重要属性
    • 线程池的具体实现
    • 线程池的创建Z
    • 线程池参数解释
    • 线程池监控
    • 线程池的源码分析
      • execute方法
      • addWorker方法
      • Worker类
      • runWorker方法
      • getTask方法
      • processWorkerExit方法
      • 小结
      • processWorkerExit方法
      • 手写线程池代码

:couple: 多线程进阶更新

  • 线程池

    • 多线程安全问题
    • JMM多线程内存模型
    • JMM多线程内存模型
    • 死锁专题分析
    • AQS--一切的基础 Doug Lee 是个天才
    • Future模式精度分析 Future 模式
    • java并行程序基础
    • java内存模型和线程安全
    • valatile 专题解析
    • 无锁类 CAS , ABA , Atomic ......
    • 公平锁,非公平锁,可重入锁,递归锁,自旋锁
    • 阻塞队列.
    • synchronized和lock 的区别 .
    • JDK并发包reentrantlock,condition , semaphone ,readwritelock
    • countDownLatch
    • reentrantlock 源码分析 ReentrantLockDetails
    • JDK并发包 ConcurrentHashMap 精度分析
    • JDK ForkJoin 模式精度分析
    • JDK 单例模式 不变模式 Future模式 生产者 消费者
    • NIO AIO 详解
    • 并发断点调试 JDK新特性
    • 锁优化
    • 数据伪共享 false—shareing disruptor
    • 原子性小讲

    更新此问题的出发点是 disruptor框架和百度的分布式id生成策略 https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md

:couple: 多线程安全专题

  • 线程池
    • 一共有几类线程安全的问题
    • 哪些场景需要额外注意线程安全问题
    • 多线程切换上下文
    • 死锁特辑

多线程juc 分享

https://github.com/qiurunze123/threadandjuc/blob/master/docs/threadinterview.md

不知不觉 更新了小半年 从基础到并发到项目直接应用 许多地方不是很好但是是对一个人的考验 从明白到应用到写出来是一个繁琐的过程

耗时耗力不过很庆幸自己没有放弃终究是完成了 最后希望得到大家的指正与意见也希望帮助更多的人

  千岩万壑不辞劳 远看方知出处高 溪涧岂能留得住 终归大海做波涛 2019/9/24