摘要: 1. 概述 本篇文章我们来聊聊大家日常开发中常用的一个集合类 - HashMap。HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保证键值对的顺序,这意味着在进 阅读全文
posted @ 2020-07-19 15:26 水寒Blogs 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1.概述 LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构。和 ArrayList 一样,LinkedList 也支持空值和重复值。由于 LinkedList 基于链表实现,存储元素过程中,无需像 ArrayList 那样进行扩容。但有得必有失,LinkedLi 阅读全文
posted @ 2020-07-19 14:53 水寒Blogs 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 1.概述 ArrayList 是一种变长的集合类,基于定长数组实现。ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。另外,由于 ArrayList 底层基于数组实现,所以其可以保证在 O(1) 复杂度下完 阅读全文
posted @ 2020-07-19 14:36 水寒Blogs 阅读(36) 评论(0) 推荐(0) 编辑
摘要: MySQL相关优质文章推荐 文章推荐 文章链接地址 MySQL高性能优化系列 MySQL字符集及校对规则的理解 MySQL InnoDB锁机制全面解析分享 MySQL事务隔离级别和MVCC,MVCC文章勘误 ##书籍推荐 书籍:《高性能MySQL》 书籍:《MySQL技术内幕:InnoDB存储引擎》 阅读全文
posted @ 2020-06-21 19:37 水寒Blogs 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 一条SQL语句在MySQL中如何执行 本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。 在分析之前我会先带着你看看 MySQL 的基础架构,知道了 MySQL 由那些组件组成以及这些组件的作用是什么,可 阅读全文
posted @ 2020-06-14 20:43 水寒Blogs 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一条SQL语句执行得很慢的原因有哪些? 说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。 1. 分类讨论 一条 SQL 语句执行的很慢,那是每次执行都很慢呢?还是大多数情况下是正 阅读全文
posted @ 2020-06-13 10:23 水寒Blogs 阅读(199) 评论(0) 推荐(0) 编辑
摘要: MySQL大表优化方案 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 1. 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而 阅读全文
posted @ 2020-06-08 20:06 水寒Blogs 阅读(56) 评论(0) 推荐(0) 编辑
摘要: Mysql锁机制 1. 锁分类(按照锁的粒度分类) Mysql为了解决并发、数据安全的问题,使用了锁机制。 可以按照锁的粒度把数据库锁分为表级锁和行级锁。 表级锁 Mysql中锁定粒度最大的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。其锁定粒度最大,触发锁冲突的 阅读全文
posted @ 2020-06-07 16:59 水寒Blogs 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 进入正题前先简单看看MySQL的逻辑架构,相信我用的着。 MySQL的逻辑架构大致可以分为三层: 第一层:处理客户端连接、授权认证,安全校验等。 第二层:服务器server层,负责对SQL解释、分析、优化、执行操作引擎等。 第三层:存储引擎,负责MySQL中数据的存储和提取。 我们要知道MySQL的 阅读全文
posted @ 2020-05-24 15:33 水寒Blogs 阅读(232) 评论(0) 推荐(0) 编辑
摘要: Centos7安装配置MySql 5.6 首先下载MySql5.6的安装包,具体安装方式分为yum安装与离线安装。在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL。 1. 离线安装 下载MySql5.6 社区版安装包 网址:https://dev.mysql.com 阅读全文
posted @ 2020-05-10 16:27 水寒Blogs 阅读(456) 评论(0) 推荐(0) 编辑