- 博客(18)
- 收藏
- 关注
原创 最直观的跳表(SkipList)分析和实现
跳表是一种采用了多级有序链表的数据结构。跳表通过多级索引达到在有序链表中快速跳跃的能力,加速了对于数据的增删改查的效率,保证平均时间复杂度为O(logN)。
2024-06-18 14:13:10
926
原创 最直观的LRU缓存淘汰算法解析(附Java代码)
LRU(Least Recently Used)即最近最久未使用,是一种常用的缓存淘汰算法。LRU的主要目的是在有限的缓存空间里进行缓存的更新和维护,将最近最久未使用的缓存数据淘汰,替换为新的缓存数据。
2024-06-14 16:42:59
517
原创 最直观的ThreadLocal原理与用法详解
ThreadLocal是Java标准库中提供的,用于在多线程环境中,为每个线程创建相互隔离的变量副本的类。通过线程隔离的方式防止共享资源所产生的线程安全问题。并且线程可以在代码执行的任意地点拿到存储在ThreadLocal中的变量。
2024-06-05 17:21:27
849
原创 基于前后端分离的spring security登录权限验证
本文将构造一个最简的spring security的配置,以支持restful风格的后端项目接口登录。
2024-05-10 16:16:43
194
2
原创 docker容器启动minio
v 参数设置宿主机对容器的目录挂在,将minio储存的数据映射在宿主机上。--restart 设置了容器的重启策略,在容器停止的情况下总是自动重启。--console-address 设置了minio控制台页面的端口。-e 参数设置环境变量,配置登录账号密码。
2023-08-08 14:31:50
455
原创 docker容器启动MySQL,配置数据映射
v 参数设置宿主机对容器内的目录挂载,通过将容器内部的数据储存文件映射到宿主机上保存,使得容器在崩溃、删除等情况数据不丢失。
2023-08-08 14:28:30
244
原创 docker容器启动单机nacos,启动命令配置详解
通过交互式命令模式进入nacos容器内部,在conf下直接修改相应配置文件的值。如果容器启动后需要修改数据库连接等配置文件,可通过命令。
2023-08-08 14:23:40
1019
原创 消息队列入门——RabbitMQ的简单使用
RabbitMQ 是一个开源的消息队列系统,它实现了高效的消息分发机制,可以让不同的应用程序之间通过消息传递来进行通信。RabbitMQ 的核心是 AMQP 协议。RabbitMQ 作为一个标准的 AMQP 实现,支持多种消息模式,例如:点对点模式、发布/订阅模式、路由模式、主题模式等。它具有很好的可伸缩性和可用性,同时还提供了灵活的插件机制,可以方便地扩展和定制功能。
2023-05-24 15:59:47
247
原创 RPC框架——Dubbo的简单入门和理解
Dubbo 是一个分布式服务框架,它提供了远程调用、负载均衡、服务注册和发现等分布式服务必备的功能。Dubbo 可以帮助开发人员构建高性能、可伸缩和可扩展的分布式服务系统。
2023-05-24 15:48:19
144
1
原创 基于Java的图片字符画(含动图)
字符画是一种纯由字符组成,在文本编辑器中行列排开的二维字符矩阵中,整体展示出可识别的图案。网上关于字符画的教程很多,笔者以较为擅长的java语言进行了一次修缮和总结
2022-10-07 00:39:53
2132
4
原创 电商后台管理系统——JavaWeb项目 毕业设计论文
目录概述课题背景及意义主要工作系统开发环境系统设计系统概述系统结构设计数据库设计后端项目结构详解项目文件介绍界面实现登录界面的设计账户管理界面的设计商品管理界面的设计测试结论参考资料概述项目截图展示:课题背景及意义电子商务在中国历经二十余年发展,已经逐步成为国民经济支柱,涉及基础3大产业,渗透进入人们的生活。...
2022-05-15 19:40:05
18144
10
原创 俄罗斯方块游戏开发 ——图形化编程java swing 项目
通过java swing技术开发的俄罗斯方块游戏,实现了基础的游戏绘制、移动逻辑、消除逻辑、得分统计、死亡判定、预测方块等功能。成果展示截图:游戏介绍:俄罗斯方块的规则为:玩家不断操作下落的不同板块,直达底部,并刷新新的板块。在操作时通过调整位置和旋转方向,使得落下的方块可以填满一整层,每当一层填满,则该层会消失,上方所积累的方块会落下,同时积累分数,当累积到上方空间不足以刷新新的方块,且整个空间无法消除时,则游戏结束游戏场地:10×20的平面网格地图。每个单位为相同...
2022-04-13 00:49:59
2488
原创 实时通信聊天程序——java网络编程
利用TCP传输数据,编写客户端和服务器的程序,实现两个程序间的实时通信。在每个程序中实现了实时的发送与接收数据的功能。客户端的io界面服务器端的io界面
2022-02-20 20:03:45
1580
原创 hexo下NexT的主题背景及框体透明度修改
首先定位主题文件夹next目录下的主题配置文件.\themes\next\\_config.yml打开并查找 style: source/_data/styles.styl并将改行的注释解除。在改行所描述的目录下创建相应的文件,即 source/_data/styles.styl 并打开1.主题背景更改在styles.styl 中插入以下代码 12345678 body { background:url(/image...
2022-01-05 18:01:13
3122
10
原创 c语言贪吃蛇小游戏的简易实现
命令行界面通过打印字符实现了贪吃蛇游戏的基本功能 代码仅130行实现原理为,采用链式单调数列在矩阵地图中储存为蛇的坐标信息。//贪吃蛇的实现原理在于,将蛇在矩阵中的点表示为正数,并且由蛇尾到蛇头是有向的,从1逐个递增的数列。//每次移动时,将蛇头下一格的数据填入当前蛇头的数据+1,再使得地图矩阵的所有正数-1,即可实现整体蛇的移动。 如(01234500 -》 01234560 -》00123450)//若吃到食物,则不执行整体-1,即可实现长度+1;//移动例子 如 0 1 ...
2022-01-04 12:22:53
2514
原创 使用O(1)的空间复杂度翻转链表
使空间复杂度降到O(1),需要3个变量作为连续的指针。三者始终指向链表中相应连续的3个元素,每次将中间元素的指向倒置,指向左元素,再整体向后迭代一个单位距离。循环使得整个链表的指向倒置。左元素用于记录中间元素的指向,中间元素作为实际改变量,右元素作为中间元素改变前,下记录原生的下一个元素,用于迭代。当迭代到中间元素为空时,则整体翻转完毕。#include<iostream>using namespace std;typedef int TElemType;typedef st
2021-12-30 23:14:05
779
原创 建图方法总结(采用哈希map的链式建图法)
摘要本文将介绍利用哈希map进行建图操作的方法,使用C++STL:unordered_map 进行建图。该建图方法具有一定的局限性,但能适用于大部分图论的建图需求。相比于邻接表建图法,更容易理解和入门。原理分析选择unordered_map是由于其相对于map,查找速度更快,在遍历图时可以缩短时间复杂度。建图原理类似于邻接表,由一个元素映射一个集合。实现父节点与子节点集的对应。该方法在定义时常搭配线性结构进行储存,如对于一般的图,可搭配vector初始化为:unordered_map<.
2021-11-18 17:10:45
1379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人