自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 ES基础入门

本文介绍了Elasticsearch的核心架构概念和基本操作。架构部分包括:集群(Cluster)由多个节点组成,节点(Node)分为主节点、数据节点等类型,分片(Shard)包括主分片和副本分片。基本概念涵盖文档(Document)和字段(Field),索引(Index)和映射(Mapping)。操作部分详细说明了索引库的创建、查询、修改和删除,以及文档的新增、查询、删除和修改(全量和增量)方法。全文提供了Elasticsearch的完整操作指南。

2025-12-22 11:09:33 206

原创 Git常用命令

本文介绍了Git的基础操作指南,主要包括6个核心内容:1)用户信息配置方法;2)仓库初始化与克隆操作;3)文件提交与历史查看;4)分支创建、切换与合并;5)远程仓库的拉取与推送;6)撤销修改与重置提交的各种方式。文章通过具体命令示例详细说明了Git的常用工作流程,包括全局/局部配置、基础版本控制、分支管理、团队协作以及错误修正等场景下的操作方法,帮助开发者快速掌握Git的核心功能。

2025-11-19 09:55:09 251

原创 DDD(领域驱动设计)基础知识体系

本文介绍了领域驱动设计(DDD)的核心概念与方法论。DDD是一种关注复杂业务领域的软件开发思想,通过战略设计(领域、子域、界限上下文)和战术设计(实体、值对象、聚合、领域服务等构建模块)来组织系统架构。重点阐述了8个关键战术设计模式:实体(唯一标识的可变对象)、值对象(不可变的属性集合)、聚合(一致性边界)、聚合根(访问入口)、领域服务(跨聚合操作)、领域事件(业务状态变化)、仓储(持久化抽象)和工厂(复杂对象创建)。这些模式共同构成了DDD的核心实践框架,帮助开发者构建高内聚、低耦合的业务模型。

2025-11-17 15:08:15 937

原创 Mysql多表查询

从左表中取出每一条记录,去右表中与所有的记录进行匹配: 匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留.:左表 [inner] join 右表 on 左表.字段 = 右表.字段;条件字段就是代表相同的业务含义(如my_student.c_id和my_class.id): 没有on之后的内容,这个时候系统会保留所有结果。

2025-11-17 10:26:19 489

原创 Java内存模型——JMM

JMM(Java内存模型)是Java定义的并发编程规范,用于解决多线程环境下的数据一致性问题。它通过抽象主内存(存储共享变量)和线程本地内存(存储变量副本)的概念,规定了线程间通信的八种同步操作(如read/write等)。JMM保证了三大特性:原子性(基础操作)、可见性(volatile/synchronized实现修改同步)和有序性(禁止指令重排序)。happen-before原则进一步确保了操作顺序。JMM的跨平台设计屏蔽了系统差异,通过内存屏障等技术实现线程安全,既简化了多线程编程,又增强了程序可移

2025-09-26 15:51:56 691

原创 Java虚拟机——垃圾回收算法

JVM垃圾回收机制采用分代收集策略,针对不同内存区域使用不同算法。新生代使用复制算法(适合低存活率场景),老年代采用标记清除/压缩算法(适合高存活率对象)。各算法特点:复制算法效率高但浪费空间,标记清除会产生碎片,标记压缩耗时但内存利用率高。实际应用中需要根据对象存活率选择最适合的算法组合,没有绝对最优的解决方案。GC机制通过这种分代策略平衡了内存效率、利用率和系统性能。

2025-09-24 15:14:58 238

原创 Java虚拟机——JVM

JVM是Java虚拟机,负责将字节码转换为机器码以屏蔽操作系统差异。类加载器采用双亲委派机制动态加载类。JVM运行时数据区包括:程序计数器(线程执行指示器)、方法区(存储类信息、常量等,JDK8后改为元空间)、栈(线程私有,存储方法调用和局部变量)以及堆(存放对象实例,分为新生代、老年代)。本地方法栈用于处理Native方法调用。堆内存不足会引发OOM错误,垃圾回收主要在新生代和老年代进行。

2025-09-20 15:42:41 868

原创 分布式锁详解

分布式锁是协调分布式系统互斥访问共享资源的机制,需满足互斥、高可用和可重入等基本条件。其应用场景包括防止超卖、避免重复处理任务和保证数据一致性等。常见实现方式包括:基于MySQL的悲观锁/乐观锁(性能较差)、基于Redis的SETNX和Redission(性能高,支持锁续期和可重入)以及基于ZooKeeper的临时顺序节点(可靠性最高,利用监听机制)。三者对比中,ZooKeeper的可靠性最佳但实现复杂,Redis性能最优但需处理续期问题,数据库方案则简单但性能最差。选择时需根据实际场景权衡性能与可靠性。

2025-09-11 15:57:40 984

原创 背包问题详解

