05 2021 档案

摘要:字典树,是一种空间换时间的数据结构,又称Trie树、前缀树,是一种树形结构(字典树是一种数据结构),典型用于统计、排序、和保存大量字符串。 所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高 对于字典树,有三个重 阅读全文
posted @ 2021-05-17 21:28 Abserver 阅读(193) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 缓存穿透是指用户请求的数据在缓存中不存在即没有命中,同时在数据库中也不存在,导致用户每次请求该数据都要去数据库中查询一遍,然后返回空; 常用解决方案: 布隆过滤器(Bloom Filter,简称BF):布隆过滤器专门用来检测集合中是否存在特定的元素 布隆过滤器由一个长度为m比特的位数组(b 阅读全文
posted @ 2021-05-15 19:03 Abserver 阅读(58) 评论(0) 推荐(0) 编辑
摘要:Redis的两种持久化方式 RDB(Redis DataBase 数据快照模式):定期存储,保存的是数据本身,存储文件是紧凑的; AOF(Append only file 追加模式):每次修改数据时,同步到硬盘(写操作日志),保存的是数据的变更记录; RDB RDB定时备份内存中的数据集。服务器启动 阅读全文
posted @ 2021-05-15 17:35 Abserver 阅读(92) 评论(0) 推荐(0) 编辑
摘要:BASE是对CAP中一致性和可用性权衡的结果,是基于CAP定律逐步演化而来。其核心思想是即使无法做到强一致性,但每个应用都可以根据自身业务特点,才用适当的方式来使系统打到最终一致性。 BASE理论: 基本可用(Basically Available):出现故障后系统出现响应时间上损失、功能上损失(部 阅读全文
posted @ 2021-05-14 21:54 Abserver 阅读(919) 评论(0) 推荐(0) 编辑
摘要:CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中: 一致性(Consistency):在分布式系统完成某写操作后任何读操作,都应该获取到该写操作写入的那个最新的值。相当于要求分布式系统中的各节点时时刻刻保持数据的一致性; 可用性(Availability):一直可以正常的 阅读全文
posted @ 2021-05-14 21:48 Abserver 阅读(384) 评论(0) 推荐(0) 编辑
摘要:build标签下配置资源打包路径,如下配置:将webapp中的页面文件打包到jar包内classes/META-INF/resources目录下 <resources> <resource> <directory>src/main/webapp</directory> <targetPath>MET 阅读全文
posted @ 2021-05-14 16:38 Abserver 阅读(98) 评论(0) 推荐(0) 编辑
摘要:SpringBoot的核心注解组成? 核心注解:@SpringBootApplication它由3个子注解组成: @SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能 @EnableAutoConfiguration:开启自动配置,也可以通过e 阅读全文
posted @ 2021-05-13 20:22 Abserver 阅读(139) 评论(0) 推荐(0) 编辑
摘要:借助arthas工具分析报错的类发现存在2个相同的类,其中一个jar包内自己定义的类,另一个是该jar包依赖的其他jar包中的类(包名也相同); 在本地环境下加载的是jar包自定义的类而非在测试环境下依赖的jar包内的那个类。 问题1:不同环境加载的类来源为啥不一致? 本地环境:使用的类加载器为Pa 阅读全文
posted @ 2021-05-12 21:56 Abserver 阅读(261) 评论(0) 推荐(0) 编辑
摘要:从Windows下挂载到容器内的MySQL配置文件my.cnf会有777的权限,MySQL会自动忽略该配置 解决方案:该问题尚未解决,采用了使用Ubuntu子系统搭建docker环境而回避了这个问题 阅读全文
posted @ 2021-05-12 21:52 Abserver 阅读(828) 评论(0) 推荐(0) 编辑
摘要:面向切面编程的术语 切面 Aspect:就是一个工作环境,在动态代理中可以理解为一个拦截器 通知 Advice:通知是切面开启后,切面的方法;有前置通知、后置通知、返回通知、异常通知、环绕通知(在动态代理中它可以取代当前被拦截对象的方法,提供回调原有被拦截对象的方法) 引入 Introduction 阅读全文
posted @ 2021-05-12 21:43 Abserver 阅读(85) 评论(0) 推荐(0) 编辑
摘要:Spring Bean的生命周期? Spring IoC容器本质目的是为了管理Bean,对于Bean而言在容器中存在生命周期,它的初始化和销毁也需要一个过程,在一些需要自定义的过程中可以插入一些代码去改变一些它们的行为。 初始化、依赖注入; 依次实现接口方法:BeanNameAware、BeanFa 阅读全文
posted @ 2021-05-09 19:55 Abserver 阅读(102) 评论(0) 推荐(0) 编辑
摘要:1. Java为什么要使用迭代器? 一种设计模式(迭代器模式:一种行为型模式):迭代模式是访问集合类的通用方法,只要集合类实现了Iterator接口,就可以用迭代的方式来访问集合类内部的数据,Iterator访问方式把对不同集合类的访问逻辑抽象出来,使得不用暴露集合内部的结构而达到循环遍历集合的效果 阅读全文
posted @ 2021-05-09 16:47 Abserver 阅读(109) 评论(0) 推荐(0) 编辑
摘要:例如按id取模进行水平分表分n张表,分页查询第page页的rows条数据,当前页最后一条记录是索引:currIndex = (page-1)*rows;以下为按id进行排序分页进行示例说明 ###主流的有4种解决方案(未经验证,仅作个人笔记): 额外保存一张表,存储所有库所有表的全部id属性; 分页 阅读全文
posted @ 2021-05-09 16:16 Abserver 阅读(6191) 评论(0) 推荐(0) 编辑
摘要:B树: (1)排序方式:所有节点关键字是按递增次序排列,并遵循左小右大原则; (2)子节点数:非叶节点的子节点数>1,且<=M ,且M>=2,空树除外(注:M阶代表一个树节点最多有多少个查找路径,M=M路,当M=2则是2叉树,M=3则是3叉); (3)关键字数:枝节点的关键字数量大于等于ceil(m 阅读全文
posted @ 2021-05-09 09:08 Abserver 阅读(108) 评论(0) 推荐(0) 编辑
摘要:MySQL数据结构 为什么MySQL的索引要使用B+树而不是其它树形结构?比如B树? **B树:**因为B树不管叶子节点还是非叶子节点,都会保存数据,这样导致在非叶子节点中能保存的指针数量变少(有些资料也称为扇出),指针少的情况下要保存大量数据,只能增加树的高度,导致IO操作变多,查询性能变低; * 阅读全文
posted @ 2021-05-07 09:58 Abserver 阅读(43) 评论(0) 推荐(0) 编辑
摘要:Java9 新特性 REPL (JShell) REPL(Read Eval Print Loop)意为交互式的编程环境。 JShell 是 Java 9 新增的一个交互式的编程环境工具。它允许你无需使用类或者方法包装来执行 Java 语句。它与 Python 的解释器类似,可以直接 输入表达式并查 阅读全文
posted @ 2021-05-04 22:38 Abserver 阅读(69) 评论(0) 推荐(0) 编辑
摘要:1. Lambda表达式 匿名函数; 函数式接口(只有一个方法的普通接口)jdk1.8中有@FunctionalInterface注解声明; 2. 方法的默认实现和静态方法 接口中可以使用default关键字给方法添加默认实现; 主要为了接口升级,默认实现的存在可以不用修改之前的实现类 接口中可以定 阅读全文
posted @ 2021-05-04 22:17 Abserver 阅读(51) 评论(0) 推荐(0) 编辑
摘要:类加载 双亲委托模型 Java语言是一种具有动态性的解释型语言,类只有被加载到JVM中才能运行。JVM会将编译生成的.class文件按需求和一定的规则加载到内存,并组织成一个完整的Java应用程序,这个过程由加载器来完成(ClassLoader及其子类),类加载器也是一个类,其实质是把类文件从硬盘读 阅读全文
posted @ 2021-05-04 21:27 Abserver 阅读(257) 评论(0) 推荐(0) 编辑
摘要:### 并发的可达性分析 三色表记法:主要解决或者降低GC过程中用户线程的停顿,把遍历对象图过程中遇到的对象按照"是否访问过"这个条件标记为三种颜色: 1. **白色:**表示对象尚未被垃圾收集器访问过 2. **黑色:**表示对象已经被垃圾收集器访问过,且这个对象的所有引用都已经扫描过 3. ** 阅读全文
posted @ 2021-05-04 10:21 Abserver 阅读(278) 评论(0) 推荐(0) 编辑
摘要:JVM内存划分 首先有class文件=》由类加载器加载class文件到内存空间=》内存空间(方法区、堆、虚拟机栈、程序计数器、本地方法栈)=》垃圾回收负责对内存空间的清理工作=》 class文件:Java程序编译后产生的中间代码,其将会被JVM解释执行; 类加载器:负责将class文件加载到内存,供 阅读全文
posted @ 2021-05-03 22:13 Abserver 阅读(96) 评论(0) 推荐(0) 编辑
摘要:在微软官方文档里找到了解决方案: 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令: sudo rpm -Uvh https://packages.microsoft.com/config/c 阅读全文
posted @ 2021-05-03 09:20 Abserver 阅读(831) 评论(0) 推荐(1) 编辑
摘要:1. 查找DNS缓存 DNS(Domain Name System) 是一个分布式的数据库,它用于维护网址 URL 到其 IP 地址的映射关系。在互联网中,IP 地址是计算机所能够理解的一种地址,而 DNS 的这种别名地址是我们人类能够理解和记忆的地址,DNS 就负责把人类记忆的地址映射成计算机能够 阅读全文
posted @ 2021-05-01 12:36 Abserver 阅读(91) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示