- 博客(117)
- 收藏
- 关注
原创 Scala 入门指南
Scala 是一种多范式编程语言,结合了面向对象编程和函数式编程的特性。它运行在 JVM 上,与 Java 完全兼容,并且可以调用 Java 库。// 简单类// 主构造函数// 辅助构造函数this()this(name)// 基本函数// 无参数函数// 默认参数// 命名参数。
2025-04-17 16:46:58
625
原创 Nuxt.js 指南
Nuxt.js 是一个基于 Vue.js 的开源框架,它使得创建通用应用变得简单。它预设了利用 Vue.js 开发服务端渲染应用所需要的各种配置,同时也可以生成静态站点。<template><h1>我的博客</h1></header><Nuxt /></main><h3>最新文章</h3>-- 侧边栏内容 --></div></aside></div>
2025-04-17 16:29:40
591
原创 MySQL MVCC工作流程详解
MVCC(多版本并发控制)是通过在每行记录后面保存多个版本来实现并发控制的技术,主要用于提供并发事务访问数据库时的读一致性。快照读(Snapshot Read):当前读(Current Read):每行记录都包含三个隐藏字段:3.2 Undo Log版本链3.3 ReadView组成4. 可见性判断流程4.1 判断规则4.2 ReadView创建时机5. 具体案例分析5.1 READ COMMITTED下的案例5.2 REPEATABLE READ下的案例6. 注意事项6.1
2025-04-16 17:34:27
750
原创 MySQL ACID特性与实现原理
持久性通过redolog重做日志实现,redolog记录的是对数据库的操作。MySQL先把存放在硬盘上的数据加载到内存中,在内存中做修改再刷回磁盘,redolog使得在事务提交的时候将数据刷回磁盘。通过锁机制实现,当事务操作数据的时候加锁,让事务执行前后看到的数据时候一致的,并行执行事务和串行执行事务产生的效果样。另外就是利用mvcc实现的快照读。rollback的语句能够将所有执行成功的SQL语句产生的效果撤销。依靠其他三个性质实现,一致性指的是数据的完整性,为了保证数据的有意义状态。
2025-04-16 16:02:45
440
原创 Nginx 反向代理配置指南
Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。本文档主要介绍 Nginx 反向代理的配置和使用方法。反向代理是指代理服务器接收客户端的请求,然后将请求转发给内部服务器,并将内部服务器的响应返回给客户端。客户端只知道代理服务器的地址,不知道内部服务器的存在。
2025-04-15 17:56:44
221
原创 如何使用 SpringSecurity 权限认证、将图形认证码和短信认证码整合到 SpringSecurity 过滤器链中
基础权限认证:基于角色的访问控制图形验证码集成:防止暴力破解短信验证码集成:提供手机号登录方式这种实现方式将验证码校验逻辑集成到Spring Security的过滤器链中,使得验证码校验成为认证过程的一部分,提高了系统的安全性。使用Redis替代Session存储验证码集成第三方短信服务实现更复杂的权限控制逻辑添加JWT令牌支持。
2025-04-15 14:53:14
737
原创 Java项目常用配置类
本文档提供了Java项目中常用的配置类,涵盖了数据源、缓存、消息队列、安全、日志、监控等多个方面。这些配置类可以帮助开发者快速搭建项目的基础框架,提高开发效率。这些配置类是Java项目中的基础设施,它们共同构成了一个完整的应用程序框架。根据项目的具体需求,可以选择性地使用这些配置类,或者进行定制化修改。在实际开发中,合理使用这些配置类可以大大提高开发效率,减少重复工作,并确保应用程序的稳定性和可维护性。
2025-04-15 13:58:27
619
原创 AI 项目详细开发步骤指南
该AI项目是一个基于Spring Boot的智能AI应用系统,集成了多种AI模型,提供了智能对话、文档处理等功能。通过本开发指南,您可以从零开始搭建和开发这个项目,包括环境搭建、项目初始化、核心功能开发、AI功能集成、测试开发、部署准备、部署步骤、维护和更新等方面
2025-04-14 19:49:22
1278
原创 CAS(Compare And Swap)详解
无锁算法,避免了线程阻塞和上下文切换适用于竞争不激烈的场景性能高于synchronized避免了死锁问题。
2025-04-14 15:50:07
838
原创 Java异常与错误详解
在Java中,异常(Exception)和错误(Error)都是Throwable类的子类,它们表示程序运行时可能出现的问题。异常和错误的主要区别在于它们的性质和可处理性。继承适当的异常类:自定义异常应该继承Exception或,而不是Error。// 检查型异常// 非检查型异常提供有意义的错误信息:自定义异常应该提供清晰的错误信息,帮助开发者理解问题。throw new CustomException("用户ID " + userId + " 不存在");包含原始异常。
2025-04-14 08:56:11
798
原创 Java参数传递机制详解
参数传递是编程中一个基本概念,指的是在调用方法时,将数据从调用者传递给被调用方法的过程。不同的编程语言可能采用不同的参数传递机制,主要有值传递和引用传递两种。Java的参数传递机制是基于值的传递,而不是基于引用的传递。对于基本数据类型,传递的是值的副本,方法内部对参数的修改不会影响原始变量。对于对象类型,传递的是引用的副本,方法内部对参数引用的修改不会影响原始变量,但对参数对象内容的修改会影响原始对象。理解Java的值传递机制对于编写正确的代码非常重要,特别是在需要修改参数值的情况下。
2025-04-14 08:54:45
521
原创 Java多态特性详解
多态(Polymorphism)是面向对象编程的三大特性之一(封装、继承、多态),它允许不同类的对象对同一方法做出不同的响应。简单来说,多态就是"一个接口,多种实现"。多态是Java面向对象编程的核心特性之一,它通过方法重载和重写实现,能够提高代码的复用性、可扩展性和灵活性。合理使用多态可以使代码更加通用、模块化,但也需要注意性能开销和设计复杂性。在实际开发中,应遵循面向接口编程的原则,优先使用组合而非继承,并注意多态的各种限制和潜在问题。
2025-04-13 11:59:38
830
原创 验证码生成指南
验证码(CAPTCHA)是一种用于区分计算机和人类用户的测试,通常用于防止自动化程序(如机器人)进行批量操作。验证码可以是文本、图像、音频或视频等形式。使用生成随机数增加验证码长度和字符集复杂度限制验证码尝试次数设置验证码有效期验证后立即销毁验证码使用加密存储验证码结合其他安全措施(如IP限制、设备指纹等)
2025-04-13 11:50:11
1065
原创 Java序列化与反序列化
*序列化(Serialization)**是将对象的状态信息转换为可以存储或传输的形式的过程。在Java中,序列化是将对象转换为字节序列的过程。**反序列化(Deserialization)**是将序列化的字节序列恢复为对象的过程。序列化:对象 → 字节流反序列化:字节流 → 对象通过实现和readObject// 不序列化密码// 自定义序列化// 调用默认序列化// 对密码进行加密后再序列化// 自定义反序列化// 调用默认反序列化// 解密密码。
2025-04-12 18:19:47
647
原创 小程序开发指南
小程序是一种不需要下载安装即可使用的应用,它实现了"用完即走"的理念,用户扫一扫或搜一下即可打开应用。微信小程序支付宝小程序百度小程序字节跳动小程序云开发是一种Serverless架构,开发者无需搭建服务器,即可使用云端能力,包括云函数、云数据库、云存储等。组件生命周期组件通信方式组件样式隔离组件插槽使用组件事件处理组件数据监听组件外部样式类。
2025-04-12 11:49:09
1279
1
原创 SmartAdmin-一个前端企业级管理系统框架
SmartAdmin是一个基于Vue 3、TypeScript和Element Plus的现代化企业级中后台管理系统框架。它提供了一套完整的解决方案,帮助开发者快速构建高效、安全、可扩展的管理系统。
2025-04-11 10:15:17
1081
原创 vben-admin-一个前端开箱即用的企业级管理系统框架
Vben Admin是一个基于Vue 3、Vite、TypeScript和Ant Design Vue的企业级中后台管理系统框架。它提供了一套完整的解决方案,帮助开发者快速搭建现代化的管理系统。Vben Admin是一个功能完善、易于使用的企业级管理系统框架,它基于最新的前端技术栈,提供了一套完整的解决方案,帮助开发者快速搭建现代化的管理系统。通过使用Vben Admin,开发者可以专注于业务逻辑的开发,而不必花费大量时间在基础架构的搭建上。
2025-04-11 10:07:55
734
原创 如何玩转Hugging Face
Hugging Face是一个专注于自然语言处理(NLP)的开源平台,提供了大量预训练模型、数据集和工具。它已经成为AI领域最受欢迎的社区之一,为研究人员和开发者提供了丰富的资源。# 创建摘要管道# 生成摘要text = "人工智能(AI)是计算机科学的一个分支,致力于创造能够模拟人类智能的系统。机器学习是AI的一个子领域,专注于开发能够从数据中学习的算法。深度学习是机器学习的一种方法,使用多层神经网络处理复杂数据。
2025-04-10 20:12:23
939
原创 SpringBoot集成Ollama本地模型
/ 按Enter键发送消息。// 添加用户消息到聊天界面。// 添加AI回复到聊天界面。'发生错误,请稍后重试。// 发送消息到后端。
2025-04-10 20:04:06
712
原创 Ollama教程与大模型本地部署指南
Ollama是一个开源的本地大语言模型(LLM)运行框架,允许用户在本地计算机上运行各种开源大模型,无需依赖云服务。它提供了简单易用的命令行界面和API,使得开发者可以轻松地在本地部署和使用大模型。创建Modelfile:touch Modelfile编辑Modelfile,定义模型配置:FROM llama2# 设置系统提示SYSTEM 你是一个有用的AI助手。# 设置参数构建自定义模型:ollama create my-model -f Modelfile。
2025-04-10 20:02:42
641
原创 JVM底层详解
Java虚拟机(Java Virtual Machine,JVM)是Java平台的核心组件,它是一个抽象的计算机,能够执行Java字节码。加载Java类文件验证字节码执行字节码提供运行时环境管理内存和垃圾回收垃圾回收(Garbage Collection,GC)是JVM自动管理内存的机制,它负责识别和回收不再使用的对象,释放内存空间。自动内存管理:开发者不需要手动释放内存防止内存泄漏:自动回收不再使用的对象内存碎片整理:减少内存碎片,提高内存利用率。
2025-04-10 18:23:44
989
原创 Flink基础
Apache Flink是一个开源的分布式流处理和批处理系统。它能够处理有界(批处理)和无界(流处理)数据流,具有高吞吐量、低延迟、容错性和一致性保证等特点。// 自定义窗口分配器@Override// 实现自定义窗口分配逻辑// 自定义触发器@Override// 实现自定义触发逻辑Apache Flink是一个强大的分布式流处理框架,具有处理无界和有界数据流的能力。通过掌握Flink的核心概念、编程模型和最佳实践,您可以构建高性能、可靠的数据处理应用程序。
2025-04-09 20:55:14
1150
原创 Java大模型开发指南
大模型(Large Language Model,LLM)是一种基于深度学习的自然语言处理模型,通过海量文本数据训练而成,能够理解和生成人类语言。大模型具有强大的语言理解、生成和推理能力,可以应用于多种场景,如对话系统、内容创作、代码生成等。大模型的发展经历了从BERT、GPT到ChatGPT、Claude等几个重要阶段,模型规模从最初的几亿参数增长到现在的数万亿参数,能力不断增强。@Service// 内容分类// 关键词提取// 内容翻译。
2025-04-08 18:30:00
877
原创 前后端 Token 处理与登录机制详解
在现代 Web 应用中,登录机制是用户身份验证和授权的基础,它确保了只有经过验证的用户才能访问受保护的资源。一个安全、高效的登录机制对于保护用户数据和系统安全至关重要。前后端 Token 处理与登录机制是现代 Web 应用的重要组成部分,它确保了用户身份验证和授权的安全性和可靠性。通过合理设计和实现 Token 处理机制,可以提高系统的安全性和用户体验。
2025-04-08 11:02:29
1384
原创 Spring Cloud基础知识
Spring Cloud是一个用于构建分布式系统的工具集,提供了一系列的框架和工具,帮助开发者快速构建微服务架构。它基于Spring Boot,提供了服务发现、负载均衡、配置管理、断路器、API网关等功能。Spring Cloud的主要目标是简化分布式系统开发,使开发者能够专注于业务逻辑,而不是基础设施的搭建和维护。服务提供者:注册到Eureka的微服务。服务消费者:通过Eureka发现服务并调用。API网关:使用Zuul或Gateway作为网关,处理请求路由和过滤。配置服务器。
2025-04-08 10:26:27
604
原创 Java设计模式基础知识
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。应用场景需要创建一系列相关对象系统需要独立于产品的创建、组合和表示系统需要配置多个产品系列中的一个代码示例// 抽象产品A// 抽象产品B// 具体产品A1// 具体产品A2// 具体产品B1// 具体产品B2// 抽象工厂// 具体工厂1// 具体工厂2// 客户端代码// 输出: ConcreteProductA1: operationA。
2025-04-08 10:25:00
1169
原创 秒杀系统设计方案
秒杀系统是一种高并发、低延迟的电商促销活动系统,在特定时间段内以极低价格销售限量商品,通常会导致短时间内大量用户同时访问和下单。
2025-04-07 18:19:34
1065
原创 8876行详解数据结构,从入门到入坟
数据结构概述基本数据结构高级数据结构算法复杂度分析数据结构应用数据结构与算法设计数据结构实战案例数据结构与性能优化数据结构与并发编程数据结构与内存管理数据结构与数据库数据结构与网络编程数据结构与分布式系统数据结构与大数据处理数据结构与人工智能数据结构是计算机存储、组织数据的方式,它描述了数据元素之间的逻辑关系。好的数据结构设计可以提高程序的运行效率,降低资源消耗。数组是最基础的数据结构,它是一块连续的内存空间,用来存储相同类型的数据。想象一下:固定大小随机访问连续内存类型一致访问元素遍历数组
2025-04-07 11:18:47
1318
1
原创 数据一致性:MySQL、HBase和HDFS的协同
选择合适的同步模式:主从复制、事务协调或事件溯源利用专业工具:CDC工具和ETL工具实现一致性检查:定期检查和不一致修复遵循最佳实践:数据写入和读取策略、监控与告警。
2025-04-07 09:28:21
1089
原创 Kafka在Vue和Spring Boot中的使用实例
本项目演示了如何在Vue前端和Spring Boot后端中集成Kafka,实现实时消息的发送和接收。通过WebSocket和Kafka的结合,我们实现了一个功能完善的实时聊天应用。
2025-04-07 09:05:41
1039
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人