上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 73 下一页
摘要: 索引是个什么东西? 我们可以创建哪些索引? 哪些字段适合建立索引呢? 索引是不是越多越好呢? 为什么我们不建议使用uuid、身份证号等数据做为主键? 为什么不建议使用select * from table? 我们使用模糊匹配 ’%三‘ ’张%‘ 在前在后会影响索引的使用吗? 什么是索引 在关系数据库 阅读全文
posted @ 2021-12-15 08:42 残城碎梦 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 线程池常问问题: 线程池各个参数的作用,简单阐述一下线程池工作流程。 常见的线程池有哪些,分别适用于什么场景? 使用无界队列的线程会导致内存飙升吗? 线程池的好处 降低线程创建和销毁线程造成的开销 提高响应速度。任务到达时,相对于手工创建一个线程,直接从线程池中拿线程,速度肯定快很多 提高线程可管理 阅读全文
posted @ 2021-12-15 08:19 残城碎梦 阅读(78) 评论(0) 推荐(0) 编辑
摘要: MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。 其中重做日志和回滚日志与事务 阅读全文
posted @ 2021-12-14 23:36 残城碎梦 阅读(211) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper是什么? ZooKeeper是一个分布式应用程序协调服务。 Zookeeper提供了文件系统和通知机制。 文件系统 Zookeeper提供一个多层级的节点命名空间(节点称为znode)。与文件系统不同的是,这些节点都可以设置关联的数据,而文件系统中只有文件节点可以存放数据而目录节点 阅读全文
posted @ 2021-12-14 21:29 残城碎梦 阅读(57) 评论(0) 推荐(0) 编辑
摘要: Spring是核心,提供了基础功能,核心是控制反转(IOC)和面向切面(AOP); Spring MVC 是基于Spring的一个 MVC 框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分 ; Spring Boot 是为简化Spring配置的快速开发整合包, 阅读全文
posted @ 2021-12-14 21:26 残城碎梦 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 通知类型 在基于Spring AOP编程的过程中,基于AspectJ框架标准,spring中定义了五种类型的通知,它们分别是: 前置通知 (@Before) 。 返回通知 (@AfterReturning) 。 异常通知 (@AfterThrowing) 。 后置通知 (@After)。 环绕通知 阅读全文
posted @ 2021-12-14 17:27 残城碎梦 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 主从复制的方式 一主一从 主主复制 一主多从(扩展系统读取的性能,因为读是在从库读取的); 多主一从(5.7开始支持) 联级复制 主从复制的用途及条件 MySQL主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从部署必要条件 主库开启binlog日志(设置log- 阅读全文
posted @ 2021-12-14 15:50 残城碎梦 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 主从复制的作用(或者说为什么要做主从) 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足 阅读全文
posted @ 2021-12-14 14:20 残城碎梦 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 缓存是什么 存储的速度是有区别的。缓存就是把低速存储的结果,临时保存在高速存储的技术。 如图所示,金字塔更上面的存储,可以作为下面存储的缓存。 为什么需要缓存 存储如mysql通常支持完整的ACID特性,因为可靠性,持久性等因素,性能普遍不高,高并发的查询会给mysql带来压力,造成数据库系统的不稳 阅读全文
posted @ 2021-12-14 13:45 残城碎梦 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 在复杂的分布式系统中,ID就是大量的数据和消息的唯一标识。 举个例子,数据库的ID字段在单体的情况下可以使用自增来作为ID,但是对数据分库分表后一定需要一个唯一的ID来标识一条数据,这个ID就是分布式ID。对于分布式ID而言,也需要具备分布式系统的特点:高并发,高可用,高性能等特点。 分布式ID实现 阅读全文
posted @ 2021-12-14 13:22 残城碎梦 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 效率低的原因 阿里开发手册:【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。 说明: 增加查询分析器解析成本。 增减字段容易与 resultMap 配置不一致。 无用字段增加网络 消耗,尤其是 text 类型的字段。 不需要的列会增加数据传输时间和网络开销 用“S 阅读全文
posted @ 2021-12-14 13:22 残城碎梦 阅读(40) 评论(0) 推荐(0) 编辑
摘要: ① map的key采用简单形式和复杂形式时(如:整型和字符串),查找的效率是不同的,简单的key值效率更高 ② 当数据量大的时候,采用entrySet遍历key+value的效率要高于keySet ③ 当我们只需要取得value值时,采用values来遍历效率更高 参考: 面试官:Java遍历Map 阅读全文
posted @ 2021-12-14 13:11 残城碎梦 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 什么是 CAP 定理 CAP 理论告诉我们,一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A: Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中的2个。 什么是分区 在分布式系统中,不同的节点分布在不 阅读全文
posted @ 2021-12-14 12:57 残城碎梦 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 在实践中我们发现对于大多数的应用领域,评估一个垃圾收集(GC)算法如何根据如下两个标准: 吞吐量越高算法越好 暂停时间越短算法越好 首先让我们来明确垃圾收集(GC)中的两个术语:吞吐量(throughput)和暂停时间(pause times)。 JVM在专门的线程(GC threads)中执行GC 阅读全文
posted @ 2021-12-14 10:12 残城碎梦 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 新生代回收器:Serial、ParNew、parallel老年代回收器:Serial Old、CMS、Parallel Old新生代和老年代回收器:G1 Serial 特点 JDK1.3.1前,Serial是HotSpot新生代收集的唯一选择。 有如下特点: 针对新生代; 采用复制算法; 单线程收集 阅读全文
posted @ 2021-12-14 09:15 残城碎梦 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 写时复制(Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。 核心思想是,如果有多个调用者同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调 阅读全文
posted @ 2021-12-14 08:37 残城碎梦 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 服务与缓存 所谓的服务,一层应用 + 一层数据,应用从数据层获取数据然后加工输出。 数据层,通常我们指的是持久化介质上的持久化存储。它有多种形式的,可以是文件,或者数据库。 数据存储在持久化介质上,而应用运行与内存中。内存和持久化介质是两个有着量级速度差别的不同介质,由此,应用和数据之间便有了“矛盾 阅读全文
posted @ 2021-12-14 00:22 残城碎梦 阅读(82) 评论(0) 推荐(1) 编辑
摘要: 为什么使用MQ? MQ的使用场景有很多,但是比较核心的就是:解耦、异步、削锋。 系统解耦 举例,有ABCDE五个系统,BCDE系统都需要调用A系统的接口获取数据,这样A系统跟其他四个系统严重耦合,需要时时刻刻考虑其他四个系统要是挂了怎么办,需不需要重新发送数据给他们,这个时候的A系统内心是崩溃的。 阅读全文
posted @ 2021-12-13 23:34 残城碎梦 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 接口的安全性主要围绕token、timestamp和sign三个机制展开设计,保证接口的数据不会被篡改和重复调用。 Token授权机制 用户使用用户名密码登录后,服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行T 阅读全文
posted @ 2021-12-13 23:19 残城碎梦 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 动态代理实现 Spring底层的动态代理有两种实现方式,一是JDK的动态代理技术,二是Cglib开源框架提供的动态代理技术。 JDK动态代理 JDK的动态代理,必须是基于接口进行代理,也就是我们的目标类必须实现一个接口,才能进行代理。 创建代理的三个要素: 原始对象 额外功能 代理对象和原始对象实现 阅读全文
posted @ 2021-12-13 21:18 残城碎梦 阅读(1794) 评论(0) 推荐(0) 编辑
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 73 下一页