![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 67
小信丶
整洁的代码简单直接,整洁的代码如同优美的散文,整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直截了当的控制语句
展开
-
Netty阻塞模式和非阻塞模式介绍、应用场景
netty 是一个高性能的网络编程框架,支持阻塞和非阻塞模式,具体取决于它所使用的 I/O 模型。原创 2024-07-27 13:45:00 · 267 阅读 · 0 评论 -
使用SpringBoot集成TaskExecutor介绍、应用场景和示例代码
接口是Spring框架中用于异步执行任务的核心接口,它定义了一系列执行任务的方法,允许开发者将任务提交给线程池中的线程异步执行,从而提高系统的并发性能和响应速度。原创 2024-07-27 10:15:00 · 190 阅读 · 0 评论 -
使用SpringBoot中@Scheduled注解应用场景和示例代码
Scheduled注解可以应用在方法上,用于指定方法的执行时间。它有几种常见的用法,可以设置固定的时间间隔、固定的延迟时间、或者使用Cron表达式来定义更复杂的调度规则。原创 2024-07-27 08:15:00 · 73 阅读 · 0 评论 -
SpringJPA - QueryDSL类使用介绍
QueryDSL(Query Domain Specific Language)是一个用于在 Java 中构建类型安全的动态查询的框架。它通过一种类似于 SQL 的语法,但是在编译时进行类型检查,从而避免了传统字符串查询带来的潜在错误和安全隐患。QueryDSL 主要用于简化复杂查询的构建,支持多种持久化框架,包括 JPA、Hibernate、JDO 等。QueryDSL 是一个强大的查询框架,通过类型安全的 DSL 提供了在 Java 中构建复杂查询的便捷方式。原创 2024-07-26 19:45:00 · 624 阅读 · 0 评论 -
使用SpringBoot集成Hibernate实现对数据库表CURD操作
Hibernate是一个开源的对象关系映射(ORM)框架,它提供了自动将Java对象映射到关系数据库表的功能,使得开发者可以通过面向对象的方式操作数据库,避免了直接使用SQL语句操作数据库的复杂性。Hibernate提供了高度抽象化和透明化的操作方式,同时具备事务管理、缓存机制等功能,极大地简化了数据库操作。通过以上示例,展示了如何在Spring Boot项目中集成Hibernate,并实现对数据库表的CURD操作。原创 2024-07-26 06:00:00 · 183 阅读 · 0 评论 -
Mybatis缓存机制详解
除了 MyBatis 提供的默认缓存实现外,你还可以自定义实现自己的缓存。自定义缓存需要实现接口,并注册到 MyBatis 的配置中。实现 Cache 接口: 获取缓存实例的唯一标识符。: 将键值对存入缓存。: 根据键获取缓存中的值。: 移除指定键对应的缓存项。: 清空缓存。: 获取缓存中存储的项数。配置缓存:将自定义的缓存类注册到 MyBatis 的配置中,可以在 XML 配置文件中指定或通过 Java 代码配置。@Override@Override// 自定义缓存逻辑。原创 2019-07-24 20:53:45 · 26 阅读 · 1 评论 -
MyBatis 四种类型拦截器
在 MyBatis 中,拦截器(Interceptor)是一种强大的机制,用于拦截 SQL 语句的执行过程,可以在执行 SQL 前后进行一些自定义的操作,比如日志记录、权限验证、性能监控等。在 MyBatis 中,拦截器主要通过实现接口来实现。原创 2024-06-26 15:05:05 · 248 阅读 · 0 评论 -
使用SpringBoot集成Shiro应用场景和示例代码
Apache Shiro是一个强大且易于使用的Java安全框架,提供认证、授权、加密和会话管理等功能。通过与Spring Boot集成,可以方便地实现权限控制和安全管理。@Autowired// 用户认证@Overrideif (user!= null) {} else {throw new UnknownAccountException("用户不存在");// 用户授权@Override// 查询用户角色和权限,设置到AuthorizationInfo中。原创 2024-07-25 08:15:00 · 238 阅读 · 0 评论 -
com.alibaba.fastjson.JSONObject类介绍、应用场景和示例代码
功能特点解析 JSON 字符串为 Java 对象。将 Java 对象序列化为 JSON 字符串。支持链式操作,便于对 JSON 数据进行增删改查。应用场景与前端进行 JSON 数据的交互,如 RESTful API 的数据传输。处理第三方接口返回的 JSON 数据。配置文件的读写,特别是微服务架构中的配置管理。在测试中模拟 JSON 数据,进行单元测试或集成测试。原创 2024-07-24 07:30:00 · 199 阅读 · 0 评论 -
Java8 - 函数式编程应用场景和示例代码
函数式编程是一种编程范式,它强调函数的使用作为编程的主要元素,并鼓励将函数作为参数传递给其他函数,或者将函数作为返回值返回。Java 8 引入了对函数式编程的支持,主要通过Lambda表达式和函数接口来实现。原创 2024-07-22 14:32:56 · 587 阅读 · 0 评论 -
使用SpringBoot集成fdfs文件存储服务 - 实现对文件的上传下载删除功能
FastDFS(Fast Distributed File System)是一个开源的分布式文件系统,它提供了高容量和高性能的文件存储解决方案。在Spring Boot中集成FastDFS可以通过客户端工具实现文件的上传、下载和删除操作。以下是一个简单的示例,演示了如何在Spring Boot项目中集成FastDFS客户端,并实现基本的文件操作。原创 2024-07-23 20:15:00 · 143 阅读 · 0 评论 -
使用SpringBoot集成Mybatis实现对数据库CURD操作
添加依赖:在pom.xml文件中添加 Spring Boot Starter 和 MyBatis 的依赖。配置数据源:配置数据源信息,如数据库 URL、用户名、密码等。配置 MyBatis:设置 MyBatis 的 Mapper 扫描路径、XML 文件路径等。编写 Mapper 接口和 SQL 映射文件:定义数据访问接口和 SQL 语句。编写 Service 层:调用 Mapper 接口,实现业务逻辑。原创 2024-07-22 19:45:00 · 349 阅读 · 0 评论 -
使用RedisTemplate操作executePipelined
是 Spring 提供的用于操作 Redis 的模板类,它封装了 Redis 的连接、连接池等管理,并提供了一系列的操作方法来简化 Redis 的使用。其中,方法是中的一个高级特性,用于支持 Redis 的管道操作。Redis 的管道操作可以将多个命令一次性发送给 Redis 服务器,并一次性接收服务器的响应。这种方式可以显著提高批量操作的性能,特别是在需要执行大量独立但相似命令时。原创 2024-07-20 09:15:00 · 394 阅读 · 0 评论 -
Java链式编程介绍、应用场景和示例代码
链式编程的核心思想是每个方法都返回对象本身,这样就可以在同一个语句中连续调用多个方法,形成链式调用。这种风格的代码结构类似于自然语言的流畅表达,使得代码更具可读性和表达力。链式编程通过方法链的方式使得代码更加简洁、易读,特别适合需要多步骤设置的场景,如构建器模式、配置对象等。它不仅提升了代码的可读性,还可以减少重复的代码片段,使得代码更加优雅和流畅。原创 2024-07-16 17:37:02 · 174 阅读 · 0 评论 -
JWT身份验证、授权介绍、应用场景和示例代码
包含了描述JWT的元数据及签名算法的信息,通常由两部分组成:令牌类型(typ)和使用的加密算法(alg),例如。包含了用户的声明(claims),比如用户的ID、角色等信息,以及其他需要传递的数据。注册声明(Registered claims):预定义的一些声明,如iss(Issuer)、expsub(Subject)等。公共声明(Public claims):自定义的声明,用于在使用JWT的双方定义自己的声明内容。原创 2024-07-19 21:15:00 · 316 阅读 · 0 评论 -
LocalDateTime类详细介绍、应用场景和示例代码
LocalDateTime类详细介绍、应用场景和示例代码原创 2024-07-19 06:45:00 · 178 阅读 · 0 评论 -
Java17介绍
Java 17 是 JDK 的 LTS(长期支持)版本,发布于2021年9月,它包含了一些重要的新特性和改进。以下是 Java 17 中的主要新特性及其应用场景和示例代码。原创 2024-07-14 11:30:00 · 312 阅读 · 0 评论 -
深入理解SSO概念
SSO是一种身份验证和授权机制,允许用户在多个应用程序或系统中使用单一的身份验证凭证(如用户名和密码)进行登录,而无需多次输入凭证。原创 2019-08-17 16:30:35 · 15 阅读 · 1 评论 -
String、StringBuffer、StringBuilder详解、示例代码
在Java中,String、StringBuffer和StringBuilder都是用来操作字符串的类,它们在实现上有一些区别,适用于不同的场景。原创 2019-07-24 21:04:21 · 16 阅读 · 1 评论 -
PostConstruct注解介绍、以及使用场景、示例代码
是 Java EE 5 引入的注解,用于在对象创建后执行特定的初始化操作。它标识一个方法在对象创建后立即执行,通常用于初始化操作,例如加载资源、初始化变量等。这个注解主要用于替代传统的在构造函数或者初始化方法中进行初始化的方式,使得代码更清晰和模块化。原创 2024-07-01 19:45:00 · 397 阅读 · 0 评论 -
Lombok介绍、常用注解使用示例
Lombok 是一个 Java 库,它通过注解的方式来简化 Java 代码的编写。它可以帮助开发人员减少样板代码的编写,提高代码的可读性和简洁性。原创 2024-07-01 13:56:49 · 284 阅读 · 0 评论 -
java集合(HashMap)
其实不然,试想一下,如果传入的key对象重写了equals( )方法却没有重写hashCode,而恰巧此对象定位到这个数组位置,如果仅仅用equals( )判断可能是相等的,但其hashCode和当前对象不一致,这种情况,根据Object的hashCode的约定,不能返回当前对象,而应该返回null,后面的例子会做出进一步解释。(像栈、队列、树、图等是从逻辑结构去抽象的,映射到内存中,也这两种物理组织形式),在数组中根据下标查找某个元素,一次定位就可以达到,哈希表利用了这种特性,原创 2018-12-13 20:37:36 · 5 阅读 · 0 评论 -
java集合(ArrayList)
ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。原创 2018-11-23 17:57:02 · 5 阅读 · 1 评论 -
CRON表达式详解以及示例
Corn 表达式(也称为 Cron 表达式)是用来配置定时任务的一种表达式格式,常见于 Java 开发中用来指定任务在特定时间执行的规则。它由6或7个空格分隔的字段组成,每个字段表示时间的不同部分。原创 2024-06-27 22:15:00 · 468 阅读 · 0 评论 -
java 抽象接口和普通接口区别
设计用途:接口用于定义类型行为规范,抽象类用于定义一种类型的基本行为,并且可以包含部分方法的实现。实现:类可以实现多个接口,但只能继承一个抽象类。成员:接口中的成员默认是public的,且不能包含实例字段;抽象类中可以包含实例字段、普通方法和构造方法。继承:接口只能继承接口,抽象类可以继承抽象类或具体类,并且可以实现多重继承的效果。总之,在Java中,接口和抽象类都是面向对象编程中常用的抽象机制,它们各有不同的应用场景和设计目的,具体使用取决于你的需求和设计思路。原创 2024-06-26 13:40:04 · 115 阅读 · 0 评论