- 博客(64)
- 收藏
- 关注
原创 设计模式相关面试
设计模式工厂方法模式简单工程模式工厂方法设计模式抽象工厂设计模式工厂方法小结策略模式案例(工厂模式+策略模式)责任链设计模式概述常见使用方式常见技术场景单点登录如何实现权限认证如何实现上传数据的安全如何控制遇到了那些比较棘手的问题,如何解决的你们项目中日志如何采集查看日志的命令生产问题怎
2025-01-15 21:39:24
524
原创 JVM面试相关
JVM组成什么是程序计数器详细介绍Java堆什么是虚拟机栈能不能解释一下方法区?直接内存相关类加载器什么是类加载器,类加载器有哪些什么是双亲委派模型类加载过程垃圾回收对象什么时候可以被垃圾回收器回收JVM垃圾回收算法有那些JVM的分代回收J
2025-01-13 23:45:33
218
原创 多线程面试相关
线程基础知识线程与进程的区别并行和并发的区别创建线程的方式Runnable和Callable有什么区别run()方法和start()方法的区别小结线程包含哪些状态,各个状态之间如何变化线程按顺序执行notify()和notifyAll()的区别Java中的wait方法和sleep方法的不同如何停止一个正在运行的线程线程安全Synchronized底层实
2025-01-12 23:43:32
400
原创 集合面试题
算法复杂度分析List相关面试题数组ArrayList源码分析数组和LIst之间转换linkedList源码分析ArrayList和linkedlist的区别Map相关面试题二叉树散列表HashMap的实现原理Put方法的具体流程Hash
2025-01-10 17:03:49
334
原创 消息中间件面试
RabbitMQ如何保证消息不丢失消息重复消费死信交换机消息堆积怎么解决高可用机制Kafka如何保证消息不丢失如何保证消息的顺序性高可用机制数据清理机制实现高性能的设计
2025-01-09 15:25:16
401
原创 微服务面试相关
Spring CloudSpring Cloud五大组件注册中心:Eureka、NacosRibbon负载均衡、负载均衡策略、自定义负载均衡Ribbon负载均衡流程Ribbon负载均衡策略自定义负载均衡服务雪崩、熔断降级微服务监控-skywalking业务相关微服务限流(令牌桶、漏桶算法)Nginx限流网关限流分布式系统理论 CAP和BASE
2025-01-08 21:17:15
519
原创 框架相关面试
SpringSpringBean线程安全问题AOP相关面试事物失效Bean的生命周期Bean的循环依赖(循环引用)SpringMVC的执行流程SpringBoot自动配置原理Spring框架的常见注解MybatisMybatis的执行流程Mybatis的延迟加载Mybatis
2025-01-08 15:06:38
285
原创 面试准备备备备
职业技能放到简历的黄金位置(HR刷选简历的重要参考)基本准则:写在简历上的必须能聊,不然就别写 参考公式:职业技能 = 必要技术 + 其他技术 针对性的引导面试官(让他问一些你想让他问的)寻找合适项目面试
2025-01-02 19:41:46
311
原创 黑马头条day01
随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息,因此,对于移动资讯客户端的需求也越来越高。黑马头条项目正是在这样背景下开发出来。黑马头条项目采用当下火热的微服务+大数据技术架构实现。本项目主要着手于获取最新最热新闻资讯,通过大数据分析用户喜好精确推送咨询新闻。
2024-12-15 22:11:36
801
原创 学成在线day08
课程预览界面的模版插槽(使用了freemark的模版插槽技术):将查询到的数据填充到代码中返回给前端,由于需要调用css等静态资源所以使用nginx服务器进行代理,将html代码进行结合,得到预览界面。为了提高网站的速度需要将课程信息进行缓存,并且要将课程信息加入索引库方便搜索,下图显示了课程发布后课程信息的流转情况。MinIO中存储了课程的静态化页面文件(html网页),查看课程详情是通过文件系统去浏览课程详情页面。1、向内容管理数据库的课程发布表存储课程发布信息,更新课程基本信息表中发布状态为已发布。
2024-11-30 21:38:35
665
原创 学成在线day07
根据业务流程,用户进入课程计划列表,首先确定向哪个课程计划添加视频,点击”添加视频“后用户选择视频,选择视频,点击提交,前端以json格式请求以下参数:提交媒资文件id、文件名称、教学计划id"fileName": "22-Hmily实现TCC事务-开发bank2的confirm方法.avi",此接口在内容管理模块提供。@Data@ApiModel(value="BindTeachplanMediaDto", description="教学计划-媒资绑定提交数据")
2024-11-29 20:47:47
859
原创 学成在线day06
对一个视频的转码可以理解为一个任务的执行,如果视频的数量比较多,如何去高效处理一批任务呢?1、多线程多线程是充分利用单机的资源。2、分布式加多线程充分利用多台计算机,每台计算机使用多线程处理。方案2可扩展性更强。方案2是一种分布式任务调度的处理方案。什么是分布式任务调度?我们可以先思考一下下面业务场景的解决方案:每隔24小时执行数据备份任务。12306网站会根据车次不同,设置几个时间点分批次放票。某财务系统需要在每天上午10点前结算前一天的账单数据,统计汇总。
2024-11-28 20:39:00
1182
1
原创 学成在线day05
根据需求分析,下边进行接口定义,此接口定义为一个通用的上传文件接口,可以上传图片或其它文件。首先分析接口:请求地址:/media/upload/coursefileform-data;filename="具体的文件名称", 此为和前端协商的文件名称,用于保存响应参数:文件信息,如下为了方便以后对返回数据的修改,定义一个dto用于返回数据/*** @description 上传普通文件成功响应结果*/@Data@ApiOperation("上传文件")
2024-11-27 09:57:27
1024
原创 学成在线day01
3、maven依赖版本冲突怎么处理?maven依赖版本冲突一般是由于间接依赖导致一个jar包即有多个不同的版本,比如:A依赖了B的T0版本,c依赖了B的2.0版本,项目依赖A和C从而间接依赖了B的1.0和2.0版本,此时B有两个版本引入到了项目中,当存在版本冲突时可能会出现ClassNotFoundException、.NoSuchMethodError等错误。处理版本冲突可以使用以下方法:1、使用exclusions排除依赖。
2024-11-20 16:52:23
825
原创 微服务day11-微服务面试
分布式事务CAP和BASEAT模式的脏写问题TCC模式最大努力通知注册中心环境隔离分级模型Eureka与Nacos远程调用切换负载均衡算法服务保护线程隔离滑动窗口算法漏桶算法令牌桶算法
2024-11-18 16:20:04
441
原创 微服务day10-Redis面试篇
建立集群时主节点会生成同一的replicationID,交给各个从节点。集群中的缓冲区是一个环型数组,即若从节点宕机时间过长,可能导致命令被覆盖。
2024-11-17 16:43:51
840
原创 微服务day07
MQ高级发送者可靠性,MQ的可靠性,消费者可靠性。发送者可靠性发送者重连连接重试的配置文件:spring: rabbitmq: connection-timeout: 1s # 设置MQ的连接超时时间 template: retry: enabled: true # 开启超时重试机制 initial-interval: 1000ms # 失败后的初始等待时间 multiplier: 1 # 失败后下次的等待
2024-11-14 20:52:11
949
原创 微服务day08
分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名修改索引库,添加字段:PUT /索引库名/_mapping。
2024-11-13 22:22:37
1960
原创 微服务day05
Sentinel是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中。官方网站:核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。
2024-11-09 22:08:21
984
原创 微服务day04
/Ordered接口为spring中的排序接口,为核心接口//GlobalFilter要在NettyRoutingFilter之前,NettyRoutingFilter的Ordered的值为int的最大值,确保其最后执行@Override//获取request//获取header头//将exchange传给下一个过滤器@Override// 过滤器执行顺序,值越小,优先级越高return 0;登录校验需要用到JWT,而且JWT的加密需要秘钥和加密工具。这些在hm-service。
2024-11-08 10:25:27
1079
原创 微服务day02
指定基础镜像# 配置环境变量,JDK的安装目录、容器内时区# 拷贝jdk和java项目的包# 设定时区# 安装JDK# 配置环境变量# 指定项目监听的端口# 入口,java项目的启动命令# 基础镜像# 设定时区# 拷贝jar包# 入口由于要下载JDK到本地所以先上传JDK到本地镜像。
2024-11-03 10:56:53
1986
原创 尚庭公寓租赁项目day05
缓存优化是一个性价比很高的优化手段,多数情况下,缓存优化可以通过一些简单的操作,换来性能的大幅提升。缓存优化的核心思想就是将一些原本保存在磁盘(例如MySQL)中的、经常访问并且查询开销比较大的数据,临时保存到内存(例如Redis)中。后序再访问相同数据时,就可直接从内存中获取结果,而无需再访问磁盘,由于内存的读写速度远高于磁盘,因此就能极大的提高程序的性能。在使用缓存优化时,有一个问题不得不提,那就是数据库和缓存数据的一致性。
2024-10-31 08:51:10
650
原创 尚庭公寓租赁项目day04
不过其提供了一个注解。但是我们有很多的枚举类型都需要考虑类型转换这个问题,按照上述思路,我们需要为每个枚举类型都定义一个Converter,并且每个Converter的转换逻辑都完全相同,针对这种情况,我们使用。方法抛出的各种异常进行了捕获,然后打印了异常信息,目前这种处理逻辑,无论Minio是否发生异常,前端在上传文件时,总是会受到成功的响应信息。:可使用mybatis-plus的自动填充功能,所谓自动填充,就是通过统一配置,在插入或更新数据时,自动为某些字段赋值,具体配置如下,详细信息可参考。
2024-10-23 08:41:30
937
原创 尚庭公寓租赁项目day03
MyBatis-Plus(简称 MP)是一个MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑强大的 CRUD 操作:内置通用 Mapper、通用 Service,提供了大量的通用的CRUD方法,因此可以省去大量手写sql的语句的工作。条件构造器:提供了强大的条件构造器,可以构造各种复杂的查询条件,以应对各种复杂查询。内置分页插件。
2024-10-20 15:24:10
748
原创 Linux处理相关
Linux中的所有文件均有严格的访问权限控制,只有当用户拥有某个文件的相关权限时,才可对文件执行相关操作。权限系统相关概念用户和用户组在Linux系统中注册的个体称为一个用户,例如root和atguigu,除此之外还能使用useradd <用户名>命令创建新的用户。每个用户都可以属于一个或多个用户组,可以使用groups <用户名>命令查看用户所属的组,使用usermod -g <新组名> <用户名>修改用户所属组。每个文件或者目录都有一个所属用户和一个所属组。文件权限。
2024-10-17 10:49:38
1120
原创 尚庭公寓房屋租赁系统day01
属性管理页面包含公寓和房间各种可选的属性信息,其中包括房间的可选支付方式房间的可选租期房间的配套公寓的配套等等。其所需接口如下房间支付方式管理页面如下所需接口如下查询全部支付方式列表保存或更新支付方式根据ID删除支付方式房间租期管理页面如下所需接口如下查询全部租期列表保存或更新租期根据ID删除租期标签管理页面如下所需接口如下保存或更新标签查询标签列表根据ID删除标签配套管理页面如下所需接口如下保存或更新配套查询配套列表根据ID删除配套房间基本属性管理页面如下所需接口如下。
2024-10-16 09:22:23
1201
原创 velocity模版引擎
Velocity是一个基于Java的模板引擎,可以通过特定的语法获取在java对象的数据 , 填充到模板中,从而实现界面和java代码的分离!常见的应用场景:Web内容生成 : 生成动态Web页面。代码生成 : 生成Java源代码、SQL脚本、XML配置文件等。网页静态化 : 生成静态网页。
2024-10-13 11:02:36
1010
原创 AI+若依框架day02
项目实战项目介绍帝可得是什么角色和功能页面原型库表设计初始AIAIGC提示工程Prompt的组成Prompt练习项目搭建点位管理需求说明库表设计
2024-10-12 21:27:52
173
原创 javase复习day35反射
System.out.println(this.name+"正在唱"+name);System.out.println(name+"正在跳舞");/*** 获取*//*** 设置*/
2024-09-26 19:59:30
489
原创 javaseday31多线程
*(核心线程数量,最大线程数量,空闲线程最大存活时间,任务队列,创建线程工厂,任务的拒绝策略);参数一:核心线程数量 不能小于0参数二:最大线程数 不能小于0,最大数量 >= 核心线程数量参数三:空闲线程最大存活时间 不能小于0参数四:时间单位 用TimeUnit指定参数五:任务队列 不能为null参数六:创建线程工厂 不能为null参数七:任务的拒绝策略 不能为null*/3, //核心线程数量,能小于06, //最大线程数,不能小于0,最大数量 >= 核心线程数量。
2024-09-24 16:29:41
557
原创 javase复习day29 io
*** Serializable 实现这个接口后才可以被序列化*///压缩包的位置//文件解压目的地//解压的本质:把压缩包中的每一个文件或文件夹读取出来,按照层级拷贝到当前目的地中//进行解压缩//创建一个ZipEntry对象用来存储解压的文件对象,表示当前在压缩包中获取的文件或文件夹//zis.getNextEntry()遍历压缩包将所有的文件和文件夹变为ZipEntry对象= null) {//创建对应层级的文件对象。
2024-09-21 16:19:34
1855
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人