- 博客(34)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深入理解Java IO流:掌握输入输出流的使用与应用
本文深入介绍了Java IO流的使用和应用场景,包括输入流、输出流、字节流、字符流以及高级IO流的使用。在实际开发中,根据需要选择合适的流类型来处理数据,如果处理的是文本数据,通常会使用字符流;,我们可以从网络套接字中读取字节流,适用于一些需要进行网络通信的场景,如客户端与服务器之间的数据传输。,我们可以方便地从字节数组中读取字节流,适用于一些需要处理字节数组数据的场景,如网络传输、文件读取等。,我们可以从文件中读取字节流,适用于一些需要处理文件数据的场景,如文件读取、文件复制等。最后,我们关闭了输入流。
2023-12-31 15:49:13
1336
原创 Docker入门指南:构建、部署与管理容器化应用
Docker是一种开源的应用容器引擎,它允许开发者打包应用及其依赖、配置文件等所有需要运行的元素到一个可执行的容器中。这样,应用可以在任何安装了Docker的环境中无缝运行,无需关心底层操作系统差异,实现了“一次构建,到处运行”的理念。Docker以其便捷的容器化解决方案,极大地简化了软件的部署和管理流程。随着微服务架构的兴起,Docker已成为现代软件开发不可或缺的一部分。通过不断实践和探索,您将能更深入地理解Docker的强大,并将其高效应用于日常开发和运维工作中。
2024-06-26 01:38:38
1080
原创 设计模式深入解析与实例应用
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着处理者链进行传递,直到找到能够处理该请求的处理者。每个处理者都包含对下个处理者的引用,如果一个处理者不能处理请求,则会将请求传递给链中的下一个处理者。这样,多个对象都有机会处理请求,从而避免了请求发送者与接收者之间的耦合。优点解耦:发送请求的对象与处理请求的对象解耦,两者不直接关联,易于扩展和维护。简化对象:每个处理者只需关注自己的处理逻辑,不需要知道完整的请求处理链。
2024-06-26 01:21:39
1091
原创 悲观锁、乐观锁与分布式锁详解及Redisson应用
在多线程或多进程环境下,为了保证数据的一致性,锁机制扮演着至关重要的角色。本文将深入探讨悲观锁、乐观锁的概念,以及如何利用Redis实现分布式锁,并通过Redisson客户端展示具体的应用实例。最后,我们也会简要提及如何从Redis中删除缓存信息。
2024-06-24 23:36:57
587
原创 Spring事务管理中常见的事务失效场景及解决方案
Spring事务管理的失效通常源于对框架特性的误解或不当使用。理解事务的工作原理,正确配置和使用事务注解,以及合理设计业务逻辑,是避免事务失效的关键。面对特定场景,如自调用、异常处理、方法可见性等,应采取相应的策略和最佳实践,确保事务的可靠性和数据的一致性。
2024-06-24 00:07:56
676
原创 如何利用AopContext.currentProxy()解决事务管理中的方法调用问题
使用代理对象调用事务方法:在processUser()方法中,使用(UserService) AopContext.currentProxy()获取当前线程的代理对象,并通过这个代理对象调用saveUser()。这样,事务管理器就能识别到事务边界,确保事务正常生效。想象一下,你有一个服务类UserService,其中包含两个方法:saveUser()需要事务支持来保证数据的一致性,而processUser()作为一个业务处理逻辑,它直接调用了saveUser()方法,但未被标记为事务方法。
2024-06-23 23:00:25
314
原创 Java 8的Stream API:关于对象字段的处理
通过Collectors.of方法,可以创建自定义的收集器来满足特定的收集需求。示例:收集所有人的名字到一个自定义的字符串,名字之间用逗号连接。
2024-06-23 01:30:22
828
原创 深入探索项目中关于Java 8 Stream API使用
这些实例展示了Stream API在数据处理方面的强大能力,它使得开发者能够以更少的代码实现复杂的逻辑,同时也更容易理解和维护。在实际项目中,Java 8的Stream API可以广泛应用于各种数据处理场景,以下是一些具体的应用实例,这些例子不仅展示了Stream API的灵活性,也体现了它在提升代码清晰度和效率方面的优势。场景:在一个金融系统中,需要对账户交易记录进行分类汇总,包括计算每个账户的总交易额、平均交易额,并区分出交易次数少于3次的账户。
2024-06-23 01:17:04
414
原创 面向切面编程-关于Aspect的使用
这段代码是Java语言中的元编程,用于创建一个注解(@Log)来标记特定的方法。@LogLog@Log@Log这个Log.java文件可能包含一个@Log注解的实现,用于在方法签名上添加额外的逻辑,比如记录调用日志。
2024-05-18 10:40:55
934
1
原创 阿里巴巴的FashJson的使用
在项目开发中,需要跟前端进行联调的时候,我们常遇到Json转换问题,Json转对象、对象转Json等问题。下面将介绍解决该问题其中的一种工具,阿里巴巴开源的Json处理工具FashJson。FastJSOn是阿里巴巴开源的JSON处理工具,大家可以尝试使用一下。Fastjson是一个json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。包括自称最快的jackson。
2024-02-26 11:47:38
1136
原创 Java已检查异常的常见有哪些及示例解析
ClassNotFoundException:用于处理类加载失败的异常,当尝试加载一个不存在的类时抛出。Java的已检查异常(Checked Exception)是指在方法签名中明确声明需要处理的异常,开发者必须在代码中显式地捕获或声明对这些异常进行处理。ClassNotFoundException:用于处理类加载失败的异常,当尝试加载一个不存在的类时抛出。NoSuchMethodException:用于处理方法不存在的异常,当尝试调用一个不存在的方法时抛出。
2024-02-12 00:10:26
459
原创 Java反射机制的一些常见用法
Java反射机制的一些常见用法包括:获取类的信息:通过反射可以获取类的名称、父类、接口、字段、方法等信息。创建对象:通过反射可以动态地创建类的实例,即使在编译时无法确定具体的类名。调用方法:通过反射可以调用类的方法,包括公共方法、私有方法和静态方法。访问和修改字段:通过反射可以获取和修改类的字段的值,包括公共字段和私有字段。获取和处理注解:通过反射可以获取类、方法和字段上的注解信息,并进行相应的处理。动态代理:通过反射可以在运行时生成代理对象,实现动态代理的功能。
2024-01-30 09:13:58
338
原创 MyBatis分页查询的多种方式
在实际的应用开发中,分页查询是非常常见的需求。MyBatis作为一款流行的Java持久层框架,提供了多种方式来实现分页查询。本篇博客将介绍几种常用的MyBatis分页查询方式,并提供相应的代码示例,帮助读者更好地理解和应用。
2023-12-30 16:37:54
2821
原创 深入了解Java中File类的使用方法
本篇博客介绍了Java中File类的使用方法及代码示例,包括创建File对象、常用方法、文件遍历和操作等。通过学习和实践这些方法,读者将能够更好地处理文件和目录,提高Java编程的效率和质量。希望本篇博客对读者有所帮助!
2023-12-30 08:34:24
950
原创 MySQL面试题
● 第二步:查询缓存(连接器工作完成后,客户端会向服务端发送SQL语句,如果是查询语句,MYSQL会先去查询缓存,查找之前是否执行过这条命令。● 第一步:连接器( 先连接 MySQL 服务,才能执行MySQL语句,在连接过程中经过TCP三次握手,因为MySQL也是基于TCP协议进行传输的,成功连接服务端后)● 第四阶段:执行SQL语句,经过解析后,会进入执行SQL语句的流程,总共有三个阶段:预处理阶段、优化阶段、执行阶段。指的是服务端要同时处理多个事务,可能会出现脏读、不可重复读、幻读的问题。
2023-10-18 00:08:46
103
原创 学习MybatisPlus,看这一篇文章就够了!(详细教程)
为什么要使用MybatisPlus?MybatisPlus的好处是什么?因为Mybatis-Plus框架封装了大量CURD的方法,包括我们常用的一些增删改查的SQL命令,Mybatis-Plus都帮我们完成好了,只需要调用相关方法,即可完成对数据库的操作,减少了程序员重复写基本SQL命令的操作,大大提升项目的开发效率。官网介绍:MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。无侵入。
2023-09-13 16:29:24
1110
原创 Mybatis在项目开发中实现分页查询
注意: 此处使用 mybatis 的分页插件 PageHelper 来简化分页代码的开发。底层基于 mybatis 的拦截器实现。所有的分页查询,统一都封装为PageResult对象。员工信息分页查询后端返回的对象类型为: Result。
2023-07-18 22:54:20
208
原创 阿里云OSS的使用----上传文件
文件上传,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发抖音、发朋友圈都用到了文件上传功能。
2023-07-18 22:16:23
2198
原创 SpringBoot集成jwt,解决前后端分离token跨域验证问题
在之前进行登录验证的,主要用的是session的方式,session是由客户端首次发起请求,后端为此创建空间,返回给前端用来身份识别标识sessionId,前端基于cookie存储起来,在后面的请求中都会携带sessionId,后端就会根据这sessionId识别出身份信息。前端sessionid是基于cookie进行存储的。这种方式会存在安全问题,如果被不法分子拦截这个sessionId或cookie信息,就能跳过后端验证,从而盗取你的信息。而且seesion这种方式容易占用到服务端的内存空间。
2023-07-17 19:17:09
998
原创 SpringBoot使用knife4j框架,集成Swagger生成Api文档
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(它的主要作用是:使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。knife4j(官方文档。
2023-07-14 16:07:43
600
1
原创 SpringBoot整合QQ邮箱,实现邮箱发送功能。
1.打开网页QQ邮箱,找到设置---->账户—>服务,开启服务。在application.yml配置信息。新建controller类,进行测试。编写一个service类。
2023-06-13 20:34:40
521
原创 SpringBoot如何对接口防刷限流处理?
SpringBoot+Redis实现,后端拦截前端发来的请求,根据IP+请求作为key查询redis,获取value值,若value值为空,表示第一次访问,继续执行操作。若value值不为空,则进行判断访问次数是否超过限定值,超过限定值,则返回提示给前端,不再执行接下来的操作。·API接口限流,目的避免用户频繁访问某个接口,或者一些非法的恶意攻击,造成后端的服务器内存过高,为了缓解服务器的压力,所以要对接口进行防刷限流。第一步 创建AccessLimitIntercept类,编写实现功能的核心代码。
2023-05-27 14:38:52
360
原创 RedisTemplate 常用方法汇总
XXXTemplate 是 Spring 的一大设计特色,其中,RedisTemplate 功能是提供对 Redis 的支持。RedisTemplate 是 Spring Boot 访问 Redis 的核心组件,是 SpringBoot 集成 Redis 的客户端方式。它的底层通过 RedisConnectionFactory 对多种 Redis 驱动进行集成,上层通过 XXXOperations 提供丰富的 API,并结合 Spring 基于泛型的 bean 注入,未开发提供了极大的便利。
2023-05-24 21:37:51
2105
原创 JAVA中关于获取路径问题
例如:Java.class.getClassLoader().getResource(““) 获取资源路径(在开发中经常需要获取资源文件路径,例如读写配置文件等。Java也提供很多方法来获取这些路径.获取当前项目文件的路径。
2023-05-23 21:25:20
417
原创 SpringBoot项目如何解决跨域问题?
Springboot跨域问题,是当前主流web开发人员都绕不开的难题。但我们首先要明确以下几点跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/ java等其它环境跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。
2023-05-22 00:33:25
424
1
原创 递归-回溯算法
提示:以下是本篇文章正文内容,下面案例可供参考回溯算法也叫回溯搜索法,是一种搜索方式。有递归就会有回溯,回溯是递归的副产品,是递归的小弟。回溯主要往树的深度进行搜索,遇到终止条件,就会往回上一层,继续向深度走,最终会得到所有的可能出现的结果,则递归结束。目前就这么些题目,后续会进行不定时更新。
2023-03-11 17:09:34
947
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人