自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王小明的专栏

如有问题,关注微信公众号: 程序员开发者社区,获取我的联系方式,或者访问 www.benjming.com...

原创 缓存穿透了怎么办?

缓存穿透了怎么办? 对应缓存来说,命中率是它的生命线。 在缓存命中率低的情况下,大量查询请求会穿透缓存到数据库,因为数据库对于并发的承受能力有限,一旦数据库承受不了大量查询任务,就会导致查询变慢,导致大量的请求阻塞在数据库查询上,造成应用服务器的连接和线程资源被占满,最终导致系统崩溃。 什么是缓存...

2020-07-30 22:12:31 50 0

原创 接口和抽象的使用场景

接口和抽象的使用场景 抽象和接口的区别 总的来说,是抽象是为了代码复用,接口是为了解耦。 抽象 抽象类不允许被实例化,只能被基础,也就是说,不能 new 一个抽象类 抽象类可以包含方法和属性,方法可以包含实现,也可以不实现。不实现的方法叫做抽象方法 子类继承抽象,必须实现抽象类中的方法。 接口...

2020-07-22 23:49:14 60 0

原创 深入理解数据库原理

GitChat 10个免费名额 ,先到先得!

2020-07-22 15:08:42 51 0

原创 软件设计思想:池化技术
原力计划

软件设计思想:池化技术 先举个例子 一种简单的架构:前端一台 Web 服务器运行业务代码,后端一台数据库服务器存储业务数据。 系统上线时,用户量不大,运行平稳,但是随着流量的提升,系统访问速度会变慢。 分析日志后,发现系统慢的原因是出现在系统库的交互上,因为数据调用的方式是首先获取数据库的连接,...

2020-07-21 00:00:05 78 0

原创 什么是事务隔离

什么是事务隔离 事务简单的来说是保证一组数据库操作,要么全部成功,要么全部失败。 MySQL 中事务支持是在引擎实现的, MySQL 原生的 MyISAM 引擎不支持事务,这也是 MyISAM 被 InnoDB 引擎取代的重要原因。 隔离性与隔离级别 提到事务, 数据库为了保证事务,必须具备四个特...

2020-07-19 12:27:54 42 0

原创 系统设计:如何让系统高可用?

系统设计:如何让系统高可用? 系统的高可用性是指系统具备较高的无故障运行的能力。 很多开源组件中可以看到 HA 方案就是提升组件的可用性,让系统免于宕机无法服务的方案。 举个例子, Hadoop 1.0 中 NameNode 是单点的,一旦发生故障则整个集群不可用,Hadoop 2.0 时 ,采用...

2020-07-16 19:30:33 69 0

原创 系统设计:如何让系统容易扩展?

系统设计:如何让系统容易扩展? 一个高可扩展性指标,表示可以通过增加机器的方式来线性提高系统的处理能力,从而承担更高的流量或者并发数。 在单机系统中通过增加处理核心数来增加系统的并行处理能力,但是这个方法并不总生效,随着并行的任务增多,系统会因为争夺资源而达到性能上的拐点。系统性能会不升反降。 多...

2020-07-15 09:06:38 83 0

原创 数据库原理: Change Buffer 是干什么的?

数据库原理: Change Buffer 是干什么的? redo log 主要节省的是随机写磁盘的 IO 消耗(转成顺序写),而 change buffer 主要节省的是随机读磁盘的IO消耗。 实例:插入过程 插入语句 insert into t(id,k) values(id1,k1),(id2...

2020-07-12 11:44:14 145 0

原创 公钥 私钥 签名 验签 说的啥?
原力计划

公钥 私钥 签名 验签 说的啥? 公钥加密,私钥解密 私钥签名,公钥验签 散列算法 散列算法,也叫做哈希函数,是从一个任何一种数据中创建小的数字方法,散列函数把消息或者数据压缩成摘要,有时候也叫做摘要算法。 把数据量变小,将数据的格式固定下来。 常用的算法有:MD5 SHA1 MD5 MD5 ...

2020-07-11 15:28:02 257 0

原创 MySQL 普通索引和唯一索引该如何选择?
原力计划

MySQL 普通索引和唯一索引该如何选择? 普通索引和唯一索引在查询能力上没啥差别,主要考虑对更新性能的影响,要尽量选择普通索引。 接下来分析两种索引在查询语句和更新语句对性能的影响。 查询过程 MySQL InnoDB 是采用 B+ 树实现其索引结构。 B+ 树的查找过程 如上图所示:现在需要...

2020-07-09 21:58:46 119 0

原创 SQL 中的聚集函数?

SQL 中的聚集函数? SQL 函数包含了算术函数,字符串函数,日期函数,转换函数。还有一函数,叫做聚集函数。SQL 聚集函数是对一组数据进行汇总的函数,输入是一组数据的集合,输出是单个值。 有哪些聚集函数 SQL 中的聚集函数,有最大值,最小值,平均值。 Count 使用 例子:查询heros...

2020-07-06 21:08:09 64 0

原创 Java 中 Hashtable 、HashMap 、TreeMap 有什么不同?
原力计划

Java 中 Hashtable 、HashMap 、TreeMap 有什么不同? HashTable 最早期的 Java 类库提供的一个 Hash表实现,本身是同步的,不支持 null 键和值,对同步有导致性能开销,很少被推荐使用。 HashMap 是应该更加广泛的哈希表实现,行为上与 has...

2020-07-05 16:00:16 208 0

原创 数据库分类

数据库分类 DB DBS DBMS区别是什么? DBMS 的英文全称是 DataBase Management System 数据库管理系统。 DBMS = 多个数据库(DB) + 管理程序 DB(DataBase)数据库,数据库是存储数据的集合。 DBS 的英文是 DataBase System...

2020-07-04 13:47:55 45 0

原创 数据库锁分类
原力计划

数据库锁分类 锁和索引是数据库两大核心概念,了解索引,可以从 B+ 树,Hash 索引,页结构,缓存池,索引原则等方面理解。理解锁,要从哪些方面入手? 为什么要加锁 加锁的目的,其实是为了保证数据的一致性。 当多个线程并发访问某个数据时,加锁,可以保证这个数据在任何时刻最多只有一个线程在访问,保证...

2020-07-02 23:13:51 76 0

提示
确定要删除当前文章?
取消 删除