Java多线程编程-(17)-读写锁ReentrantReadWriteLock深入分析

一、前言

上两篇的内容中已经介绍到了锁的实现主要有ReentrantLock和ReentrantReadWriteLock。
ReentrantLock是重入…

Java多线程编程-(16)-无锁CAS操作以及Java中Atomic并发包的“18罗汉”

一、背景

通过上面的学习,我们应该很清楚的知道了在多线程并发情况下如何保证数据的安全性和一致性的两种主要方法:一种是加锁,另一种是使用ThreadLocal。…

Java多线程编程-(15)- 关于锁优化的几点建议

一、背景

在《 Java多线程编程-(11)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力》 这一篇文章中,我…

Java多线程编程-(13)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力

Java多线程编程-(12)-单例模式几种写法的错与对
一、背景

对于Java来说我们知道,Java代码首先会编译成Java字节码,字节码被类加载器加载到JV…

Java多线程编程-(5)-线程间通信机制的介绍与使用(温馨提示:图文较多,建议Wiff下打开)

线程间通信简介
我们知道线程是操作系统中独立的个体,但是这个单独的个体之间没有一种特殊的处理方式使之成为一个整体,线程之间没有任何交流和沟通的话,他就是一个个单…

8 张图理解 Java

一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。
1、…

后摩尔时代,如何给你的CPU减负?

阿里妹导读:通用处理器(CPU)的摩尔定律已入暮年,而机器学习和Web服务的规模却在指数级增长。如何用硬件加速来提升性能、降低成本?下面我们一起来看看。

一、…

Java多线程编程-(3)-从一个错误的双重校验锁代码谈一下volatile关键字

在Java多线程编程-(2)中提及到了一段使用Synchronized关键字实现的单利模式–双重校验锁,代码如下:

慧眼的小伙伴,已经发现了其中的问题,并给…

简要分析ZooKeeper基本原理

最近一直有小伙伴私信我,问一些关于Zookeeper的知识,下边关于的Zookeeper的知识整理了一下,一起学习一下。
一、ZooKeeper 基本概念

1…

Java多线程编程-(1)-线程安全和锁Synchronized概念

1
进程与线程的概念
(1)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程。
在未配置 OS 的系统中,程序的执行方式是顺序执…

图解Storm并发机制及其执行流程

一、Storm架构简介
在上一篇,我们对Storm集群进行了搭建,并使用Java完成了代码的演示,我们知道在Storm中,先要设计一个用于实时计算的图状结构,我…

Kafka简介、基本原理、执行流程与使用场景

一、简介

Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由Link…

万字长文剖析AliSQL X-Cluster|基于X-Paxos的高性能强一致MySQL数据库

阿里妹导读
MySQL数据库从诞生以来就以其简单、易用、开源为其主打特点,成为不少开发者首选的数据库系统。阿里在2008年开始提出"去IOE&quot…

MySQL日志文件之错误日志和慢查询日志详解

实验环境:MySQL Community Server (GPL) 5.7.17、Ubuntu 16.04
一、MySQL日志文件分类

官方文档:
https…

MySQL必知必会知识点总结一二

一、MySQL官方文档地址
https://dev.mysql.com/doc/refman/5.7/en/
二、MySQL常用命令

1、如何登陆MySQL数…

揭秘红包场景下的高性能本地存储架构设计

前言:红包是最近兴起的全民参与的活动,2017年新春红包在参与人数和业务峰值上都到达了历史新高,其中红包除夕开奖峰值达到90W/s。近日,阿里云系统和块存储负责…

MySQL存储引擎MyISAM与InnoDB区别总结整理

1、MySQL默认存储引擎的变迁
在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为Inno…

Redis简介以及和其他缓存数数据库的区别

Redis简介
Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
它支持多种类型的数据结构,如字符串(Strings),散…

ELK Stack之Beats简介

Beats 是ELK Stack技术栈中负责单一用途数据采集并推送给Logstash或Elasticsearch的轻量级产品。
Filebeat
Filebea…

大型网站应用之海量数据和高并发解决方案总结一二

一、网站应用背景

开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题…