• Stars
    star
    1,172
  • Rank 39,881 (Top 0.8 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

大厂一线工程师四年磨一剑精心编排 Java 高并发编程教程。详细文档讲解请阅读本人的知识库仓:https://github.com/Wasabi1234/Java-Interview-Tutorial

1 目标

致力于构建全球最完善的 Java 高并发理论体系。让我们的程序更加可靠,跳槽面试更轻松。

高并发方案概要

线程安全性

线程安全性,主要从原子性、可见性、有序性

安全发布对象

安全发布对象的一些核心方法,主要通过单例类的多种实现方式体会,这也是对线程安全性的巩固,也是把线程安全性涉及的一些关键字和类再一次放到实际场景使用。

线程安全策略

线程安全策略,包括定义不可变对象、线程封闭、同步容器、并发容器等,引出并发里的关键知识J.U.C。 同时还额外介绍了开发中常见的一些线程不安全类和写法,并给出他们各自对应的替代方案。

AQS

J.U.C的重要组件,面试必问考点。

AQS模型设计及相关同步组件的原理和使用,都非常实用,包括:CountDownLatch、Semaphore、CyclicBarrier、ReentrantLock与锁、Condition等。

这些组件需要大家能熟练明白他们的用途及差异,不但会使用,而且还要明确知道不同方法调用后的不同效果。

J.U.C组件拓展

J.U.C相关组件,主要包括FutureTask、Fork/Join框架、BlockingQueue,其中FutureTask讲解时会对比着Callable、Runnable、Future来讲。

这些组件使用场景相对AQS会少一些,但也是J.U.C的重要组成部分,也是需要掌握的

线程调度-线程池

new Thread弊端、线程池的好处、ThreadPoolExecutor详细介绍(参数、状态、方法)、线程池类图、Executor框架接口

多线程并发拓展

死锁产生的条件及预防、多线程并发编程的最佳实践、Spring与线程安全、以及面试都特别喜欢问的HashMap和ConcurrentMap源码细节

扩容

垂直扩容和水平扩容的区别,数据库读操作扩展和写操作扩展

缓存

缓存特征(命中率、最大元素、清空策略)、影响缓存命中率因素、缓存分类和应用场景(本地缓存、分布式缓存)、高并发场景下缓存常见问题(缓存一致性、缓存并发、缓存穿透、雪崩)

MQ

消息队列的特性(业务无关、FIFO、容灾、性能)、为什么需要消息队列以及消息队列的好处(业务解耦、最终一致性、广播、错峰与流控)

应用拆分

限流

明确限流的重要作用 限流常用的四种算法:计数法、滑动窗口、漏桶算法和令牌桶算法

服务降级与服务熔断

服务降级的分类:自动降级(超时、失败次数、故障、限流)和人工降级(开关),总结了服务降级和服务熔断的共性(目的、最终表现、粒度、自治)和区别(出发原因、管理目标层次、实现方式)以及服务降级要考虑的问题

分库分表

QQ 技术交流群

为大家提供一个学习交流平台,在这里你可以自由地讨论技术问题。

微信交流群

本人微信

Java源码模拟面试解析指南

绘图工具

知识体系

More Repositories

1

Java-Interview-Tutorial

建议star,不支持fork!涵盖互联网大厂数据库、缓存、DDD、设计模式、微服务架构、主流中间件框架原理及真实业务最佳实践。欢迎关注公众号:JavaEdge,一起交流学习!
2,463
star
2

shopping-mmall

聚焦高并发、分布式集群、微服务架构迭代的互联网电商项目(Java技术栈)
Java
252
star
3

Go-Cloud-Store

Go 实战百度云盘
HTML
61
star
4

Ad

基于Spring Cloud微服务架构的广告系统
Java
56
star
5

Spark-MLlib-Tutorial

大数据框架 Spark MLlib 机器学习库基础算法全面讲解,附带齐全的测试文件
Scala
33
star
6

News

基于Spring Boot 打造专属年轻人的新闻网站
CSS
26
star
7

Zhihu

基于 SSM 框架搭建仿知乎问答平台
CSS
18
star
8

Java-DesignPatterns-Tuitorial

设计模式讲解(Java版)全面结合「互联网业务案」。技术好就一定能写出好代码吗?不能!只有通过实战才能快速将理论转变为技能。
Java
14
star
9

MovieRecommandation-MovieManager

本科毕业设计项目-Java电影推荐系统-管理后台
JavaScript
14
star
10

EffectiveJava3-zh

《Effective Java 第三版》中文翻译
Shell
10
star
11

Open-JDK-13

编译出的OpenJDK-13 JVM源码分析
Java
9
star
12

Flink-Tutorial

第四代大数据计算引擎Flink - 从入门到实战
Java
7
star
13

Dubbo-Movie-Online-Booking-System

基于Dubbo微服务架构的电影影院在线订票平台
Java
7
star
14

Seckill

Java秒杀系统方案优化 高性能高并发实战
Java
5
star
15

RabbitMQ-Tutorial

RabbitMQ核心API、高级特性、整合Spring家族、集群模式、SET化架构设计、组件架构代码案例及讲解。
Java
5
star
16

Java-Best-Practise

Java编程的最佳实践
Java
4
star
17

rpc-framework

从零开始,实现一个简单的RPC协议框架
Java
3
star
18

Spring-Web-Flux

Java响应式编程 Springboot WebFlux基础与实战 玩转Spring Boot2.0最亮眼新特性
Java
2
star
19

Spring-Cloud-Alibaba-in-Action-UserCenter

用户中心
Java
2
star
20

Spring-Cloud-Alibaba-in-Acrion-GateWay

Java
2
star
21

JavaEdge

JavaScript
2
star
22

springboot-sell

Spring Boot 微信点餐系统 前后端分离/微信相关知识/分布式session和锁
Java
2
star
23

Code-Select

Shell
2
star
24

Wasabi1234.github.io

JavaScript
1
star
25

spring-boot-demo

Java
1
star
26

SpringCloud_ProductDemo

SpringCloud商品服务
Java
1
star
27

Spring-Online-Booking-System

Java
1
star
28

IDDD_Samples

DDD最佳实践《实践领域驱动设计》案例代码
Java
1
star
29

Java-Edge

1
star
30

redis-food-social

深度实践 Redis 技术的社交美食应用
Java
1
star
31

Spring-Cloud-Alibaba-in-Acrion-ContentCenter

Java
1
star
32

dubbo-parent

Java
1
star
33

netty-study

Java
1
star