- 博客(87)
- 收藏
- 关注
原创 Java Cannot find local variable ‘method‘
前端数据和后端数据都联通,但前端还是显示404,并且后端报错Cannot find local variable 'method',原因是@Restconcroller和@controller区别,在控制层用的注解是@controller。
2024-03-22 10:12:52
646
原创 Java jar和war的主要区别
因此,主要区别在于JAR打包的是一般的Java应用程序或库,而WAR则用于打包和部署Java Web应用程序。基本上来说,WAR是JAR的一种特殊形式,用于在Java Web容器中进行部署和运行。
2024-03-12 10:47:22
434
原创 TCP/IP模型
TCP/IP模型是一个网络通信协议体系结构,由美国国防部高级研究计划局(ARPA)在上世纪70年代设计的。它将网络通信分为四个层次,分别是应用层、传输层、网络层和数据链路层,每一层负责不同的功能,实现了网络通信的分层管理。TCP/IP模型与OSI模型有很多相似之处,但是TCP/IP模型更常用于实际的互联网通信中。通过分层的设计,TCP/IP模型实现了网络通信的有效管理和协调,使得不同层次的功能分工明确,便于网络协议的开发和维护。
2024-03-07 10:00:31
600
原创 Java static关键字
静态关键字的使用可以帮助我们在不创建类的实例的情况下访问类的成员,提高代码的灵活性和效率。关键字用于声明类级别的成员,也就是说这些成员属于类本身而不是类的实例。
2024-03-07 09:32:04
220
原创 spring boot中前后端传参的几种方式,举例说明
GetMapping("/api/users/{id}") public String getUserById(@PathVariable("id") Long id) { // 处理逻辑 return "success";需要注意的是,对于敏感信息(如密码),应当使用HTTPS协议进行传输以确保安全。请求参数传递(Query Parameters): 前端将参数通过URL的查询字符串附加到请求中,后端通过。请求体传递(Request Body): 前端将参数封装为JSON或其他格式的请求体,后端通过。
2024-03-07 09:25:25
1668
原创 Java 删除字符串中所有的数字
方法,它接受两个参数:第一个参数是要匹配的正则表达式,第二个参数是用来替换匹配内容的字符串(在本例中是空字符串)。表示匹配任何数字字符。
2024-03-07 09:19:11
519
原创 目前较为流行的消息队列
RabbitMQ:RabbitMQ 是一个开源的消息代理和队列服务器,实现了 AMQP(高级消息队列协议)标准。它提供了灵活的消息路由、可靠的消息传递机制,支持多种消息模式,如点对点、发布/订阅和工作队列模式。Apache Kafka:Kafka 是一个高吞吐量、分布式的发布订阅消息系统,具有持久化、可扩展、容错性强等特点。Apache ActiveMQ:ActiveMQ 是一个基于 JMS(Java 消息服务)的开源消息队列,具有可靠性、可扩展性和高性能的特点。
2023-12-10 17:29:15
146
原创 在sql中,我们怎么看自己是否用到那个索引没
除了以上两种方法,还可以使用一些第三方工具来查看 SQL 查询计划。例如 MySQL 的 Workbench 工具中提供了可视化的查询计划查看功能,可以更方便地查看查询计划。这将返回一个关于 users 表的所有索引信息的结果集,其中包括索引名、字段名、索引类型等信息。:在 SQL 查询前加上 EXPLAIN 关键字,可以输出该查询的执行计划。这将返回一个关于查询计划的结果集,其中会列出执行查询时所使用的索引等信息。:通过 SHOW INDEXES 语句可以查看表中所有的索引信息。
2023-12-10 17:03:20
2059
原创 为什么采用哨兵模式和集群模式能解决缓存雪崩
通过集群分布和负载均衡,可以降低单个节点的压力,保证缓存的高可用性和稳定性。哨兵模式是指在缓存中设置一个哨兵,当缓存中的数据过期时,哨兵会检测到并且立即更新缓存中的数据,从而避免了缓存失效的情况。在此基础上,还可以设置多个哨兵,当其中一个哨兵失效时,其他哨兵可以立即接替其工作,保证缓存的正常运行。集群模式则是将缓存服务器分布在不同的物理节点上,通过负载均衡器将请求分发到不同的节点上,从而降低单个节点的压力。缓存雪崩是指缓存中大量的数据同时失效或者过期,导致请求直接落到数据库上,从而导致数据库宕机的情况。
2023-12-10 15:39:10
81
原创 为什么用redis
2. 它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合)和 hash(哈希类型)。3. redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如 MySQL)起到很好的补充作用。5. Redis支持集群(主从同步)。4. 它提供了Java,C/C++,C#,PHP,JavaScript等客户端,使用很方便。1. 数据保存在内存,存取速度快,并发能力强。
2023-12-10 15:20:50
128
原创 nacos组件简单介绍
负载均衡:Netflix Ribbon(2020 版本前)、Spring Cloud Loadbalancer(2020 版本后);网关:Netflix Zuul(2020 版本前)、Spring Cloud Gateway(2020 版本后);熔断器:Netflix Hystrix(2020 版本前)、Resilience4j(2020 版本后);声明式服务调用组件:Feign(最初属 Netflix 公司,后来移交给 OpenFeign 组织);配置中心:Spring Cloud Config;
2023-12-10 15:15:17
176
原创 Bean 的生命周期
需要注意的是,Bean 的生命周期还可以通过实现特定的接口(如 InitializingBean、DisposableBean),或者使用特定的注解(如 @PostConstruct、@PreDestroy)来进行控制和管理。:在完成属性赋值后,Spring 容器会根据配置文件或注解中的配置执行一系列的初始化操作,包括调用 Bean 的 init-method 方法等。:创建 Bean 实例后,Spring 容器会根据配置文件或注解中配置的属性值,通过反射机制将相应的属性值注入到该 Bean 实例中。
2023-11-29 10:10:49
67
原创 应用层面的一级缓存和二级缓存
二级缓存通常是基于缓存框架或数据库ORM(Object-Relational Mapping)工具提供的功能,将查询结果或对象持久化到缓存中,以减少对数据库的频繁访问。一级缓存可以是对象级别的缓存,也可以是方法级别的缓存。一级缓存的优点是读取速度快,可以减少对数据库等外部资源的访问次数,提高系统的响应速度。需要注意的是,一级缓存和二级缓存都是为了提高系统性能而引入的,但在使用时需要谨慎考虑缓存的更新策略和数据一致性问题。特别是对于二级缓存,需要注意缓存与数据库数据的同步和更新,以避免出现数据不一致的情况。
2023-11-15 14:25:51
333
原创 mybatis一级缓存和二级缓存
在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。二级缓存指的就是同一个namespace下的mapper,二级缓存中,也有一个map结构,这个区域就是一级缓存区域。一级缓存中的value,就是查询出的结果对象。
2023-11-15 14:20:44
62
原创 get和post
1、Get 是用来从服务器上获得数据,而 Post 是用来向服务器上传递数据。 2、Get 将表单中数据的按照 variable=value 的形式,添加到 action 所指向的 URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将表单中的数据放在 form 的数据体中,按照变量和值相对应的方式,传递到 action 所指向 URL。 3、Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求
2023-11-15 14:13:59
61
原创 MySQL中,批量插入100条数据到数据库,但其中有随机50条数据是错误的,该怎么处理
在MySQL中,你可以使用"事务"来处理这种情况。事务是一组SQL语句,要么全部执行成功,要么全部失败回滚。通过这种方式,你可以确保在插入数据时出现错误时,能够进行有效的处理,避免部分数据插入导致的数据不一致问题。是判断是否存在错误数据的条件。是你用来检查错误数据的条件,是你要插入数据的表名,是你要插入数据的列名,
2023-11-15 14:07:55
703
原创 JSP与Servlet的联系与区别
联系: JSP文件在容器中会转换成Servlet执行。 JSP是对Servlet的一种高级封装,本质还是Servlet。 区别: JSP可以很方便地编写或者修改HTML网页而不用去面对大量的println语句。
2023-11-15 13:48:01
49
原创 货币用什么数据类型
DECIMAL和NUMERIC这两个SQL数据类型的区别。我们了解到DECIMAL存储空间固定,而NUMERIC存储空间是可变的;DECIMAL的精度包括整数和小数位数,而NUMERIC的精度只包括小数位数;DECIMAL在舍入超过范围时使用四舍五入规则,而NUMERIC在这种情况下会发出错误消息。Decimal和Numric。
2023-11-12 20:14:30
157
原创 jdk和cjlib
CGLIB动态代理是基于ASM(Java字节码操作框架)的一个开源项目,它通过生成目标类的子类来实现代理功能,所以可以代理那些没有实现接口的类。JDK动态代理是Java语言自带的一种动态代理实现方式,可以动态地在内存中创建代理类,而且只能代理接口。在使用JDK动态代理时,需要提供一个InvocationHandler接口的实现类,该实现类负责处理代理对象的方法调用,并将调用转发给原始对象。综上所述,JDK动态代理和CGLIB动态代理各有优缺点,开发者应根据具体的业务需求和场景来选择合适的实现方式。
2023-11-06 19:36:34
110
原创 javascript 和typescript
Typescript 和 Javascript之间的区别 - 前端阿楠 - 博客园 (cnblogs.com)
2023-11-01 19:45:06
80
原创 delete,drop,truncated区别
drop,truncate,delete 三者的区别_delete drop truncate区别-优快云博客
2023-11-01 19:29:34
132
原创 字节流和字符流
在使用字节流操作中,即使没有关闭资源(close方法),也能输出;而字符流不使用close方法的话,不会输出任何内容。字节流在操作的时候本身不会用到缓冲区的,是与文件本身直接操作的;而字符流在操作的时候使用到缓冲区的。字节流操作的基本单元是字节;字符流操作的基本单元为Unicode码元。所有文件的存储都是字节(byte)的存储,在磁盘上保留的是字节。总结对比字节流和字符流。
2023-10-31 17:58:47
60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人