- 博客(31)
- 收藏
- 关注
原创 win11笔记本电脑键盘突然用不了了解救办法
我就用屏幕键盘登录账号进去查各种方法,有说筛选键打开了的,粘滞键打开的,我都关了发现还是不行,各种重启也不行!最后的解决办法是:电脑关机,再开机,然后疯狂按F9就行了,网上看了看说F9是恢复默认什么的!今天上班,电脑息屏去上了个厕所,回来打开电脑发现自带的键盘用不了了。电脑关机,再开机,然后疯狂按F9就行了!
2025-01-23 17:52:04
82
原创 JAVA八股文面试必会-常用工具使用-5.1 skywalking链路追踪
随着系统设计变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。往往前端的一个请求需要经过多个微服务、跨越多个数据中心才能最终获取到结果
2024-10-24 12:17:10
1240
原创 JAVA八股文面试必会-分布式框架-4.6 Kafka原理解析
消息中间件对比特性ActiveMQRabbitMQRocketMQKafka开发语言javaerlangjavascala(JVM)单机吞吐量万级万级10万级100万级时效性msusmsms级以内可用性高(主从)高(主从)非常高(分布式)非常高(分布式)功能特性成熟的产品、较全的文档、各种协议支持好并发能力强、性能好、延迟低MQ功能比较完善,扩展性佳只支持主要的MQ功能,主要应用于大数据领域消息中间件对比-选择建议消息中间件建议Kafka。
2024-06-10 11:13:03
926
原创 JAVA八股文面试必会-分布式框架-4.5 分布式任务调度
XXL-JOB是一款基于Java开发的分布式任务调度框架,它可以用于定时任务和异步任务的调度,是一个轻量级分布式任务调度平台。他的核心思想是将任务分发到多个执行器节点上执行,通过调度中心进行任务分配和管理,实现任务的分布式调度。XXL-JOB的优点包括:1. 分布式任务调度:支持多台服务器上的任务调度,可以实现高可用性和负载均衡。2. 可视化管理:提供Web控制台,可以查看任务调度的运行情况和执行日志,方便管理和监控。3. 动态管理:支持动态添加、修改和删除任务,方便快捷。
2024-06-10 11:12:06
939
原创 JAVA八股文面试必会-分布式框架-4.4 分布式事务
当某分支事务的try阶段阻塞时,可能导致全局事务超时而触发二阶段的cancel操作。在未执行try操作时先执行了cancel操作,这时cancel不能做回滚,就是空回滚。解决方案就是 : 执行cancel操作时,应当判断try是否已经执行,如果尚未执行,则应该空回滚。空回滚的解决方案就是保存一条空的回滚记录对于已经空回滚的业务,之前被阻塞的try操作恢复,继续执行try,就永远不可能confirm或cancel ,事务一直处于中间状态,这就是业务悬挂。
2024-06-10 11:11:07
936
原创 JAVA八股文面试必会-分布式框架-4.3 分布式搜索
正向索引就是先获取文档内容, 再判断文档内容中是否包含所需的关键词 , 这种查询方式就是正向索引 , MYSQL的模糊查询就是正向索引而倒排索引,是通过分词策略,形成了词条和文档的映射关系表,这种词条+映射表的结构即为倒排索引ES的倒排索引底层使用B+树的结构进行组织 , 每一个词条即为B+树的一个节点 , 叶子节点挂的就是词条所在文档的ID , 查询的时候先根据关键词查询文档ID , 在根据文档ID获取文档详情 , 因为走索引查询所以查询效率比正向索引要高的多默认情况下使用使用提供的sort。
2024-06-10 11:10:13
1906
原创 JAVA八股文面试必会-分布式框架-4.2 消息中间件
死 信交换机和正常的交换机没有什么不同 , 如果一个包含死信的队列配置了属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为死信交换机为队列绑定死信交换机 , 只需要设置队列属性即可。
2024-06-10 11:09:11
835
原创 JAVA八股文面试必会-分布式框架-4.1 分布式缓存
Redis 的主从同步(replication)机制,允许 Slave 从 Master 那里,通过网络传输拷贝到完整的数据备份,从而达到主从机制。主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据。一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。第一阶段 : 全量复制阶段slave节点请求增量同步master节点判断replid,发现不一致,拒绝增量同步。
2024-06-10 11:06:07
2064
原创 JAVA八股文面试必会-分布式框架-互联网项目常见性能指标
每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少 , 对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力 , 经常用每秒查询率来衡量系统服务器的机器的性能,即为QPS。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间。响应时间RT(Response-time),是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。
2024-06-10 11:05:02
452
原创 JAVA八股文面试必会-基础篇-3.4 SQL语句练习
多表查询就是指从多张表中查询数据。原来查询单表数据,执行的SQL形式为 :select * from emp;那么我们要执行多表查询,就只需要使用逗号分隔多张表即可,如: select * from emp , dept;具体的执行结果如下:此时,我们看到查询结果中包含了大量的结果集,总共102条记录,而这其实就是员工表emp所有的记录(17) 与 部门表dept所有记录(6) 的所有组合情况,这种现象称之为笛卡尔积。接下来,就来简单介绍下笛卡尔积。
2024-06-10 11:03:36
1025
原创 JAVA八股文面试必会-基础篇-3.3 分库分表
分库分表,是企业里面比较常见的针对高并发、数据量大的场景下的一种技术优化方案,所谓"分库分表",根本就不是一件事儿,而是三件事儿,他们要解决的问题也都不一样。这三个事儿分别是 "只分库不分表”、"只分表不分库"、以及"既分库又分表"。分库分库主要解决的是并发量大的问题。因为并发量一旦上来了,那么数据库就可能会成为瓶颈,因为数据库的连接数是有限的,虽然可以调整,但是也不是无限调整的。
2024-06-10 11:02:23
2048
原创 JAVA八股文面试必会-基础篇-3.2 数据库事务
事务就是用户定义的一系列数据库操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行成功,要么全部执行失败,是不可分割的工作单元死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象这就是死锁例如 :MYSQL中 事物A获取了一部分数据的锁(10-20) , 事物B也获取一部分数据的锁(20-30)这个时候事物A想获取id=25这条数据的锁 , 因为这条数据的锁被事物B持有就会阻塞程序。
2024-06-10 11:01:13
1035
原创 JAVA八股文面试必会-基础篇-3.1 MYSQL数据库
聚集索引(聚簇索引)是将索引列字段和行记录数据维护在了一起, 它的叶子节点存储的是索引列字段值完整的行记录数据, 通过聚集索引能直接获取到整行数据 , 简单来说就是数据和索引存储在一起就叫聚集索引例如 : 有一张User表那么基于这张表的主键 id 建立的聚集索引 , 他的结构如下所示 :因为表中存储的数据是通过聚集索引组织在一起的,所以聚集索引必须要有, 否则我们无法获取到表中的行数据 ,并且聚集索引还只能存在一个。
2024-06-06 18:46:17
709
原创 JAVA八股文面试必会-基础篇-2.5 SpringCloud框架
微服务就是一个独立的 , 职责单一的服务应用程序,一般在项目开发过程中会按照业务和需求将项目拆分成N个微服务1.优点:松耦合,聚焦单一业务功能,无关开发语言,团队规模降低 , 扩展性好, 天然支持分库2.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大。
2024-06-06 18:24:26
779
原创 JAVA八股文面试必会-基础篇-2.4 SpringBoot框架
阿里云OSS的Starter阿里云内容安全服务的StarterMinio的Starter聚合支付的StarterEMQX的Starter自己定义Starter也不难 , 我们在做的过程中 , 首先会梳理清楚这个Starter的核心功能和作用 , 将一些核心的操作封装为方法 , 封装到一个模板类中, 例如 :之类的 , 这个过程其实比较麻烦然后就抽取一些经常会变化的配置内容 , 例如 : 一些基本的连接地址配置 , 密钥配置等 , 提供属性配置类(XxxProperties) , 通过。
2024-06-06 18:23:00
875
原创 JAVA八股文面试必会-基础篇-2.3 Mybatis框架
ORM又叫对象关系映射 , 建立实体对象和数据库表之间的映射关系。开发者操作对象就相当于操作数据库 , 自动生成相关的SQL语句实现对数据库的操作Hibernate(Nhibernate):Hibernate是最早的Java ORM框架之一,支持将对象映射到关系数据库中。提供了自动映射、事务管理、连接管理等功能。MyBatis:MyBatis提供了更加灵活的SQL语句编写方式,支持动态SQL语句生成和参数绑定等功能。是一个半自动化的ORM框架。
2024-06-06 18:21:26
583
原创 JAVA八股文面试必会-基础篇-2.2 SpringMVC框架
用户发送请求至前端控制器DispatcherServletDispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器 , 组成一个处理器链 , 一并返回给DispatcherServletDispatcherServlet 调用 HandlerAdapter处理器适配器;HandlerAdapter 经过适配调用具体处理器(Handler,也叫后端控制器)
2024-06-06 18:19:59
1005
原创 JAVA八股文面试必会-基础篇-2.1 Spring框架
是Bean工厂,BeanFactory是Spring中工厂的顶层规范,他是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。不是,Spring框架中的单例bean不是线程安全的 , spring 中的 bean 默认是单例模式,spring 框架并没有对单例 bean 进行多线程的封装处理。但是,Spring解决循环依赖是有一定限制的,首先就是要求互相依赖的Bean必须要是单例的Bean,另外就是依赖注入的方式不能都是构造函数注入的方式。
2024-06-06 18:18:42
779
原创 JAVA八股文面试必会-基础篇-1.6 开发工具
命令查看冲突的文件 , 然后通过开发工具打开冲突文件 , 对文件冲突进行解决 , 文件中会明确的表名冲突的位置 , 以及本地代码和远程代码的最新内容 , 如果自己能确定如何修改就自己该就行了 , 如果不确定 , 可以通过。在开发的过程中如果两个开发者分别在本地进行代码开发, 开发完毕后提交代码到本地仓库, 如果这两个开发者对同一个或者多个文件进行了修改, 那么后提交代码的开发者则提交不成功 , 会报代码冲突错误。是在本地仓库已经存在的情况下,将远程最新的commits抓取并合并到本地版本库的过程。
2024-06-05 17:17:25
639
原创 JAVA八股文面试必会-基础篇-1.5 网络和IO
OSI模型是开放式系统互联通信参考模型,是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、 应用层)其中HTTP协议和HTTPS协议属于应用层 ,TCP协议和UDP协议属于传输层协议TCP协议位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP协议采用三次握手策略第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端。
2024-06-05 17:16:34
646
原创 JAVA八股文面试必会-基础篇-1.4 JVM相关
所谓类加载器就是负责将.class文件(存储的物理文件)加载到内存中的一个工具启动类加载器(Bootstrap ClassLoader)用来加载java核心类库,无法被java程序直接引用。扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载Java 类。
2024-06-05 17:14:45
869
原创 JAVA八股文面试必会-基础篇-1.3 并发编程
CPU密集的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行CPU密集任务只有在真正的多核CPU上才可能得到加速(通过多线程),而在单核CPU上,无论你开 几个模拟的多线程,该任务都不可能得到加速,因为CPU总的运算能力就那样。
2024-06-05 17:12:14
281
原创 JAVA八股文面试必会-基础篇-1.2 集合框架
ArrayList底层是基于数组实现的,Java中的数组需要在创建数组时便确定数组的容量,因为数组本身不会自动扩容 , 对于元素数量不确定的场景如果使用数组则需要预估所需的数组容量,如果估少了还需要重新申请空间并对原数组进行拷贝 , 这些拷贝数组的场景在开发中非常常见 , 所以 ArrayList 对这部分重复编码的逻辑进行了封装,实现了动态扩容的效果。底层使用hash表数据结构,即数组和链表的结合体 , JDK1.8起引入了红黑树 , 数据结构就变成了数组 + 链表 + 红黑树的形式。
2024-06-05 17:09:57
704
原创 JAVA八股文面试必会-基础篇-1.1 基础概念
所谓多态就是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。例如 :Java实现多态有三个必要条件:继承、重写、向上转型继承:在多态中必须存在有继承关系的子类和父类。重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。向上转型:在多态中需要父类的引用指向子类对象,只有这样该引用才能够既调用父类的方法也能调用子类的方法。JAVA反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;
2024-06-05 17:01:03
857
原创 已知一个顺序表中的元素按元素值非递减有序排列,编写一个函数删除表中多余的值相同的元素。
数据结构已知一个顺序表中的元素按元素值非递减有序排列,编写一个函数删除表中多余的值相同的元素。
2023-10-14 17:06:52
422
1
原创 已知一个顺序表A,其中的元素按值非递减有序排列,编写一个函数插入一个元素x后保持该顺序表仍按非递减有序排列。
数据结构已知一个顺序表A,其中的元素按值非递减有序排列,编写一个函数插入一个元素x后保持该顺序表仍按非递减有序排列。
2023-10-14 17:06:13
696
1
原创 构造两个长度均为5的有序线性表LA和LB,将有序表LA和LB合并为一个有序线性表LC,其中LC表中允许存在相同的元素。
数据结构构造两个长度均为5的有序线性表LA和LB,将有序表LA和LB合并为一个有序线性表LC,其中LC表中允许存在相同的元素。
2023-10-14 17:04:12
139
1
原创 构造一个长度为5的线性表,在指定元素前插入一个新的元素,删除第3个元素。
数据结构构造一个长度为5的线性表,在指定元素前插入一个新的元素,删除第3个元素。
2023-10-14 17:02:42
280
1
原创 构造一个长度为5的线性表,求表的长度,查找指定位置的元素,并修改其元素的值为指定值。
数据结构与算法构造一个长度为5的线性表,求表的长度,查找指定位置的元素,并修改其元素的值为指定值。
2023-10-14 17:00:07
151
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人