摘要:
MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。 其中重做日志和回滚日志与事务 阅读全文
摘要:
ZooKeeper是什么? ZooKeeper是一个分布式应用程序协调服务。 Zookeeper提供了文件系统和通知机制。 文件系统 Zookeeper提供一个多层级的节点命名空间(节点称为znode)。与文件系统不同的是,这些节点都可以设置关联的数据,而文件系统中只有文件节点可以存放数据而目录节点 阅读全文
摘要:
Spring是核心,提供了基础功能,核心是控制反转(IOC)和面向切面(AOP); Spring MVC 是基于Spring的一个 MVC 框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分 ; Spring Boot 是为简化Spring配置的快速开发整合包, 阅读全文
摘要:
通知类型 在基于Spring AOP编程的过程中,基于AspectJ框架标准,spring中定义了五种类型的通知,它们分别是: 前置通知 (@Before) 。 返回通知 (@AfterReturning) 。 异常通知 (@AfterThrowing) 。 后置通知 (@After)。 环绕通知 阅读全文
摘要:
主从复制的方式 一主一从 主主复制 一主多从(扩展系统读取的性能,因为读是在从库读取的); 多主一从(5.7开始支持) 联级复制 主从复制的用途及条件 MySQL主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从部署必要条件 主库开启binlog日志(设置log- 阅读全文
摘要:
主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 主从复制的作用(或者说为什么要做主从) 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足 阅读全文
摘要:
缓存是什么 存储的速度是有区别的。缓存就是把低速存储的结果,临时保存在高速存储的技术。 如图所示,金字塔更上面的存储,可以作为下面存储的缓存。 为什么需要缓存 存储如mysql通常支持完整的ACID特性,因为可靠性,持久性等因素,性能普遍不高,高并发的查询会给mysql带来压力,造成数据库系统的不稳 阅读全文
摘要:
在复杂的分布式系统中,ID就是大量的数据和消息的唯一标识。 举个例子,数据库的ID字段在单体的情况下可以使用自增来作为ID,但是对数据分库分表后一定需要一个唯一的ID来标识一条数据,这个ID就是分布式ID。对于分布式ID而言,也需要具备分布式系统的特点:高并发,高可用,高性能等特点。 分布式ID实现 阅读全文
摘要:
效率低的原因 阿里开发手册:【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。 说明: 增加查询分析器解析成本。 增减字段容易与 resultMap 配置不一致。 无用字段增加网络 消耗,尤其是 text 类型的字段。 不需要的列会增加数据传输时间和网络开销 用“S 阅读全文
摘要:
① map的key采用简单形式和复杂形式时(如:整型和字符串),查找的效率是不同的,简单的key值效率更高 ② 当数据量大的时候,采用entrySet遍历key+value的效率要高于keySet ③ 当我们只需要取得value值时,采用values来遍历效率更高 参考: 面试官:Java遍历Map 阅读全文
摘要:
什么是 CAP 定理 CAP 理论告诉我们,一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A: Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中的2个。 什么是分区 在分布式系统中,不同的节点分布在不 阅读全文
摘要:
在实践中我们发现对于大多数的应用领域,评估一个垃圾收集(GC)算法如何根据如下两个标准: 吞吐量越高算法越好 暂停时间越短算法越好 首先让我们来明确垃圾收集(GC)中的两个术语:吞吐量(throughput)和暂停时间(pause times)。 JVM在专门的线程(GC threads)中执行GC 阅读全文
摘要:
新生代回收器:Serial、ParNew、parallel老年代回收器:Serial Old、CMS、Parallel Old新生代和老年代回收器:G1 Serial 特点 JDK1.3.1前,Serial是HotSpot新生代收集的唯一选择。 有如下特点: 针对新生代; 采用复制算法; 单线程收集 阅读全文
摘要:
写时复制(Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。 核心思想是,如果有多个调用者同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调 阅读全文
摘要:
服务与缓存 所谓的服务,一层应用 + 一层数据,应用从数据层获取数据然后加工输出。 数据层,通常我们指的是持久化介质上的持久化存储。它有多种形式的,可以是文件,或者数据库。 数据存储在持久化介质上,而应用运行与内存中。内存和持久化介质是两个有着量级速度差别的不同介质,由此,应用和数据之间便有了“矛盾 阅读全文