自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 个人简介

🤳一个积极向上,乐于探索的00后,欢迎来 follow ,我们一起学习进步!

2023-04-07 20:16:49 380 1

原创 1970. 你能穿过矩阵的最后一天 + 今年总结

算法+今年总结

2025-12-31 23:17:51 899

原创 又是抽象的一天

摘要:作者从零搭建了一个GitHub Pages个人博客,采用原生HTML/CSS/JS技术栈,实现粒子动画、视差滚动等视觉效果,并集成Live2D、GIF等趣味元素。虽然UI设计遇到瓶颈,最终只完成单页展示,但项目展示了原生Web技术的运用能力。博客已部署上线,作者计划后续改用成熟模板进行优化。技术亮点包括Canvas动画、CSS变量主题和模块化代码组织。(149字)

2025-12-20 01:02:45 424

原创 OpenMetadata

OpenMetadata是一个基于Java和React构建的开源元数据管理平台,提供数据发现、血缘追踪、质量监控等功能。本文详细介绍了在macOS系统下使用Docker Compose部署OpenMetadata的完整流程,包括下载官方编排文件、配置国内镜像源、解决网络问题等关键步骤。同时还分析了平台的核心功能模块(如数据治理框架、SQL查询工具)和三种常见部署模式(官方镜像、源码定制、混合模式)。尽管在本地部署过程中遇到了网络问题和配置错误,但文章提供了从安装验证到服务启动的完整操作指南,并推荐通过官方D

2025-12-19 12:06:35 973

原创 Claude Code 的使用

ClaudeCode是一款智能代码辅助工具,能够理解复杂业务逻辑并执行高级任务。主要功能包括:自动生成代码文档、跨文件重构、创建测试用例等。安装需要Node.js环境,通过npm安装Claude命令行工具,并配置API Key。推荐使用cc-switch管理密钥,在IDEA中安装插件后即可使用。工具能显著提升开发效率,支持代码总结、逻辑重构等操作。作者还分享了使用体验,推荐了相关插件和网页版访问方式。

2025-10-26 13:13:08 1046

原创 42. 接雨水

《接雨水算法与人生感悟》 算法部分摘要: 文章首先给出了LeetCode上"接雨水"问题的解法,通过动态规划计算左右边界最大值,然后累加每个位置能接的雨水。该方法时间复杂度O(n),空间复杂度O(n)。 人生感悟部分摘要: 作者反思毕业后三个月的心态变化。最终认识到生活需要保持初心,发展多元兴趣,接纳阶段性得失,并学会自我调节。强调年轻时要勇于尝试,犯错成本较低,未来仍有无限可能。

2025-10-19 00:56:03 766

原创 mac安装navicat

Navicat是一款功能全面的图形化数据库管理工具,提供数据可视化、查询构建、数据同步等功能。用户可通过中文官网(Navicat图形界面)了解最新版本特性,选择15天免费试用或直接购买正版授权。该工具支持多种主流数据库,操作界面友好,适合开发者高效管理数据库。官网提供详细产品介绍和购买选项,建议用户支持正版软件以获得最佳体验和完整功能。

2025-08-26 16:36:30 239

原创 @Authorization 注册,AuthorizeInterceptor

摘要:@Authorization注解用于声明接口权限要求,类似@PreAuthorize,需配合拦截器AuthorizeInterceptor实现认证逻辑。该拦截器在请求到达前校验Token及权限,未通过则返回401/403。若项目未集成Spring Security,需自定义该方案;若已集成,则建议直接使用@PreAuthorize和JWT过滤器。拦截器需通过WebMvcConfigurer注册生效。(98字)

2025-07-07 16:20:15 412

原创 远程调试,以及Debug与info的区别

摘要:远程调试的核心是通过本地IDE连接远程Java进程进行实时代码检查,需确保代码一致性并配置正确端口。日志级别中,DEBUG用于开发调试(高频详细),INFO用于线上监控(关键节点)。

2025-06-19 20:19:04 927

原创 LCR 094. 分割回文串 II

