- 博客(87)
- 收藏
- 关注
原创 docker
思考问题:在Redis容器中存储的数据,如果Redis容器被删除了,数据是否还存在?解决方案:将数据存储到Linux宿主机的磁盘目录中数据卷概述:数据卷是docker所提供的一个虚拟目录,这个虚拟目录会对应宿主机的一个真实目录。在创建容器的时候就可以将这个数据卷挂载到容器中的某一个目录下,那么此时在该目录下所产生的数据就会存储到宿主机的目录下,实现了容器和宿主机之间的文件共享。前面我们所使用的镜像都是别人构建好的,但是别人构建好的镜像不一定能满足我们的需求。
2026-06-19 16:33:56
215
原创 mysql3
1、MyISAM引擎2、索引创建规则3、单表查询优化4、多表(关联)查询优化5、explain性能分析工具和指标字段6、数据库优化方式?搭建数据库集群时候,只能有一台主机,可以有多台从机,也就是一主多从在主机里面进行写操作,主机完成操作之后,同步到集群里面其他从机里面去主从复制有缺点:数据延迟问题,主机里面写完操作之后,马上在从机读,可能读取不到解决:在主机里面写在主机里面读要实现主从复制,主机里面需要使用二进制日志,从机需要使用中继日志当主机数据发生变化,在主机二进制日志里面记录变化数据当从机开始主从同步
2026-05-14 17:02:30
377
原创 mysql2
搭建数据库主从环境,需要有且只有一台主机,可以有多台从机,比如一主两从读写分离:主机里面做写操作,从机里面做读操作要添加数据,在主机里面进行添加,主机添加完成之后,同步到多个从机里面主从复制有缺陷:数据延迟问题-- 在主机里面添加完成之后,马上到从机里面去读取数据,可能读取不到,因为主机数据可能还没有同步过去第一种,在主机里面写完之后,等一会再去读第二种,主机里面写马上去读,在主机写完成之后就在主机进行读操作。
2026-05-14 16:56:57
498
原创 mysql1
索引(Index)是帮助MySQL高效获取数据的数据结构。索引优点和缺点-- 优点:减低IO次数,提高效率-- 缺点:占用空间,维护成本高索引分类从功能逻辑上划分,索引主要有 4 种,分别是普通索引、唯一索引、主键索引。按照作用字段个数划分,索引可以分为单列索引和联合索引。按照物理实现方式划分 ,索引可以分为 2 种,分别是聚簇索引和非聚簇索引。
2026-05-14 16:55:04
388
原创 JUCJUCJUC
创建线程池有两种方式:第一种使用工具类Executors ,第二种方式new ThreadPoolExecutor传递七个参数实际应用中都使用第二种方式ThreadPoolExecutor实现,自定义线程池使用Executors工具类创建线程池,支持线程数最大值是Integer.max_value,很容易造成大量线程堆积,导致OOM问题5,try {i <=9;i++) {
2026-05-12 22:30:56
350
原创 JUCJUCJUC
之前学习过连接池,德鲁伊连接池,SpringBoot内置连接池等等连接池优点:预先创建一些连接,把这些连接放到集合里面,每次使用连接可以从集合里面获取连接,使用完这个连接之后放回到集合里面,达到连接复用。一般来讲一个连接池具备可伸缩特性。现在学习线程池,特点和连接池类似的,目的达到线程复用创建线程有四种方式,使用线程池是最常用的方式ConcurrentHashMap底层原理。
2026-05-10 15:32:29
388
原创 JUCJUC
ReentrantLock使用方式-- new ReentrantLock对象,使用lock方法加锁,unlock方法解锁ReentrantLock特性-- 可重入性-- 公平和非公平锁-- 限时等待ReentrantLock和synchronized区别读写锁使用读写锁 -- 锁降级。
2026-05-07 21:38:24
190
原创 JVM和JUC
并发编程工具包在jdk1.5开始出现工具包 java.util.concurrent,在这个包提供很多类和接口,使用这些类和接口可以很方便 实现多线程编程学习下面三个包里面类和接口java.util.concurrent : 并发编程普通类和接口java.util.concurrent.auomic : 不加锁实现变量具备线程安全特性(原子类)java.util.concurrent.locks : 并发编程锁操作类和接口。
2026-05-05 14:54:05
434
原创 JVM面试题
作用:负责把class字节码文件加载到jvm里面细节1:class文件在文件开头有特定的文件标识类加载首先加载类信息(Class),类信息放到方法区里面,创建类实例放到堆里面。
2026-05-02 22:13:33
415
原创 GitGit
工作流程如下:从远程仓库中克隆 Git 资源作为本地仓库;从本地仓库中checkout代码然后进行代码修改;提交代码到暂存区;提交到本地仓库(本地仓库保存着文件的各个历史版本)在需要和团队成员共享代码时,可以将修改代码push到远程仓库Git的历史:Git 是 Linux 开源社区推出的,Linux 内核有很多人参与开发,这就导致:绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)
2025-12-27 22:31:24
643
原创 发邮件1、创建邮箱
日志技术用来记录程序运行的轨迹SpringBoot自带了一个日志框架,logbacklog4j2和 logback 都使用了统一的日志门面日志门面是一个类似接口的框架,所有的日志框架,都实现了日志门面。在使用日志的时候,如果从locback切换到log4j2是不会影响编码的。为什么需要使用日志技术?现在我们的代码,产生的日志和异常信息,都是输出在idea的控制台上。以后,代码发布到线上之后,程序是要在Linux下运行的。
2025-12-16 01:04:43
842
原创 授权vvvvvv
写一个自己的方法,让授权成功也能像role或者Authority那样,控制方法能否访问//test方法,返回的数据,如果是true表示允许访问当前的方法//如果返回false,表示没有权限访问当前方法使用//寻找名字是auth1的bean对象,调用里面的.test方法,传入参数ttttt菜单授权。
2025-12-12 21:02:09
690
原创 SpringSecurity
<title>登录页面</title><input type="text" placeholder="用户名" name="uname"></p><p><input type="password" placeholder="用户名" name="pwd">
2025-12-09 23:05:41
1135
原创 异步任务la
多线程,线程池非常简单,在配置文件中,添加线程池的配置就可以生效了修改配置文件spring:task:execution:pool:代码使用@Resource});
2025-12-08 17:36:12
917
原创 aiaiaiaiaiaiaiaiaiaiaiaiai
为了在原有SpringBoot版本的基础上,添加AI的功能,无法使用SpringAI同类产品--火山引擎。
2025-12-06 14:55:38
824
原创 WebSocket
有在线聊天、或者消息推送功能的项目追求开发速度+低成本:自己实现聊天服务器、使用WebSocket追求性能+保密:自己实现,netty追求开发速度+性能:第三方聊天房间:IM(环信、网易云信)推送:SSE。
2025-12-03 11:03:12
953
原创 陪玩小项目努力
<!--数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> &nb
2025-11-29 20:45:22
629
原创 Redis入门
Redis入门学习指南:本文介绍了Redis的基本概念、安装配置、核心数据类型及SpringBoot整合方法。Redis是一款基于内存的NoSQL键值数据库,支持持久化存储和丰富的数据结构(String、Hash、List、Set、ZSet)。文章详细讲解了Windows环境下的安装步骤、常用指令以及SpringBoot整合Redis的配置方法,包括JSON序列化优化。通过实际案例演示了缓存查询、批量操作和自增ID等功能,帮助开发者快速掌握Redis在项目中的实际应用,提升系统性能。
2025-11-27 16:43:25
785
原创 焚决糟糕篇
乐观锁:它是假设不会被并发修改,仅仅是在更新的时候校验版本号悲观锁:它是默认数据会被修改,然后通过锁机制,保证操作的原子性text编辑各层职责清晰,实体类映射数据库,DAO 处理 SQL,Service 封装逻辑,Controller 提供接口。xml编辑#{rid}</foreach>
2025-11-26 20:11:59
1104
原创 MyBatisPlus
课程计划介绍搭建项目基本的使用案例常用注解条件构建器插件常用方法学习目标熟练使用MyBatisPlus常用注解熟练使用MyBatis注解熟练使用MyBatisPlus框架,完成单表操作https://baomidou.com/introduce/MyBatisPlus是对MyBatis的高度封装框架,其核心设计理念,是将SQL语句对象化,通过面向对象的思维处理数据库操作。SQL操作对象化:将SQL查询、更新、新增、删除等操作,映射为Java方法,通过调用方法实现数据库交互简化开发流程:通过内置的方法和工具,
2025-11-24 14:09:23
880
原创 【无标题】
【摘要】本文系统介绍了SpringBoot框架的核心技术要点,包括: 项目搭建:通过Spring Initializr快速创建项目,整合Druid连接池和MyBatis,配置多环境yml文件 核心特性:自动配置、内嵌Tomcat、Starter依赖管理,支持单体/微服务架构 企业级开发实践: 统一异常处理体系(自定义异常枚举+全局处理器) 标准化REST响应格式(R类封装) 分页插件PageHelper整合方案 典型配置: 多环境profile配置(dev/test/prod) 静态资源路径约定 Banne
2025-11-20 16:55:44
855
原创 SpringMVC高级
自定义异常//当程序中,产生了错误提示的时候,可以抛出自定义的异常//主要是处理业务逻辑中,不合理的内容Controller使用throw new JavasmException("id不能是10");修改全局异常//当前类,是当前项目,全局的异常处理类//当产生异常的时候,触发类中的方法//你想让异常产生的时候,返回给用户什么内容,这里就配置什么类型的返回值//当前的方法,是处理哪种异常的。
2025-11-18 14:45:41
726
原创 【无标题】
流程最好能手画出流程图能用语言描述清楚知道各个角色的名称接收参数普通参数对象包装类JSON返回值JSON获取ServletAPIRest风格。
2025-11-17 16:56:41
1067
原创 SpringMVC基础
SpringMVC 是Spring框架的Web开发模块。后续,会把SpringMVC融合到Spring中,形成SpringBoot框架未来日常开发中,会非常频繁的使用SpringMVC中的知识点。虽然是mvc的知识,会在SpringBoot框架中使用核心优势注解驱动:@RequestParam/@RequestBody 简化了参数/数据的绑定MVC框架:控制器(Controller)+ 模型(Model)+ 视图 (View) 分离职责。
2025-11-17 12:53:39
668
原创 Spring-AOP
Spring官方提供给我们使用的,能快速使用动态代理的技术AOP不是编程中必须使用的技术使用AOP之后的项目和功能,能让你的程序更加的容易扩展,更容易维护,责任更加单一通过AOP去扩展某个方法的功能面向切面编程.通知的类型和执行顺序通知类型注解触发时机特点前置通知@Before目标方法执行之前用于初始化资源后置通知目标方法执行之后,返回结果之前获取返回值环绕通知@Around手动控制目标方法的执行最为灵活最终通知@After无论是否产生异常,都执行用于释放资源。
2025-11-14 22:41:41
1089
原创 代理模式啦
/程序员//真实类//Method 是被执行方法的 方法对象//args 被执行方法的参数@Override//这个方法是用来写业务的---统计性能//进入方法的时候,记录时间// result 是方法执行之后的返回值//执行之后的时间System.out.printf("[性能统计]方法%s,耗时%s ms \n",method.getName(),time);这里只写了业务逻辑,此时,还不知道被统计性能的类是谁刚刚的代理类,会在运行时,动态生成。
2025-11-14 22:40:59
923
原创 SpringIOC-注解
必须会背的注解@Component@Service@Resource@Autowired@Bean熟练使用注解完成三层架构的调用能详细描述@Resouce和@Autowired的区别配置类的配置和启动。
2025-11-14 22:39:59
1181
原创 Spring
IOC容器核心机制:控制反转(IOC),依赖注入(DI)管理对象的容器(Bean)优势:解耦组件,降低类与类之间的依赖1 SpringIOC核心价值解耦:降低耦合度灵活:通过配置改变行为2 重点必会的知识理解Spring的启动原理能描述什么是Spring能描述什么是IOC和DI依赖注入和控制反转都是什么意思单例知道Spring默认是单例模式给你任意一个类,能把他修改成单例的能用纸和笔写出来构造方法和初始化方法的执行顺序3 了解懒加载获取Bean的方式创建Bean的方式。
2025-11-12 23:02:41
1211
原创 excel导入导出
导出1.从数据库中读取到数据2.通过指定的jar包 向excel文件写入数据(excel非纯文本格式 需要按位写入文件和文件格式标签)导入1.通过jar包读取到excel文件中的格式(读取到java对象中)2.向数据库写入。
2025-11-09 18:04:32
1168
原创 自己感觉好点的东西
大白话:用 “打印机” 把 “标准快递袋” 上的所有信息(状态码、提示语、dataMap 里的总记录数和列表),转成前端能解析的 “JSON 格式字符串”(比如{"code":200,"msg":"查询成功","data":{"total":12,"UserList":[...]}}),然后发过去。作用:往dataMap里放 “管理员列表数据”—— 键是"UserList"(前端用这个键拿列表),值是adminUsers(实际查询到的管理员对象列表,比如包含 “张三”“李四” 的列表)。
2025-11-04 22:34:02
1118
原创 day23_密码加密 前端验证码 监听器 svn版本控制
注意点:1数据库保存密文2用户输入明文 用同样的加密算法进行加密3在程序中直接判断密文是否相同/***///传入明文 转出密文try {对比密码时 转成密文对比。
2025-11-01 23:02:34
991
原创 day21_用户模块
- 查询语句 1检查是否要关联查询数据 2增加控制分页查询 3组织查询条件limit 0,3-- 如果保留admin作为后门用户 用户操作时不应该显示 所以需要连表-- 统计总记录数。
2025-10-29 17:03:30
772
原创 day20_权限控制
/***/@Override@Override@Override//相当于servlet中的service 请求地址匹配到会自动执行//调用链继续向后执行。
2025-10-28 22:05:46
869
原创 day19_添加修改删除
对axios请求做二次封装//技术的二次封装//公共参数配置//可以有公共的请求url协议 地址 路径//如果路径中给的是带协议的完整路径 优先走完整路径//跨域时发送cookie 为了使用session//无session模式 自己传请求头里 放票据信息 后端自己存缓存 自己判断//请求方式的统一//使用二次封装的get post请求// 发起一个post请求});});//导出对象需要使用时 导入(重复项统一控制)
2025-10-27 20:28:51
954
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