- 博客(26)
- 收藏
- 关注
原创 WebSocket---一种用于实时传输的网络协议
本文介绍了Spring Boot中WebSocket的实现方式。首先通过Maven引入spring-boot-starter-websocket依赖,然后创建WebSocket配置类注册ServerEndpointExporter。核心部分是实现WebSocket服务端,使用@ServerEndpoint注解定义端点,通过@OnOpen、@OnMessage和@OnClose处理连接建立、消息接收和连接关闭事件,并提供了群发消息的方法。最后通过定时任务示例展示了服务端主动推送消息的功能。该实现支持基于路径参
2025-11-30 22:51:53
235
原创 spring中的设置定时任务工具--springtask
Spring Task是Spring框架提供的任务调度工具,通过cron表达式定义任务触发时间。使用时只需在方法上添加@Scheduled注解并配置cron表达式即可实现定时任务。示例代码展示了每分钟检查超时订单并自动取消的功能。cron表达式由6-7个域组成,分别表示秒、分、时、日、月、周、年(可选),可使用在线生成器快速创建。这种轻量级调度方案适用于需要周期性执行的业务逻辑。
2025-11-30 22:49:46
172
1
原创 过滤器Filter的简介及用法
摘要:本文介绍了过滤器(Filter)的基本概念和应用。主要内容包括:1)过滤器链的形成机制,多个过滤器按类名字符串自然排序组成链式结构;2)登录校验流程,通过URL判断、令牌验证等步骤实现安全控制;3)具体实现样例,展示了如何通过实现Filter接口、使用@WebFilter注解定义和配置过滤器。文中配有流程图说明校验过程,并提供了完整的Java代码示例,演示了过滤器的初始化、拦截和销毁三个核心方法的实现方式。
2025-11-29 21:02:17
162
原创 JWT令牌简介及用法
JWT(JSON Web Token)是一种用于安全传输信息的轻量级标准格式,由Header、Payload和Signature三部分组成。Header记录令牌类型和签名算法,Payload携带自定义数据,Signature用于防篡改。在登录认证中,系统生成JWT令牌后,每次请求需携带并校验。Java开发可使用jjwt库实现令牌生成和解析,需确保签名密钥一致。令牌非法时会报错,提示可能被篡改或失效。JWT提供了一种简洁可靠的身份验证机制。
2025-11-29 20:58:13
345
原创 多线程及其生命周期和锁的介绍
本文介绍了Java多线程的基本概念和三种实现方式。多线程可以让程序同时执行多个任务,提高效率,适用于耗时操作、聊天软件和服务器等场景。文章详细讲解了通过继承Thread类、实现Runnable接口和Callable接口三种实现方法,比较了它们的优缺点。此外,还介绍了线程的常用成员方法,如设置线程名、优先级、守护线程等。多线程编程中需要注意线程的交替执行特性,合理使用线程控制方法能更好地管理线程执行流程。
2025-11-28 17:14:29
1731
原创 IO流高级流--压缩流解压缩流
本文介绍了Java中实现文件压缩和解压缩的方法。解压缩部分使用ZipInputStream读取压缩包内容,通过ZipEntry判断文件/文件夹类型,分别创建目录或写入文件。压缩部分使用ZipOutputStream,递归处理文件夹中的文件,为每个文件创建ZipEntry并写入数据流。两种方法都支持处理多级目录结构,提供了完整的文件压缩/解压功能实现。代码示例展示了如何调用这些方法进行实际操作。
2025-11-28 09:34:55
305
原创 IO流高级流--打印流
本文介绍了Java中的打印流,包括字节打印流(PrintStream)和字符打印流(PrintWriter)。打印流的特点是不操作数据源,只操作目的地,能原样输出数据,并支持自动换行和刷新功能。文章详细说明了两种打印流的构造方法和成员方法,其中字节打印流默认自动刷新,字符打印流需要手动开启自动刷新。打印流适用于需要格式化输出的场景,如控制台输出和文件写入。通过示例代码展示了打印流的基本用法,包括println、print和printf等方法的使用。最后总结了两类打印流的主要特点和区别。
2025-11-27 08:58:18
356
原创 IO流高级流--序列化/反序列化流
本文介绍了Java序列化流和反序列化流的基本使用及注意事项。序列化需要实现Serializable接口,使用ObjectOutputStream将对象写入文件,ObjectInputStream读取对象。关键点包括:必须实现Serializable接口、序列化数据不可修改、修改类后需添加serialVersionUID、可用transient关键字标记不参与序列化的字段。文章提供了代码示例和异常处理方案,帮助开发者正确使用序列化功能。
2025-11-27 08:56:06
578
原创 IO流高级流--转换流
本文介绍了Java中转换流的使用方法,主要包括InputStreamReader和OutputStreamWriter两种转换流。文章展示了如何通过转换流实现不同字符编码(如GBK和UTF-8)之间的文件读写转换,并提供了JDK11前后两种实现方案。同时说明了转换流的作用:1)指定字符集读写数据(JDK11后该功能已被FileReader/FileWriter替代);2)让字节流能够使用字符流的方法。文中还演示了利用缓冲字符流读取整行文本的示例代码,解决了字节流读取中文乱码的问题。
2025-11-26 11:52:58
407
原创 IO流高级流-缓冲流
摘要 缓冲流是Java I/O中的高效读写工具,分为字节缓冲流(BufferedInputStream/BufferedOutputStream)和字符缓冲流(BufferedReader/BufferedWriter)。它们通过内置8192字节的缓冲区提升性能:字节缓冲流显著提高读写速度,字符缓冲流则提供特有方法。字符缓冲流包含readLine()方法实现整行读取,以及newLine()方法实现跨平台换行。使用时需注意缓冲流需要包装基本流,且字符缓冲流对性能提升不如字节缓冲流明显。典型应用场景包括文件复制
2025-11-26 11:52:02
575
原创 IO流介绍
通过建立程序与目标文件(C:\a.txt)的连接。调用,将字节数据(97 对应 ASCII 码的字符a)写入文件。调用,释放程序与文件的连接资源。:如果不关闭流资源,程序运行完毕之前此文件一直处于使用状态,无法在外部对此文件操作。
2025-11-25 12:22:59
2229
原创 Spring Cache
Spring Cache是一个框架,实现了基于注解的缓存功能,只需简单加一个注解,就能实现缓存功能底层提供了抽象,可以切换不同的缓存实现,例如:EHCache,Caffeine,Redis。
2025-11-21 08:34:50
223
原创 vue基础用法
/</</<///定义Vue对象newVue"#app"//vue接管区域</</其运行结果如下,文本框中的数据变化同时,在文本框后面的文字一起变化,两者进行了绑定。
2025-11-19 19:55:08
1427
原创 微信小程序登录模块设计
OpenID 是用户在单个应用中的唯一标识,而 UnionID 是用户在同一个开发者账号下所有应用中的唯一标识**。**OpenID 是用户在单个应用中的唯一标识,而 UnionID 是用户在同一个开发者账号下所有应用中的唯一标识。 OpenID 是用户在单个应用中的唯一标识,而 UnionID 是用户在同一个开发者账号下所有应用中的唯一标识**。**OpenID 是用户在单个应用中的唯一标识,而 UnionID 是用户在同一个开发者账号下所有应用中的唯一标识。
2025-11-18 19:17:54
666
原创 Spring Date Redis---对Redis底层开发包进行了高度封装
摘要:Spring Data Redis是Spring框架对Redis的封装组件。使用步骤包括:1)导入Maven坐标;2)配置Redis连接信息(主机、端口、密码等);3)创建配置类定义RedisTemplate并设置序列化方式;4)通过RedisTemplate操作Redis,支持设置/获取键值、设置过期时间等字符串操作;5)提供清除缓存方法,可批量删除匹配模式的键。该组件简化了Java应用中Redis的集成与操作。
2025-11-17 16:25:02
226
原创 Lambda表达式
本文介绍了Lambda表达式在Java中的三种写法及其注意事项。通过数组排序示例展示了传统匿名内部类写法、完整Lambda写法和最简Lambda写法((o1,o2)->o1-o2)。重点说明Lambda只能简化函数式接口(仅含一个抽象方法的接口,可用@FunctionalInterface注解验证)的匿名类实现。Lambda通过省略接口名和方法名,大幅简化了代码,使语法更简洁直观。
2025-11-17 16:18:22
308
原创 Interceptor拦截器
本文介绍了Spring拦截器的使用方法和特点:拦截器是Spring MVC的核心组件,用于在请求处理的不同阶段(预处理、后处理、完成后)插入自定义逻辑,实现权限校验、日志记录等功能。与过滤器的区别在于作用范围(仅Spring MVC请求)和执行时机(DispatcherServlet之后)。通过实现HandlerInterceptor接口的三个方法(preHandle、postHandle、afterCompletion)定义拦截逻辑,并通过WebMvcConfigurer注册拦截器,可配置拦截路径和排除路
2025-11-14 10:43:47
297
原创 Stream流---结合了Lambda表达式,简化集合、数组的操作
本文介绍了Java Stream流的基本概念和使用方法。Stream流结合Lambda表达式简化了集合和数组操作,通过获取数据流并使用API进行功能操作。文章详细说明了不同集合获取Stream流的方式(单列/双列集合、数组、零散数据)及其注意事项。重点讲解了Stream流的中间方法(过滤、合并、类型转换)和终结方法(收集到数组/集合)。使用Stream流时需注意中间方法会返回新流且不影响原数据,终结方法则终止流操作并产生结果。文章通过代码示例演示了各种操作的实际应用,展示了Stream流编程的简洁性和高效性
2025-11-13 19:36:31
254
原创 PageHelper分页插件-------一个在写分页代码时代码更加简洁方便的插件
PageHelper是一个MyBatis分页插件,用于简化分页查询的实现。使用PageHelper前需要添加Maven依赖坐标。传统分页需要手动计算记录总数和分页参数,代码较为繁琐;使用PageHelper后只需调用PageHelper.startPage()设置分页参数,即可自动完成分页查询和结果封装。插件会自动拦截SQL语句并添加分页逻辑,返回包含分页信息的Page对象,大大简化了分页查询的实现过程。
2025-11-13 09:21:21
253
原创 HttpClient
HttpClient是Apache Jakarta Common下的子项目,可以用来提供高效的,最新的,功能丰富的支持HTTP协议的客户端编程工具包,并且支持HTTP协议最新的版本和建议。(用于便捷发送get和post请求)
2025-11-12 21:06:01
251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