自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 联机分析处理

1.OLAP概述:多维数据库和多维分析,它是针对特定问题的联机数据访问和分析处理,也可以说多为数据分析工具的集合2.数据仓库侧重于存储和管理面向主题的数据;而OLAP则侧重于数据仓库中的数据分析,并将其转换成辅助决策的信息。: 是传统的关系型数据库的主要应用,包括记录实时的增、删、改、查。4.OLAP(On-LineAnalytical: 是数据仓库的主要应用,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。

2024-04-07 19:02:43 286

原创 数据仓库篇

1.数据仓库是为构建一个分析型事务处理的环境而出现的一种数据存储和组织技术。2.特征:面向主题的,集成性,随时间而变化,数据不易丢失。3.作用:存储经过加工处理的决策需要的数据,查询和决策分析的依据4.操作型数据库与数据仓库的区别:前者是随时可以更新的,数据根据需要而变化。后者是定期更新的,加载后的数据将变得更少,但是并不是意味着数据仓库中的数据并不更新5.数据仓库中的每一个关键结构都隐式或显式地包含时间元素,时间维是数据仓库中一个非常重要的维度;

2024-04-07 18:38:10 250

原创 常见集合篇

1.底层数据结构:ArrayList是基于动态数组的数据结构实现,LinkList是基于双向链表的数据结构实现。2.操作效率:ArrayList按照下标查询的时间复杂度为O(1),因为内存是连续的,根据寻址公式(首地址+索引*存储数据类型的大小),LinkList不支持下标查询,但是都支持遍历查询,时间复杂度都为O(n)。新增删除:两个头尾的增加和删除元素都比较简单,时间复杂度为O(1),但是中间部分的时间复杂度为O(n)。

2024-04-07 16:32:53 772

原创 爬虫爬取动态网页

动态网页:无法从HTML源码中直接获取元素1.前端页面与数据库联动,动态更新。2.网页内容可能由Javascript动态生成。3.可能由Ajax技术和动态HTML技术。以这个网址为例随便点击一本书进行查看源代码拿精品力作中的《文明之光》这本书来说,首先看源码这是利用Ajax技术去动态记载数据,并且这里的url不是完整的,必须要与上面的合并起来。

2024-03-03 14:54:21 1213

原创 MYSQL面试篇(2)

事务是一个不可分割的工作单位,要么全部被执行,要么全部不被执行。即事务中的操作要么全部成功提交,要么全部失败回滚,不会出现部分操作成功部分操作失败的情况。:事务执行前后,数据库从一个一致性状态变为另一个一致性状态。在事务开始之前和事务结束之后,数据库的完整性约束没有被破坏,保持数据的一致性。:多个事务并发执行时,每个事务的执行都应当与其他事务相互隔离,互不干扰。事务之间应当相互独立,避免数据互相影响,确保并发执行的事务能够得到正确的结果。

2024-02-28 13:24:06 902 1

原创 数据库MYSQL面试篇(1)

面试官:sql的优化的经验候选人:嗯,这个在项目还是挺常见的,当然如果直说sq!优化的话,我们会从这几方面考虑,比如建表的时候、使用索引、sql语句的编写、主从复制,读写分离,还有一个是如果量比较大的话,可以考虑分库分表面试官:创建表的时候,你们是如何优化的呢?候选人:这个我们主要参考的阿里出的那个开发手册《嵩山版》,就比如,在定义字段的时候需要结合字段的内容来选择合适的类型,如果是数值的话,像tinyint、int、bigint这些类型,要根据实际情况选择。

2024-02-27 13:56:11 1001

原创 Redis面试篇(3)

redis中的哨兵机制就是为了解决主从复制过程中的自动故障恢复问题,从而实现集群的高可用,高效能。1.监控:Sentinel(哨兵)会不断监控master和slave节点是否按照预期工作2.自动故障恢复:如果master故障,Sentinel会在slave节点中选择一个当作新的master,故障恢复之后则以新的为主。3.通知:当节点转移之后会将信息发送给redis客户端。

2024-02-19 16:54:27 877 1

原创 Redis面试篇(2)

1.Redis 分布式锁是一种基于 Redis 实现的分布式锁,通过 Redis 的原子性操作保证了锁的互斥性和可重入性,可以在分布式环境下保护共享资源的访问安全。2.场景:一般用于定时的任务,抢单等。

2024-02-18 23:39:39 310 1

原创 Redis面试篇(1)

给key设置一个过期时间,key过期的时候,恰好这个时间点有大量的key并发请求数据库,会导致数据库在一瞬间奔溃,瘫痪。在同一段时间按内,大量的缓存key同时失效或者redis服务器宕机,导致大量请求到数据库,带来巨大的压力。双写一致性:就是当修改了数据库的数据,也需要同时更新缓存的数据,要求保持一致缓存持久化是指将缓存中的数据持久化存储到磁盘或其他介质中,以防止数据在重启或意外宕机等情况下丢失。

2024-02-18 23:07:15 940 1

原创 SpringBoot面试篇(5)

Spring MVC是一种用于构建Web应用程序的MVC(Model-View-Controller)框架。下面是Spring MVC的执行流程概述:客户端发送请求:客户端(例如浏览器)发送HTTP请求到Spring MVC应用程序。前端控制器接收请求:前端控制器(DispatcherServlet)是Spring MVC的核心组件之一,它作为应用程序的入口点,接收所有的请求。处理器映射器(Handler Mapping)确定处理器:前端控制器将请求交给处理器映射器(Handler Mapping)

2024-02-17 18:16:16 740 1

原创 SpringBoot面试篇(4)

在Spring框架中,Bean循环依赖指的是两个或多个Bean之间相互依赖的情况。具体来说,当Bean A依赖于Bean B,同时Bean B也依赖于Bean A时,就会出现循环依赖。Spring容器在处理Bean循环依赖时采取了一定的策略,主要有三种方式:提前暴露(Early Exposure):在创建Bean A时,将其提前暴露给其他Bean,使得其他Bean可以提前引用到尚未完全初始化的Bean A。这样可以避免循环依赖带来的问题。

2024-02-17 17:48:02 708

原创 SpringBoot面试篇(3)

2.执行Bean后置处理器的postProcessBeforeInitializer方法。上述步骤之后,Bean的初始化就完成了,接下来就是程序从容器中获取Bean并使用,3.执行Initializerbean接口的回调。首先,在创建对象的过程中,先调用构造方法实例化对象,然后注入依赖,1.执行Aware感知接口的回调方法,4.执行Bean后置处理器,doGetBean()方法字面意思就是创建实例,最后,在销毁容器之前,会先销毁对象。HR:说一下Bean的生命周期?

2024-02-17 17:23:23 348 1

原创 SpringBoot面试篇(2)

1.准备BeanFactory,这一块需要给BeanFactory设置一些属性,类加载器,Environment等。2.执行BeanFactory后置处理器,,这个阶段会扫描放在容器中的Bean对象,注意这里只扫描不会创建,容器的初始流程是从run()方法的refresh()方法开始的,从。3.注册BeanPostProcessor。以上就是这个IOC容器的初始化的全过程。HR:说一下IOC容器的初始化流程?5.实例化容器中的Bean对象,3.绑定事件监听器和时间多播器。4.实例化Bean对象,

2024-02-17 15:36:13 300 1

原创 SpringBoot面试篇(1)

首先,当我们在启动类里面执行SpringApplication.run()这行代码时候,在方法内部会做两个事情, 1.创建SpringApplication对象,其实核心就两步骤,一个是创建Spring Application对象以及run方法的调用,在run方法中会实例化容器,并且创建需要的Bean实例。1.确认web的应用类型,是servlet或者是无web类型,如果是前者,会自动启动一个tomcat。4.接下来准备容器,为容器设置Environment,BeanFactory,

2024-02-17 12:26:37 484 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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