JVM系列(一):JVM内存结构

前言

Java 虚拟机的内存空间分为 5 个部分:

  • 程序计数器
  • Java 虚拟机栈
  • 本地方法栈
  • 方法区

jvm-memory-structure

JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。

JVM原理系列详解

前言

本系列博文将详细介绍JVM系列知识,内容大多来自GitHub牛人的总结和观点,加上本人的思考,特此留念。

特别鸣谢:doocs

redis的并发竞争

前言

特别鸣谢 石杉的架构笔记

redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?

这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。

而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁方案。

redis 的雪崩、穿透和击穿

前言

特别鸣谢 石杉的架构笔记

了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?

如何保证缓存与数据库的双写一致性?

前言

特别鸣谢 石杉的架构笔记

如何保证缓存与数据库的双写一致性?你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?

我们为什么要使用缓存机制?

前言

特别鸣谢 石杉的架构笔记

项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?

消息队列的顺序性问题

前言

特别鸣谢 石杉的架构笔记

其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。

消息队列的幂等性

前言

特别鸣谢 石杉的架构笔记

如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?

消息队列的消息丢失问题

前言

特别鸣谢 石杉的架构笔记

如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?

消息队列的高可用问题

前言

特别鸣谢 石杉的架构笔记

在“为什么使用消息MQ?”一问中我提到,消息队列的高可用问题是一个重大的问题,作为中间桥梁的MQ,一旦崩溃,整个系统就无法正常运作。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×