[转载]图解集合2:LinkedList

初识LinkedList上一篇中讲解了ArrayList,本篇文章讲解一下LinkedList的实现。LinkedList是基于链表实现的,所以先讲解一下什么是链表。链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除了存放有待存储的数据以外

[转载]图解集合1:ArrayList

前言这个分类中,将会写写Java中的集合。集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织、存储数据。这里写的集合,一部分是比较常见的、一部分是不常用但是我个人平时见到过的,一些比较相似的集合(比如HashMap和Hashtable

[转载]服务端高并发分布式架构 14 次演进之路

1. 概述本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径2. 基本概

[转载]响应速度不给力?解锁正确缓存姿势

1. 常见概念在合理应用缓存前,需要了解缓存领域里相关的几个常用术语:1)缓存命中:表示数据能够从缓存中获取,不需要回源;2)Cache miss:表示没有命中缓存,如果缓存内存中还有内存空间的话,会将数据加入到缓存中;3)存储成本:当没有命中缓存时,回源获取后会将数据放置到存储中,整个将数据放置到

[转载]线程池大小如何设置

1、CPU 密集型程序一个完整请求,I/O操作可以在很短时间内完成, CPU还有很多运算要处理,也就是说 CPU 计算的比例占很大一部分。假如我们要计算 1+2+....100亿 的总和,很明显,这就是一个 CPU 密集型程序在【单核】CPU下,如果我们创建 4 个线程来分段计算,即:1、线程1计算

[转载]HashMap 为什么线程不安全?

前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMa

[转载]MySQL 大表优化方案

概述当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的

[转载]MySQL的事务实现原理

1 开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性

[转载]Redis 性能问题分析

在一些网络服务的系统中,Redis的性能,可能是比MySQL等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在Redis中,大量的查询击中Redis,而不走MySQL。那么,针对Redis服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Redis性能的