- 博客(76)
- 问答 (4)
- 收藏
- 关注
原创 Servlet中的request和respons对象
当我们在地址栏中输入一长串的地址的时候进行访问的时候,服务器(Tomcat)会给我们生成衣个request对象和reponse.requset对象作用:1.获取用户输入的信息进行登录验证
2024-03-30 00:43:56
235
原创 Java函数式接口使用
可以将lamba表达式作为参数放在函数的实参中,在方法的调用中,不会实际调用当前lambad表达式,只有在调用getObject方法的时候才会调用lambda。
2024-03-05 10:50:12
463
原创 Spring源码
BeanDefinaitonReader接口:读取Bean的配置信息。ApplicationContext是BaenFacoty的子接口。BeanDefination接口:存储Bean的定义信息。IOC容器:多个bean对象,一堆map集合。BeanFactory:访问容器的根接口。bean的定义信息:xml 与 注解,循环依赖、 三级缓存:三个map结构。IOC aop 容器 基石。
2024-03-04 10:14:26
405
原创 mysql调优实战
当UPDATE语句更新表数据时,WHERE条件使用的是索引字段,那么此时会出现行级锁,只是锁住这一行数据,对表中其他的数据没有任何影响,性能最高,但是当WHERE条件使用的不是索引字段时,此时就会出现表级锁,只有当UPDATE语句的事务提交完毕,表级锁才会释放,大大影响并发的性能。:根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数,也就是说,用的越少越好。from后面跟着的通常为主表,通常选择数据量较小,索引比较完备的表。grop by的列也可以使用索引,提高查询效率。
2024-02-17 09:50:56
1092
原创 网关中全局过滤器实现jwt校验
意味着有很多相同接口的实现类,那么必定会有优先级的问题。于是Spring就提供了Ordered这个接口,来处理相同接口实现类的优先级问题。
2024-02-08 19:46:39
475
原创 SpringClound项目相关
sqlSessionFactory:每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的,SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。nacos中的配置中心相当于在application.yml中的相关配置,转移位置,内容同application.yml完全一样均可。Unconditional classes: 无条件的类。提示自动配置失败,refresh方法调用失败。Exclusions: 除外。
2024-01-31 11:50:22
1462
1
原创 适配器模式在SpringClound中的应用
请求路由后,会将当前路由过滤器和Defaulter、GlobalFilter合并到一个过滤器链中,排序后进行执行。请求进入网关中会碰到三类过滤器,当前路由过滤器、DefaultFilter、GpobalFilter。执行顺序:默认过滤器、路由过滤器、全局过滤器。
2024-01-31 10:02:40
386
原创 【无标题】
assets的方式引入图片需要在vue.config中进行配置,有时需加~,可能出现点击链接后,无法跳转的情况,相对路径和绝对路径则没有这一问题。二.如果参数只有一个,可以不加括号,如果没有参数或者参数多于一个就需要加括号。vue项目在缺少图片的情况下,会出现无法启动的情况。文字居中:text-align: center;三.如果函数体只有一句话,可以不加花括号。调整布局:外边距 浮动 定位。
2024-01-23 09:16:14
390
原创 JVM知识点
动态链接:如果被调用的方法在编译期无法被确定下来,只能够在程序运行期将调用的方法的符号转换为直接引用,由于这种引用转换过程具备动态性,因此也被称之为动态链接。操作数栈:主要用来保存计算结果的中间的中间结果,同时作为计算过程中变量临时的存储空间。当方法执行完毕之后,这个栈帧就会别弹出,变量最用域就会结束。局部变量表(保存局部变量)
2024-01-20 23:33:26
531
原创 工作问题汇总
1.mysql中单双引号都表示子符串,as 起别名时,使用反引号(尤其是中文),使用时可以不添加反引号,否则会出现sql语句正常执行,结果确是不符合预期的结果。2.sql语句尽量不要写在for循环,考虑使用批量增删的方式3.聚合查询 + order by rand()
2024-01-11 10:29:03
1003
转载 前后端传日期参数的格式问题汇总
spring.jackson.date-format=yyyy-MM-dd 或yyyy-MM-dd HH:mm:ss。@JsonFormat(pattern = "yyyy-MM-dd") 或yyyy-MM-dd HH:mm:ss。3.、前端传yyyy-MM-dd HH:mm:ss格式,后端用 java.sql.Date 无法接收,试了几个注解都不行。1、前端传yyyy-MM-dd HH:mm:ss格式,后端用 java.util.Date 不需要加注解就可以接收。2、在实体类的日期类型属性上加注解。
2023-12-08 14:56:47
1712
原创 集合原理简记
构造函数作用:阈值:threshold,每次<<1 ,数组长度 × 负载因子无参构造:设置默认的负载因子有参:可以指定初始容量或者负载因子HashMap中是延迟初始化的(也就是在准备添加第一个元素时,设置数组的长度,因此在指定长度时,会给threshold进行设置)红黑树转换逻辑链表在每次添加元素后,会进行判断是否需要树化注意:链表中的头节点是不包含数组的,当链表长度为8时【也就是说链表中已经成功添加了8个元素】,判断是否进行树化。
2023-10-04 22:02:15
342
原创 Spring源码学习笔记
Spring提供了一个IOC容器对这种思想进行了落地实现,使用map结构来进行对象存储,ioc容器中通常存在三级缓存,使用singletonObjects保存成品对象,earlierSingletonObjects保存的是半成品对象,singletonFactories保存的是创建对象的工厂,bean对象的生命周期是IOC容器所管理的。第三遍getBean(当查看三级缓存中存在对象A时【将A对象存入二级缓存中,并删除三级缓存中对的A对象】,返回实例化对象)
2023-09-25 22:03:13
229
原创 Kafka知识点总结
同一个消费组下的消费者订阅同一个topic时,只能有一个消费者收到消息要想让订阅同一个topic的消费者都能收到信息,需将它们放到不同的组中。
2023-09-02 16:46:30
725
原创 Redis知识点
Redis诞生于2009年,全称是Remote Dictionarty Server(远程词典服务器)非关联:主要指的是表中没有主外键等概念Redis是一款内存数据库,主要存储键值对类型的数据。
2023-08-26 16:05:19
521
原创 SpringBoot知识点总结
SpringBoot的主要目的在于简化Spring应用程序的开发,提供了一个引导类SpringBootApplication.run(配置类名.calss)作为程序的启动入口。
2023-08-15 11:43:38
577
原创 日志框架及其使用方法
如都未找到,则使用服务提供程序加载工具(在 JDK 1.6 中引入)通过在类路径中查找文件META-INF\services\ch.qos.logback.classic.spi.Configurator 来解析 com.qos.logback.classic.spi.Configurator接口的实现。log4j和logBack,同一个人写的,logBack为log4j的升级版,SpringBoot中默认集成logBack。类名,自定义即可,代表日志对象的名称,可以自定义。
2023-08-08 16:40:41
843
原创 相关文件拓展名及其作用
DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。cfg: 方便各种应用程序使用的额通用配置文件。.pf :预读文件,可以加快程序加载速度。
2023-08-02 10:06:01
67
原创 Mybatis知识点
JDBC 操作数据库弊端:1.SQL语句自己手写,访问不同的表代码有雷同,枯燥2.必须操作Connection、Statement ResultSet[为了实体封装]代码3.SQL语句实际中很容易发生改变,代码与SQL语句耦合死4.影响系统性能【用时创建、用后释放,Connection、Statement需要进行资源释放】5.需要手动将查询出来的结果映射到实体中去Mybatis相应解决措施:1.将sql语句抽取到配置文件中。
2023-07-23 22:44:15
264
原创 SpringMVC知识点总结
传统开发中的控制层:接收请求参数 request.getParameter封装实体 new 实体类调用其set方法访问业务层接收访问结果指派页面 通过request和response对象进行页面跳转将共有行为进行抽取成DispatcherServlet【SpringMVC内部集成】,通过Spring-MVC.xml配置文件去配置。
2023-07-23 21:20:37
183
原创 Java知识点
信号驱动IO模型:一遍一遍查看过于麻烦,当数据准备好时,直接提醒即可,进程预先向内核注册一个信号处理函数,当进程收到相应的信号后,处理函数会进行后续的处理,最后进程再进行数据报的处理。非阻塞IO模型:在进程发布调用命令后,数据没准备好之间,不会一直等,会做其它事,期间通过轮询的方式去询问内核数据是否准备好,返回成功指示后,再进行数据报的处理。阻塞IO模型:在进程发布调用命令后,内核在数据的准备状态,直到数据成功复制,进程在此过程一直在等,什么也不干。阻塞是相对于调用方,同步是相对于被调用方。
2023-07-23 15:52:57
144
原创 j2ee知识点
jsp目的:解耦html标签,但使html和大量的java代码糅合在一起,造成维护不便,解决措施,尽量在里面少写Java代码,通过el表达式替换获取数据的Java代码,jstl便签替换循环遍历的java代码。数据库的连接 与PreparedStatement 和 ResultSet这些是需要close的,放在try()中的会自动关闭,前提是实现要求的接口。浏览器栏中,输入的是servlet的mapping映射,请求到servlet中去,jsp路径,会跳转到对应的页面。
2023-07-23 11:24:59
473
原创 Spring知识点
分层的轻量级的全栈开源框架展示层SprigMVC持久层 Spring JDBCTemplate业务层事务管理注:轻量级:API简单全栈:各层都有相应解决方案在Spring的体系结构中,由上而下,逐层依赖Spring相当于是一个粘合剂,将各层的bean配置到IOC容器中。
2023-07-22 14:38:32
365
原创 生命周期对比
1.初始化:filter实例创建成功后,调用init方法完成初始化相关。1.初始化:servlet实例化后调用init方法执行初始化相关代码。对象创建:每次调用getBean方法时,创建一个新的Bean实例。对象创建:应用程序加载,Spirng容器创建,对象就被创建。2.service:调用service方法处理客户端请求。长期不用,就会被垃圾回收机制,回收销毁。对象销毁:容器被销毁,对象跟着被销毁。对象运行:对象在使用中就一直活着。Servlet生命周期。对象运行:对象一直活着。prototype类型。
2023-07-21 21:18:07
81
原创 Servlet中乱码的解决办法
在tomcat安装目录有一个conf文件夹,这个文件夹里面有Connector标签,我们需要在该标签里面追加URIEncoding = "UTF-8"需要在servlet里面调用request方法规避乱码。解决get方式乱码。需要修改tomcat的配置文件。解决post方式乱码。
2023-07-01 19:41:00
137
空空如也
程序启动报错,调试如下
2022-09-29
ArrayList底层是怎样指定一个长度为10数组
2022-09-05
这个二进制字节流是个什么东西
2022-08-11
JVM的运行时类型信息是?
2022-08-11
静态变量不是规定放在方法区嘛,Hospot虚拟机干嘛放在堆中,违反规定?
2022-08-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人