本文介绍了背包问题的三种经典模型(0/1背包、完全背包、多重背包)及其解法。0/1背包通过动态规划解决,核心是状态转移和空间优化;完全背包采用正序循环实现无限次使用;多重背包使用二进制优化。文章以"数组平分"和"零钱兑换"为例,详细解析了0/1背包和完全背包的实现思路,包括状态定义、转移方程、初始化和剪枝优化,并提供了对应的Java代码实现。两种问题都通过将原问题转化为背包问题,利用动态规划高效求解。

2025-09-11 11:13:42 261

原创 Mysql索引

摘要:索引是数据库优化查询性能的数据结构,类似书籍目录,能快速定位数据。索引可提高查询效率、优化排序分组、实现唯一约束。主要类型包括主键索引、唯一索引、普通索引、联合索引等。适用场景:有唯一性限制的字段、常用作查询条件的字段、排序分组字段。不适用场景:数据量少、字段重复值多、频繁更新的字段。使用EXPLAIN分析SQL执行计划可优化查询。常见索引失效情况包括模糊查询、使用函数、表达式计算、类型转换、违反最左匹配原则、OR条件组合不当等。

2025-08-22 11:25:37 745

原创 Mysql事务特性

摘要:MySQL事务的四大特性(ACID)通过不同机制实现:原子性由undolog保证,记录操作前的数据用于回滚;持久性通过redolog实现,采用顺序写提高性能;隔离性通过MVCC或锁机制实现,解决脏读、不可重复读和幻读问题;一致性由前三者共同保证。MySQL默认自动提交事务,异常时通过undolog回滚。redolog采用WAL技术,先写日志再异步刷盘。隔离级别包括读未提交、读已提交、可重复读(默认)和串行化,通过ReadView控制事务可见性。MVCC利用版本链管理并发事务的数据访问。

2025-08-21 14:54:59 740

原创 Java—注解

本文介绍了Java注解的基本概念和应用实现。注解是Java5引入的特殊注释,本质是继承Annotation的接口,通过@Target、@Retention等元注解定义作用范围和生命周期。文章重点演示了如何创建并解析自定义注解:1)定义@EncryptMethod注解标记需要加密的字段;2)通过AOP切面实现注解解析,使用反射获取字段值并进行AES加密处理;3)切面支持方法参数、返回值及集合类型数据的加密。该实现展示了注解在数据安全领域的典型应用模式,包括编译期扫描和运行期反射处理两种解析方式。

2025-08-15 13:30:36 264

原创 Java—CompletableFuture 详解

摘要:CompletableFuture是Java8引入的异步编程工具,扩展了Future功能,支持回调处理和任务编排,避免了回调地狱问题。它实现了Future和CompletionStage接口,提供supplyAsync、runAsync等方法创建异步任务,并通过thenApply、thenAccept等方法处理结果。相比传统Future,CompletableFuture支持更灵活的链式调用和异常处理,是Java异步编程的重要工具。

2025-08-14 17:07:30 528

原创 Java—CAS操作

摘要: CAS(Compare-And-Swap)是无锁编程的核心技术,通过比较内存值(V)与预期值(A)决定是否原子更新为新值(B)。Java通过Unsafe类的compareAndSwap方法实现CAS,底层依赖CPU指令(如cmpxchg),但需谨慎使用以避免内存安全问题。典型应用如JUC包的原子类(如AtomicInteger),通过自旋确保操作成功。CAS存在三大问题:1)ABA问题(值被多次修改后复原,可通过版本号解决);2)自旋开销(长时间竞争消耗CPU);3)单变量限制(多变量需封装为对象,

2025-08-11 15:25:58 898

原创 分布式锁的三种实现方式

分布式锁是分布式系统中控制共享资源访问的同步机制,确保同一时间只有一个进程能执行关键操作。主要实现方式包括:1)基于MySQL的实现,通过唯一索引或行锁机制,简单但存在单点问题和性能瓶颈;2)基于Redis的实现,利用SETNX命令和Redission框架,支持自动续期、可重入等特性,性能较高;3)基于Zookeeper的实现,依靠临时顺序节点和监听机制,可靠性强但性能较低。选择方案时需权衡可靠性、性能和实现复杂度,Zookeeper适合高可靠场景,Redis适合高并发需求,MySQL方案则适用于简单场景。

2025-08-08 11:06:47 1044

原创 Java反射

本文介绍了Java反射机制及其应用场景。反射允许程序在运行时动态访问和操作类、方法、字段等信息,广泛应用于框架开发中。重点分析了反射在Spring框架中的两大核心应用:IoC(控制反转)通过反射实现依赖注入,降低对象耦合度;AOP(面向切面编程)则利用反射实现动态代理,在方法调用前后添加额外功能。文章详细阐述了三种依赖注入方式(接口注入、setter注入、构造函数注入)的实现原理,并通过代码示例展示了反射在动态代理中的具体应用。通过反射机制,Spring等框架实现了灵活的对象管理和功能扩展。

2025-08-05 13:59:56 788

原创 SSE实现消息推送

