- 博客(14)
- 资源 (35)
- 论坛 (1)
- 收藏
- 关注
原创 缓存穿透了怎么办?
缓存穿透了怎么办?对应缓存来说,命中率是它的生命线。在缓存命中率低的情况下,大量查询请求会穿透缓存到数据库,因为数据库对于并发的承受能力有限,一旦数据库承受不了大量查询任务,就会导致查询变慢,导致大量的请求阻塞在数据库查询上,造成应用服务器的连接和线程资源被占满,最终导致系统崩溃。什么是缓存穿透缓存穿透,其实是指从缓存中没有找到数据,不得已查询数据库的情况。少量的缓存穿透没问题,主要由如下几点原因:一方面,缓存系统在容量上有限,不可能所有的数据都存储在缓存中另外一方面,互联网系统遵守 8/2
2020-07-30 22:12:31
83
原创 接口和抽象的使用场景
接口和抽象的使用场景抽象和接口的区别总的来说,是抽象是为了代码复用,接口是为了解耦。抽象抽象类不允许被实例化,只能被基础,也就是说,不能 new 一个抽象类抽象类可以包含方法和属性,方法可以包含实现,也可以不实现。不实现的方法叫做抽象方法子类继承抽象,必须实现抽象类中的方法。接口接口不能包含属性接口只能声明方法,方法不能包含代码实现类实现接口的时候,必须实现接口中声明的所有方法。抽象类说明的是 is-a 的关系,接口表示的是一种 Has-a 的关系。抽象类和接口能解决什么问题
2020-07-22 23:49:14
108
原创 软件设计思想:池化技术
软件设计思想:池化技术先举个例子一种简单的架构:前端一台 Web 服务器运行业务代码,后端一台数据库服务器存储业务数据。系统上线时,用户量不大,运行平稳,但是随着流量的提升,系统访问速度会变慢。分析日志后,发现系统慢的原因是出现在系统库的交互上,因为数据调用的方式是首先获取数据库的连接,然后依靠这个连接,查询数据库的数据,最后释放数据库资源。为什么频繁创建连接响应会变慢?整个 MySQL 创建连接过程主要分成两个部分:第一部分是采用建立 TCP 连接。通过三次握手 建立 TCP 连接。
2020-07-21 00:00:05
218
原创 什么是事务隔离
什么是事务隔离事务简单的来说是保证一组数据库操作,要么全部成功,要么全部失败。MySQL 中事务支持是在引擎实现的, MySQL 原生的 MyISAM 引擎不支持事务,这也是 MyISAM 被 InnoDB 引擎取代的重要原因。隔离性与隔离级别提到事务, 数据库为了保证事务,必须具备四个特性:ACID,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)事务的四个特性原子性 (Atomicity)事务操作,要么全部做完
2020-07-19 12:27:54
87
原创 系统设计:如何让系统高可用?
系统设计:如何让系统高可用?系统的高可用性是指系统具备较高的无故障运行的能力。很多开源组件中可以看到 HA 方案就是提升组件的可用性,让系统免于宕机无法服务的方案。举个例子, Hadoop 1.0 中 NameNode 是单点的,一旦发生故障则整个集群不可用,Hadoop 2.0 时 ,采用的是两个 NameNode. 一个状态是Active,一个状态是 Standy 状态,两者共享存储。一旦 Active NameNode 发生故障,Standy NameNode 切换成 Active 状态继续提供
2020-07-16 19:30:33
132
原创 系统设计:如何让系统容易扩展?
系统设计:如何让系统容易扩展?一个高可扩展性指标,表示可以通过增加机器的方式来线性提高系统的处理能力,从而承担更高的流量或者并发数。在单机系统中通过增加处理核心数来增加系统的并行处理能力,但是这个方法并不总生效,随着并行的任务增多,系统会因为争夺资源而达到性能上的拐点。系统性能会不升反降。多台机器组成的机器系统也类似,在集群系统中,不同的分层也存在一些瓶颈。制约横向扩展能力。举个例子,系统的流量是每秒1000次请求,对数据库请求也是 1000次/s ,单独如果流量增加10倍,系统可以扩容,正常提供服
2020-07-15 09:06:38
193
原创 数据库原理: Change Buffer 是干什么的?
数据库原理: Change Buffer 是干什么的?redo log 主要节省的是随机写磁盘的 IO 消耗(转成顺序写),而 change buffer 主要节省的是随机读磁盘的IO消耗。实例:插入过程插入语句insert into t(id,k) values(id1,k1),(id2,k2);假设当前 k 索引树的状态,查找到位置后,K1 所在的数据页在内存(InnoDB buffer pool)中,K2 所在的数据页不在内存中。包含 几个部分:内存、redo log(ib_log
2020-07-12 11:44:14
320
原创 公钥 私钥 签名 验签 说的啥?
公钥 私钥 签名 验签 说的啥?公钥加密,私钥解密 私钥签名,公钥验签散列算法散列算法,也叫做哈希函数,是从一个任何一种数据中创建小的数字方法,散列函数把消息或者数据压缩成摘要,有时候也叫做摘要算法。 把数据量变小,将数据的格式固定下来。常用的算法有:MD5 SHA1MD5MD5 不是一种加密算法,是一种摘要算法,无论多长的输入, MD5 都会输出长度为 128bits 的一个串。public static final byte[] computeMD5(byte[] content) {
2020-07-11 15:28:02
387
原创 MySQL 普通索引和唯一索引该如何选择?
MySQL 普通索引和唯一索引该如何选择?普通索引和唯一索引在查询能力上没啥差别,主要考虑对更新性能的影响,要尽量选择普通索引。接下来分析两种索引在查询语句和更新语句对性能的影响。查询过程MySQL InnoDB 是采用 B+ 树实现其索引结构。B+ 树的查找过程如上图所示:现在需要查找 29 这个值。将磁盘块1从磁盘加载到内存,发生一次IO ,在内存中使用二分查找方式找到 29在17和35 之间,锁定磁盘块1的P2 指针。通过磁盘块1 的 P2 指针地址把磁盘块3 加载到内存,发生第二
2020-07-09 21:58:46
198
原创 SQL 中的聚集函数?
SQL 中的聚集函数?SQL 函数包含了算术函数,字符串函数,日期函数,转换函数。还有一函数,叫做聚集函数。SQL 聚集函数是对一组数据进行汇总的函数,输入是一组数据的集合,输出是单个值。有哪些聚集函数SQL 中的聚集函数,有最大值,最小值,平均值。Count 使用例子:查询heros 中hp_max 大于6000 的英雄。SELECT COUNT(*) FROM heros WHERE hp_max > 6000运⾏结果为41。想要查询最⼤⽣命值⼤于6000,且有次要定位的英雄数量
2020-07-06 21:08:09
115
原创 Java 中 Hashtable 、HashMap 、TreeMap 有什么不同?
Java 中 Hashtable 、HashMap 、TreeMap 有什么不同?HashTable 最早期的 Java 类库提供的一个 Hash表实现,本身是同步的,不支持 null 键和值,对同步有导致性能开销,很少被推荐使用。HashMap 是应该更加广泛的哈希表实现,行为上与 hashtable 一致,主要区别是 Hashmap 不是同步的,支持null 建和值。 HashMap 进行 put 或者 get 操作,可以达到常熟时间的性能,所以绝大多数场景都使用 HashMap。TreeMap
2020-07-05 16:00:16
254
原创 数据库分类
数据库分类DB DBS DBMS区别是什么?DBMS 的英文全称是 DataBase Management System 数据库管理系统。DBMS = 多个数据库(DB) + 管理程序DB(DataBase)数据库,数据库是存储数据的集合。DBS 的英文是 DataBase System 数据库系统,包含了数据库,数据库管理系统+数据库管理人员(DBA)常见的 DBMS数据库分类关系型数据库(RDBMS)关系型数据库建立在关系模型的基础上,SQL就是关系型数据库的查询语言。非关系型数据
2020-07-04 13:47:55
79
原创 数据库锁分类
数据库锁分类锁和索引是数据库两大核心概念,了解索引,可以从 B+ 树,Hash 索引,页结构,缓存池,索引原则等方面理解。理解锁,要从哪些方面入手?为什么要加锁加锁的目的,其实是为了保证数据的一致性。 当多个线程并发访问某个数据时,加锁,可以保证这个数据在任何时刻最多只有一个线程在访问,保证数据的完整性和一致性。锁的分类锁可以按照锁粒度划分,可以按照数据库管理角度划分。按照锁粒度划分按照锁粒度划分,可以将锁划分成 行锁,页锁和表锁。快速回忆一遍 InnoDB 存储引擎的逻辑结构:所有数据都被
2020-07-02 23:13:51
109
hive-site.xml 这是一份我本地配置的好用的
2017-09-04
人工智能教程
2014-04-16
Python机器学习经典实例
2018-05-11
DbVisualizer Pro 9.2.x
2017-09-06
Hadoop实战-陆嘉恒(高清完整版).pdf
2017-08-31
神经网络原理 有目录
2017-03-27
hadoop 虚拟机 连接 dll
2017-03-14
hadoop-eclipse-plugin-2.7.0.jar
2017-03-14
微信公众平台应用开发:方法、技巧与案例
2015-08-09
谭浩强《C++面向对象程序设计》
2015-04-17
wangxiaoming的留言板
发表于 2020-01-02 最后回复 2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