分享目标
本文通过Java volatile探讨以下问题
- Volatile多线程引发的缓存一致性问题
- Volatile多线程引发的不可见问题
- Volatile多线程引发的原子性问题
- 指令重排序含义及相关语义和规则
- 内存屏障的分类和使用
- 源码跟踪
[TOC]
Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。
Nginx (engine x) 是一个轻量级的、高性能的、基于Http的、反向代理服务器,静态web服务器。
Nginx最初是由俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)使用C语言为俄罗斯访问量第二的Rambler.ru站点开发的一款服务器。2004年10月发布第一个版本。
Nginx的官网: http://nginx.org
国内大型的站点,例如百度、京东、新浪、网易、腾讯、淘宝等,都使用了Nginx。
https://www.netcraft.com/
在介绍 I/O 模型之前,有必要简单地说说慢速 I/O 设备和内存之间的数据传输方式。
mysql explain查询计划
MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句的执行计划进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.使用explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。可以通过explain命令深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。
微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心。随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的 Dubbo 和 Spring Cloud。
关于注册中心的解决方案,dubbo 支持了 Zookeeper、Redis、Multicast 和 Simple,官方推荐 Zookeeper。Spring Cloud 支持了 Zookeeper、Consul 和 Eureka,官方推荐 Eureka。