-
分布式缓存全面详解(看这篇就够了)
分布式缓存已经成为了互联网架构的基石,其重要性不言而喻,而且大厂面试也是必考内容,本篇就重点来谈谈分布式缓存@mikechen为什么要使用分布式缓存高并发环境下,例如典型的淘宝双11秒杀,几分钟内上亿的用户涌入淘宝。这个时候如果访问不加拦截,让大量的读写请求涌向数据库,由于磁盘的处理速度与内存显然不在一个量级,服务器马上就要宕机。缓存可以将经常读取的数据存储在快速的内存中,从而避免了频繁访问慢速…... -
彻底理解Volatile的实现原理|大厂面试必考题详解
Volatile属于面试必问,重要性不言而喻,今天重点来谈谈:Volatile的实现原理。 本节课重点会讲到以下5点: 1.Volatile关键字 2.Java内存模型 3.Volatile内存模型可见性 4.Volatile的工作原理 5.Volatile的源码案例 在谈Volatile之前,我们先回顾下Java内存模型的三要素:原子性、可见性、有序性,也就是大家常提到的并发编程三要素。 并发编…... -
Java工程师,如何晋升为阿里P6/P7技术专家?
为什么需要提升核心竞争力? 在竞争日益激烈的今天,掌握普通技能的Java工程师已经很难加薪升职了。 很多同学随着工作经验的增长,但是技术其实根本没有什么进展,还是局限于业务型的增删改查。问点并发以及复杂的业务场景,基本就懵逼了,连熟悉都谈不上。 这样的情况,坦率的讲,特别是在今年疫情的情况下,没有竞争力的很容易就会被裁员,更谈不上涨薪了。 原因很简单:你的工作可替代性太强。 但是,如果把你掌握的技…... -
最全二叉树:完整详解二叉树的遍历以及完全二叉树等6种二叉树
树在数据结构中占据了非常重要的位置,尤其是二叉树。经常是在java面试中必问的一个环节,而且二叉树的应用场景真的非常普遍,需要重点掌握好。 但是一直以来,很多同学对于二叉树的掌握都是不太全面。今天我就来谈谈二叉树,希望你喜欢这个Java数据结构与算法这个专题,认真看完后你会对二叉树会有一个比较完整的了解。 本文作者:陈睿|mikechen 优知学院创始人 重点会谈到以下几点: 二叉树 二叉树的遍历…... -
Java核心技术面试宝典:深入81个大厂Java面试必考点精讲(内含面试资料包)
大家好,我是陈睿,英文名mikechen,优知学院创始人 BAT架构技术500+期作者,10年+大厂架构经验 亲历参与打造淘宝技术发展史最为重要的从垂直架构到服务化演变的关键项目。 操盘淘宝设计中心、淘宝关联营销、淘宝店铺等多个数亿级数据量的核心项目。 负责带队从0到1 用时8个月再造了一个天猫商城,支撑数亿级访问的电商项目。 10年以上项目架构经验,超过6个大厂业务线的技术负责人,有丰富的项目经…... -
Java多线程与并发系列从0到1全部合集,强烈建议收藏!
在过去的时间中,我写过Java多线程与并发的整个系列。 为了方便大家的阅读,也为了让知识更系统化,这里我单独把Java多线程与并发的整个系列一并罗列于此,希望对有用的人有用,也希望能帮助到更多的人。 以下为整个目录,希望大家喜欢! 1:最全面的Java多线程学习概述 这一篇文章呢,我认为比较重要,学习任何一个东西,首先你得学会建立完整的技能框架,建立好了框架才开始学习,这样事半功…... -
ReentrantReadWriteLock的实现原理与锁获取详解
我们继续Java多线程与并发系列之旅,之前我们分享了Synchronized 和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。 然而在有些业务场景中,我们大多在读取数据,很少写入数据,这种情况下,如果仍使用独占锁,效率将及其低下。 针对这种情况,Java提供了读写锁——ReentrantReadWriteLock。 有点类似MySQL数据库为代表的读写分离机制,既然我…... -
深度源码剖析AQS的实现原理
在并发编程领域,AQS号称是并发同步组件的基石,很多并发同步组件都是基于AQS实现,所以想掌握好高并发编程,你需要掌握好AQS。 本篇主要通过对AQS的实现原理、数据模型、资源共享方式、获取锁的过程,让你对AQS的整体设计有清晰了解,让你迈出高并发编程的第一步。 AQS AQS(AbstractQueuedSynchronizer)就是一个抽象的队列同步器,AQS定义了一套多线程访问共享资源的同步…... -
深入详解Synchronized同步锁的底层实现
谈到多线程就不得不谈到Synchronized,很多同学只会使用,缺不是很明白整个Synchronized的底层实现原理,这也是面试经常被问到的环节,比如: synchronized的底层实现原理 synchronized锁与JVM的实现 synchronized锁升级顺序 synchronized锁的优劣势与应用场景 Synchronized synchronized 翻译为中文的意思是同步,也…... -
最全面的Java多线程学习概述
Java并发编程的技能基本涵括以下5方面: 多线程 线程池 线程锁 并发工具类 并发容器 多线程的4种创建方式 继承Thread 实现Runnable接口 实现Callable接口 以及线程池来创建线程 Java线程的生命周期 线程的创建 线程的就绪 线程的运行 线程的阻塞 线程的死亡 Java线程的通信与协作 、 1.线程就绪:调用start(),以及sleep()休眠超时进入线程就绪状态 2.…...