摘要: 题目要求将字符串分割成若干回文子串,返回最少分割次数。解题采用动态规划:先用二维数组isPalindrome预处理所有子串的回文状态,再通过dp数组记录前i个字符的最小分割数。遍历字符串时,若子串[j,i]是回文,则更新dp[i]为min(dp[i], dp[j]+1)。最终返回dp[n-1]。时间复杂度O(n²),空间复杂度O(n²)。例如,"aab"只需分割1次得到["aa","b"]。

2025-05-27 17:05:10 936

原创 【上海的一家公司】面经

MySQL中的连接类型包括内连接(INNER JOIN)、左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、全外连接(FULL JOIN)和自连接(Self Join)。内连接返回两个表中匹配的记录,左外连接返回左表所有记录及右表匹配记录,右外连接返回右表所有记录及左表匹配记录,全外连接返回两个表的所有记录,自连接则是表与自身连接。内连接和外连接的效率取决于数据量和匹配条件,不能一概而论。SQL语句中的“1=1”通常用于简化条件拼接,对查询结果无影响。在Java中,如果尝试从空List中获取

2025-05-15 16:59:55 849

转载 网络传输协议

上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP 和 UDP 给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。这些方面是由上层的传输协议(如。

2025-05-08 17:04:29 243

原创 关于毕业论文,查重,AIGC

每天可以免费查一次,准确度挺高的,用了这个网站提供的降AI,维普AIGC检测结果为4%每天可以免费查两次,准确度也挺高的,但是网站进不去,得用加速器,也可以用公众号。每天可以免费查5篇,但是感觉准确度不高,比其他网站的百分比也高很多。很权威了,我是直接个人用户登录,花了20r进行的AIGC检测。每天可以免费检测两篇 ,准确度还行。至于查重,这些网站都提供这个功能。

2025-05-05 21:13:14 921

原创 童子军规则

童子军规则”(The Boy Scout Rule)是一种编程理念。源自童子军的露营规则:“离开时,总要让营地比你来时更干净”。在编程中,这条规则被引申为:“提交代码时,总要让模块比你检出时更干净”。无论代码的原作者是谁,程序员都应该努力对代码进行一些改进,哪怕是很小的改进,比如优化变量命名、拆分过长的函数、解决循环依赖等。

2025-04-23 22:14:15 607

原创 库洛游戏一面+二面

连接性:TCP 是面向连接的,在传输数据之前需要建立连接;UDP 是无连接的,不需要建立连接。可靠性:TCP 提供可靠的数据传输,通过确认机制、重传机制等保证数据的完整性;UDP 不保证数据的可靠传输,可能会出现丢包、乱序等问题。传输效率:TCP 的传输效率相对较低,因为需要建立连接、维护状态等;UDP 的传输效率相对较高,因为不需要建立连接。应用场景:TCP 适用于对可靠性要求较高的场景,如文件传输、网页浏览等;UDP 适用于对实时性要求较高的场景,如视频直播、游戏等。

2025-04-16 22:00:16 3291

原创 Java后端开发-面试总结(集结版)

基于数组, 基于双向链表。在查询方面 效率高,添加和删除频繁场景下 更具优势, 需要连续内存空间, 不需要。为什么基于数组的 查询效率高,是因为可以通过索引直接定位元素,时间复杂度为 O (1);而 查询需要从头或尾遍历链表,时间复杂度为 O (n)。在添加和删除操作上, 只需修改前后节点的指针,时间复杂度为 O (1),而 在中间位置添加或删除元素时,可能需要移动大量元素,时间复杂度为 O (n) 。举一些实际业务场景例子,比如在报表数据展示,需要频繁查询数据,适合用 ;在实现一个消息队列,频

2025-04-09 10:48:17 1114

原创 Java面试总结

另外,除了这些常见索引类型,还有唯一索引,它与主键索引类似,要求索引列的值唯一,但可以有 NULL 值,一张表可以有多个唯一索引;例如在链表中间插入一个新节点,只需修改前一个节点的后继指针和后一个节点的前驱指针,使其分别指向新节点。重写是发生在具有继承关系的子类与父类之间,子类重写父类的方法时,要求方法名、参数列表、返回值类型(JDK1.5 之后,返回值类型可以是父类方法返回值类型的子类)必须相同,访问修饰符不能比父类中被重写方法的访问修饰符更严格,而且抛出的异常不能比父类被重写方法抛出的异常范围更大。

2025-03-26 22:05:39 1170

原创 Java面试总结+算法

正确内容:Java 中有三种主要的类加载器。启动类加载器(Bootstrap ClassLoader):它是用 C++ 实现的,是 JVM 自带的类加载器,负责加载 Java 核心类库,比如rt.jar中的类,像等包中的类。它是所有类加载器的祖先,并不继承自类。扩展类加载器(Extension ClassLoader):负责加载目录下的类库以及系统属性指定的路径中的类库 ,这些类库是 Java 平台的扩展功能。应用程序类加载器(Application ClassLoader)

2025-03-25 14:58:28 1103

原创 HTTP 1/2/3

HTTP 是超文本传输协议。详细介绍:HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式、超媒体信息系统的应用层协议。它主要用于客户端(如浏览器)和服务器之间进行通信,是互联网上应用最为广泛的协议之一。【协】:两个以上的参与者【议】:一种行为约定和规范HTTP/1.1版本的默认连接都是长连接,但为了兼容老版本的 HTTP,需要指定 Connection 首部字段的值为 Keep-Alive。

2025-03-19 17:07:02 561

原创 Mac本地安装运行FastDFS

macOS 上需要安装以下依赖:Homebrew(macOS 包管理器)gcc(编译器)libevent(FastDFS 依赖)安装 Homebrew如果尚未安装 Homebrew,可以通过以下命令安装:

2025-03-09 20:01:05 1398

原创 mac本地安装运行Redis-单机

​安装地址:https://github.com/redis/redis/tags?after=7.0.0官网:Redis - The Real-time Data PlatformMac版本:Apple M1

2025-03-08 17:56:09 1934

原创 Java的缓存

MyBatis提供了两级缓存机制,一级缓存(SqlSession级别)和二级缓存(全局级别),以通过减少数据库的查询次数来提高应用的性能。一级缓存(SqlSession级别)一级缓存是MyBatis默认开启且无法关闭的缓存,作用范围是SqlSession级别(SQL会话==SqlSession)作用范围:仅限于同一个SqlSession实例。

2025-03-07 21:40:20 1416

原创 链表-相关面试算法题

从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为 [3,2,4]。从各自的表头开始算起,链表 A 为 [2,6,4],链表 B 为 [1,5]。在 B 中,相交节点前有 1 个节点。

2025-03-03 19:10:55 1033

原创 分享一道算法题

来源:力扣《程序员面试金典》

2025-02-28 10:21:43 225

原创 Java-14

专项练习-后端开发SMTP:简单邮件传输协议。只有发送邮件用到。http:应用层tcp:传输层IP:网络层3.执行以下代码段(程序已包含所有必需的头文件)会输出什么结果()A4, 4B4, 10C5, 5D5, 10字符串“abcd”占用5个字节,因为包含结束符'\0',初始化时未指定数组a的大小,所以sizeof(a)为5。数组b初始化时指定了长度10,所以sizeof(b)为10。所以正确答案为D。4.TCP/IP 参考模型的网络层提供的是() A无连接不可靠的数据报服务B无连接可靠的数据报服

2025-02-24 19:50:55 993

原创 Java-13

因此,当路径字符串中包含反斜杠时,需要使用双反斜杠(在switch语句中,必须有default关键词,它通常在所有case之后。setPriority(p:int)方法的参数p的取值为0到10。Math.random()*10会随机产生0到10之间的一位整数。近日总结:好好学习,天天向上,所以测评这东西,真的很难受啊。if(even = true)等价于if(even)interrupt()方法的作用是结束该进程。这三种方式都可以正确表示文件路径中的反斜杠。在Java中,反斜杠(Dijkstra算法。

2025-02-22 18:24:30 586

原创 Java-12

A①②B①③C②③D②④。

2025-02-21 16:55:00 632

原创 Java-11

如果一个事务需要对事务过程中发现的多个数据项加锁,并且获取每个锁都需要与数据服务器进行往返通信,则容易在获取锁上耗费大量时间,可以通过多粒度锁来避免多重请求。锁高速缓存就是如果数据的使用主要是在客户端之间划分的,而客户端很少请求其他客户端也请求数据,那么锁也可以在客户端高速缓存。数据高速缓存就是在单个事务范围内,代表事务的数据在发送到客户端的时候可以在客户端高速缓存。

2025-02-20 21:06:00 859

原创 6

书读的多了,束缚也多了,行为举止上也多了很多限制,书读的多了明白了更多人的想法,会看到自己的贫瘠,发现周围的黑暗,自己却无力改变。还有一个感悟,很多时候,多和读很多书的人交谈交谈,能让你觉得仿佛你正在读一本书,获得一些其他意见,开阔视野,说不定还能被净化。说说最近看的一本小说,烂尾了,强行解释前期挖的坑,已经意难平到心情郁闷好几天了,只能说,后劲儿真大,高开低走也真令人烦闷。再说说最近的天气,很冷,但不下雪,天空也是一直阴沉沉的,笼罩在城市上方的霾,就像是厚重的乌云重重的压在心头。

2024-12-25 16:25:41 313

原创 Java-10

Prim算法的核心思想是每次从未处理的顶点中选择一个与当前生成树连接权重最小的顶点加入生成树,这个过程与图中的边数没有直接关系,而是与顶点数有关(因为每次选择都是基于顶点的)。因此,在更广泛的意义上,可以认为Prim算法与网中的边数“相对无关”,因为它主要关注的是顶点之间的连接关系。在一般情况下,可以认为GET请求的长度是受限的。聚簇索引会根据索引键的值来组织数据,如果索引键(即聚簇索引所基于的列)经常变化,那么维护聚簇索引的成本会很高,因为每次更新都可能需要移动数据行,这会降低性能。

2024-12-23 22:23:32 554

原创 Java-09

由于String是Object的一个子类,根据Java的规则,更具体的版本(在这种情况下是接受String的版本)会被选中,前提是调用是合法的。如果出现了一个优先权更高的进程,并且当前系统的调度策略是基于优先权的(如优先权调度算法),那么当前运行的进程可能会被抢占CPU,从而从运行状态变为就绪状态。用户级线程的切换通常不需要内核的支持,因为用户级线程的管理和调度是由用户空间的线程库完成的。无论是在传统的单线程进程模型中,还是在引入线程的多线程模型中,进程都是资源的拥有者,它负责申请和占有所需的资源。

2024-12-23 15:20:40 1017

原创 Java-08

如果我们在遍历过程中遇到已经访问过的顶点(且该顶点不是当前顶点的父顶点),则表明存在一条从当前顶点到该已访问顶点的路径,这通常意味着存在一个环。反之,如果拓扑排序算法无法完成排序(例如,因为存在至少一个顶点没有确定的拓扑位置,这通常意味着存在环),则可以确定图中存在环。setPriority(p:int)方法,这个参数的取值范围是1到10(包括1和10),其中1是最低优先级,10是最高优先级,而5是默认优先级(也称为“普通”优先级)。这样,我们就可以在运行时调用子类重写的父类方法,实现动态绑定。

2024-12-17 21:16:10 703

原创 Java-07

堆排序的比较次数主要发生在调整堆的过程中,虽然这一过程与初始序列的具体顺序关系不大,但堆的构建过程(尤其是初始序列接近逆序时)可能会涉及较多的比较操作,不过从整体上看,堆排序的比较次数仍可以认为是相对稳定的,不如快速排序那样受初始序列影响大。但是,仅仅调用run方法并不会启动一个新的线程,而是在当前线程中顺序执行run方法中的代码。这是因为选择排序每一趟都从待排序的数据元素中选出最小(或最大)的一个元素,无论初始序列如何,这一过程的比较次数是固定的,为n(n-1)/2次,其中n是待排序元素的数量。

2024-12-10 22:22:12 810

原创 Java-06

HTTPS 在HTTP 的基础下加入TLS(Transport Layer Security 安全传输层协议)/SSL(Secure Sockets Layer 安全套接层协议),HTTPS 的安全基础是 TLS/SSL,因此加密就需要TLS/ SSL。在HTTPS数据传输的过程中,需要用TLS/SSL对数据进行加密,然后通过HTTP对加密后的密文进行传输,可以看出HTTPS的通信是由HTTP和TLS/SSL配合完成的。和所有其他疾病一样,如果不治愈,随着时间的推移,它可能导致致命的应用程序崩溃。

2024-12-04 22:23:53 812

原创 Java-05

正确匹配并调用父类构造方法:当super(arguments)中的参数列表与父类中某个构造方法的参数列表完全匹配,并且该构造方法是可访问的时,调用不会报错。super调用是子类构造方法的首行:如果super(arguments)调用正确地位于子类构造方法的首行,那么它不会导致编译错误。子类正确处理或声明了父类构造方法中的受检异常:如果父类构造方法声明了受检异常,并且子类构造方法通过try-catch块处理了这些异常,或者在其方法签名中声明了相同的受检异常,那么这不会导致编译错误。

2024-11-29 16:45:23 910 1

原创 按照数组中字符串出现频率对字符串进行降序排序,频率相同按照字典升序排序

现在给定小红的搜索记录(记录为分词后的结果),我们认为当一个单词出现的次数不少于3次时,该单词为“用户期望搜索的单词”,即称为关键词。请你根据小红的记录,输出小红的用户画像对应的所有关键词。方法获取当前单词的频率,如果该单词没有出现过,则初始频率为 0;列表进行排序,首先按照频率降序排列,如果频率相同,则按字典序升序排列。小红书有一个推荐系统,可以根据用户搜索的关键词推荐用户希望获取的内容。进行字典序的比较,确保在频率相同的情况下,按字母顺序排列。的条目,检查每个单词的频率,并将符合条件的单词添加到。

2024-11-19 22:21:08 516

原创 Java-04

Redis集群由多个主节点和从节点组成,主节点负责处理客户端的写入和读取请求,从节点则负责同步主节点的数据。例如,一个Redis集群可以包含多个主节点和从节点,每个主节点都配备有哨兵,以确保在任何主节点故障时,集群都可以继续工作。由于从节点只负责处理读取请求,它们通常会部署在性能较低的节点上,而主节点则处理写入请求,并负责数据的完整性和一致性。通过这种方式,Redis集群可以自动将数据分散存储到不同的节点上,每个节点负责管理一部分哈希槽,从而实现数据的分片存储和负载均衡。来避免潜在的溢出问题。

2024-11-19 21:50:36 1030

原创 Java-03

Java中的IO流主要有4个基类:InputStream、OutputStream、Reader、Writer。其中,InputStream代表字节输入流,OutputStream代表字节输出流,Reader代表字符输入流,Writer代表字符输出流。其他的IO流都是从这4个基类派生而来的,并且子类的名字往往以基类的名字结尾。之后Java提供了新的IO模型(NIO),这种IO模型是基于IO多路复用实现的。

2024-11-11 20:16:11 1693 3

原创 Java-02

首先,T 一开始为空,之后进行如下操作:从左往右开始,剪切 S 中开头 k 个字符构成的子串。例如,aabbaa、a、abcba 是回文串,而 ab、ba、abc 不是回文串。

2024-11-02 22:22:17 315

原创 Java-01

Java中的IO流主要有4个基类:InputStream、OutputStream、Reader、Writer。其中,InputStream代表字节输入流,OutputStream代表字节输出流,Reader代表字符输入流,Writer代表字符输出流。其他的IO流都是从这4个基类派生而来的,并且子类的名字往往以基类的名字结尾。之后Java提供了新的IO模型(NIO),这种IO模型是基于IO多路复用实现的。

2024-10-31 20:44:08 647

设计模式流程图全览,全面

设计模式流程图全览,全面

2024-11-17

nginx-1.22.1.tar.gz安装包

nginx-1.22.1.tar.gz安装包,直接下载

2022-11-07

java基础知识(笔记)

super等一些基础知识,这个是测试文件,应该可以直接免费下载,里面是一张图,就是这个https://blog.csdn.net/Hubery_sky/article/details/126328850?spm=1001.2014.3001.5501里面的一些东西。

2022-08-18

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

TA关注的人

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