SSE(Server-Sent Events)是一种基于HTTP的服务器向客户端单向推送实时数据的技术。

2025-07-28 14:12:33 667

原创 微服务常用的基础知识

【摘要】本文系统介绍了微服务架构中的核心组件及其应用,涵盖服务发现、配置管理、流量控制、分布式事务、消息队列等关键技术。主要内容包括:1)Nacos的服务注册发现和动态配置管理机制;2)Sentinel的流量控制和熔断降级功能;3)Seata的分布式事务解决方案;4)RabbitMQ的消息队列模型;5)SpringCloud Gateway的API网关实现;6)MongoDB的非关系型数据库特性;7)RBAC权限控制模型;8)ELK日志分析技术栈;9)Feign的HTTP客户端调用;10)Git版本控制常用

2025-06-26 18:01:59 798

原创 RuoYi-Cloud

RuoYi-Cloud 是一个 Java EE 分布式微服务架构平台,基于经典技术组合(Spring Boot、Spring Cloud & Alibaba、Vue、Element),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。

2025-05-13 16:53:24 1951

原创 LeetCode-Hot100

力扣最受刷题发烧友欢迎的 100 道题,已完结

2025-04-24 13:31:00 1054

原创 论文笔记——BiLLP框架

Large Language Models are Learnable Planners for Long-TermRecommendation论文阅读笔记

2025-03-17 20:01:41 821 1

原创 SpringBoot+Redis+Mybatis-plus黑马点评

SpringBoot+Redis+Hutool+Mybatis-plus实现黑马点评

2025-03-01 20:02:15 977

原创 SpringBoot+Redis+Mybatis苍穹外卖

SpringBoot+Vue+Mybatis+Mysql+Redis+Nginx实现苍穹外卖

2025-02-20 19:18:25 734

原创 Redis

redis的简单使用

2025-02-20 15:16:36 319

原创 Mysql

mysql数据库基础知识及其语法

2025-02-14 19:41:58 837

原创 Gale-Shapley算法

盖尔-沙普利算法(Gale-Shapley算法)的设计目的是为了解决稳定匹配问题

2024-12-21 19:35:18 1012

原创 Java基础

Java实用基础知识

2024-12-21 19:26:24 1203

原创 智能交通(8)——腾讯开悟智能交通信号灯调度赛道

本文档用于记录参加腾讯开悟智能信号灯调度赛道的模型优化过程。官方提供了dqn和target_dqn算法,模型的优化在官方提供的代码基础上进行。

2024-12-05 21:31:40 1693 1

原创 PageRank算法

PageRank算法详细流程

2024-12-04 20:29:35 943

原创 论文写作套路

记录论文写作课程学到的一些套路

2024-10-22 10:42:17 1147

原创 论文笔记——Graph Bottlenecked Social Recommendation

论文精度及其代码复现——Graph Bottlenecked Social Recommendation

2024-09-27 09:18:58 1672 1

原创 图神经网络在推荐系统中的应用综述

图神经网络在推荐系统中的应用综述

2024-09-19 14:24:52 2715

原创 CNN代码实战

CNN代码实战

2024-08-15 11:22:10 699

原创 DNN代码实战

DNN代码实战

2024-08-12 14:03:34 651

原创 智能交通(7)—Deep-QLearning-Agent-for-Traffic-Signal-Control

A framework where a deep Q-Learning Reinforcement Learning agent tries to choose the correct traffic light phase at an intersection to maximize traffic efficiency.

2024-08-09 13:31:29 876

原创 智能交通(6)——DQN代码复现

DQN代码复现

2024-08-04 14:03:23 667

原创 智能交通(5)——借鉴思路

KDD CUP 2021 的 City Brain Challenge,通过控制交通信号灯来减少城市拥堵。

2024-07-17 16:35:09 986

原创 智能交通(4)——问题分析

对交通信号灯问题进行分析

2024-07-13 21:16:07 1151

原创 智能交通(3)——Learning Phase Competition for Traffic Signal Control

提出了一种新的基于强化学习的交通信号控制模型设计框架FRAP

2024-07-06 14:56:27 1345

原创 智能交通(2)——IntelliLight智能交通灯

一种基于强化学习的智能交通信号灯控制方法

2024-06-30 10:43:14 1641 1

PageRank代码实战-人物重要度

PageRank代码实战-人物重要度

2024-05-05

Node2Vec代码实战-《悲惨世界》小说人物图嵌入、Alias Sampling复现

Node2Vec代码实战-《悲惨世界》小说人物图嵌入、Alias Sampling复现

2024-04-24

DeepWalk代码实战-维基百科词条图嵌入可视化

DeepWalk代码实战-维基百科词条图嵌入可视化

2024-04-23

图机器学习NetworkX代码实战-创建图和可视化

完整代码

2024-04-14

ssm+vue实现登陆注册

简单的ssm和vue的使用实现前后端分离的入门项目,包含前后端接口的对接

2022-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除