自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 腾讯一面算法题:最长重复子串 1044,讲个比较好理解的思路

1. 可以以较低的成本加深大家对字符串哈希算法的理解,并且可以 **完成并通过** 这个题目2. 看了这篇文章之后,再去看官网的或者其他大佬写的更高效的版本可能会有帮助

2024-08-19 02:41:29 869

原创 rand7 实现 rand10,从基础开始推导并讲讲我的理解

根据上面可以得出一个小结论,如果 randX = [1, X],那么可以使用 (randX - 1) * N + randN 来均匀地生成 [1, X * N] 的数据(这个结论暂时看不明白也没事,继续看一下下面的例子会比较清晰)如果我们使用 (rand2 - 1) * 2 + rand2,来可以缩小整体的值,也就是让整体缩小 2 个单位,我们再列举一下所有情况。分析一下,可以看出,在保证 rand2 随机的情况下,rand2 + rand2 的生成结果分别是 [2, 3, 3, 4]。

2024-08-12 17:03:38 941

原创 大数:十六进制转十进制

大数 16 进制转 10 进制

2024-07-25 14:48:58 388

原创 vm:为虚拟机配置多个虚拟网卡(ubuntu20.04)

环境:虚拟机 ubuntu 20.04要求:如标题,但是这里针对的是 ubuntu 20.04,对于其他操作系统,可以找一下其他操作系统对应的配置文件是什么。

2024-05-30 14:27:29 990

原创 Docker:System has not been booted with systemd as init system (PID 1). Can‘t operate. Failed to conn

问题背景:Docker 部署容器的时候,容器无法执行systemctl命令,以下是报错信息(我这里的系统比较特殊,但是解决方式应该都差不多,可以尝试一下我的解决方式)如题出现上述错误,而我的系统:可执行文件中存在systemctl,并且安装了systemd,但是无法执行systemctl命令。经过搜索得知,没有使用systemd如图,我这里的 CMD 不是systemd,所以考虑在启动容器的时候换一下初始化的方式。

2024-05-28 15:20:40 1341 1

原创 微信开发者工具 vim 键位绑定

在微信开发工具中,修改 vim 的配置,完成键位映射

2024-03-08 13:19:54 429

原创 C++ 在线刷题网站

CentOS 7.6项目:在线刷题网站,是一个类似于「力扣」那样的刷题网站项目基本功能:和力扣的核心功能一样,需要完成用户代码的编译,运行,跑测试用例,并将用户代码的执行结果返回给用户所涉及库:除了一些基础库之外,还用到了Boost标准库,使用了操作字符串,时间戳,uuid 相关接口:开源网络库,简化开发,不需要再写客户端服务端的套接字等繁琐代码ctemplate:开源库,用来渲染前端页面jsoncpp:开源库,用于序列化和反序列化:用于操作数据库Ace代码编辑器使用了BoostMySQL。

2023-07-16 10:30:00 1589

原创 Linux 线程

在 Linux 中,一个进程涉及到各种大量的数据结构,当发生进程切换的时候,操作系统要做的工作非常多,比如保存并切换上下文数据,切换进程的虚拟地址空间,页表…,同时创建和销毁进程也是一个不小的性能开销,而且由于需要保证进程的独立性,带来的问题就是进程间通信效率并不高。于是就引入了线程技术,故事不讲了。

2023-06-12 16:00:28 460

原创 Linux 信号

在 Linux 中,信号是一种用于进程之间的通信机制,通常是异步的,也就是进程随时都可以收到信号,可以通过信号来通知进程发生了什么事,并且进程可以马上对这个信号做出反应和处理在 Linux 中输入kill -l可以得到信号的编号以及这些信号大概代表的是什么,常见的比如9号信号就是常见的强制杀死进程信号,以及11号就是段错误,具体点就是空指针,指针越界这些异常了,还有Ctrl + C终止信号是2号信号。(注意:信号是从 1 开始的,没有 0 号信号)

2023-06-09 18:16:36 2652

原创 Linux 进程间通信

进程间通信 —— 匿名管道的底层剖析,以及命名管道,共享内存的详细介绍和使用,还有他们的底层实现原理

2023-06-08 13:45:08 1152 1

原创 文件描述符表

环境:Linux 2.6在 Linux 中,有句话叫做「一切皆文件」,指的是在 Linux 中的设备,资源等几乎一切资源都抽象成了文件,然后只需要提供对文件进行操作的接口,就可以让我们用统一的方式来读取,写入等各种操作,从而来管理 Linux 中的各种资源和数据。这种设计模式不仅简化了 Linux 架构,还简化了开发人员对资源的操作。

2023-06-07 17:50:21 1562 1

原创 Linux进程虚拟地址空间

最终的查找还是在寻找目标页框,所以页表的作用也就是定位物理内存的目标页框的起始位置然后再通过虚拟地址的最后 12 位页框偏移量来获取目标数据的物理地址。

2023-06-06 12:16:42 842

原创 C++ 深入理解多态及拓展

深入理解多态的实现原理以及相关的拓展知识

2023-06-04 17:12:48 622

原创 博客系统web自动化测试

为了测试自己编写的博客系统,所以欲实现一个 web 自动化测试项目来测试博客系统是否存在 Bug,并且由于后续还会对博客系统进行功能更新,所以该项目又可以实现 [ 回归测试 ] —— 在更新功能的同时又可以测试之前的功能会不会因为受到牵连而出了问题。

2023-03-13 10:01:06 298 1

原创 Java:博客系统,实现加盐加密,分页,草稿箱,定时发布

博客系统,可以说是非常经典的项目了。该博客系统是基于 SSM 框架所实现的,除了博客的游览,发布等功能,还实现了:分页查询,MySQL中用户密码的密文存储(使用MD5加密搭配加盐实现),草稿箱,定时发布等功能本博客系统主要的页面有登录页,注册页,个人博客页,主页,博客详情页,博客编辑页,博客修改页。这些页面的具体工作,根据生活经验和页面名字也都能得知。以下是各个页面的展示效果登录页注册页(比登录页少了个注册)个人博客页主页博客编辑页文章详情页定义实体类,并且放在model包中。

2023-02-17 11:27:15 3150 1

原创 Java:记录一下第一次面试经历(新希望六和)

记录一下本菜鸡两个月前第一次面试新希望六合这家公司,那时的我很多都回答不上来,非常尴尬。不过这第一次面试经历也算是给足了我动力继续努力。记录一下这个第一次面试的题目,也算是记录一下那时候的我。

2023-02-07 10:23:43 972 1

原创 Java项目——文档搜索引擎

实现一个较为简单的搜索引擎,在拥有较多网页的基础上,在用户输入查询词之后,能够从这些网页中尽可能地匹配出用户想要的网页当然,不同于百度搜狗这种搜索引擎,它们能够对互联网中大量的网站都进行搜索,我们这里实现的是针对「Java 文档」的搜索引擎,就像下图,能对 Java 帮助文档 的 API 针对关键词进行文档的搜索根据正文生成摘要有很多方法,这里我们采用「找到第一次出现 分词 的位置」,以该位置前 50 个字符,以该位置后100个字符的区间,认定是摘要

2023-02-05 12:06:03 2827

原创 MyBatis 万字长文:从入门到动态SQL超详细

近两万字长文详细介绍 MyBatis 从入门到动态 SQL

2023-01-06 13:50:23 4878

原创 Spring MVC 常用注解的使用

SpringMVC 中几个常见的注解使用

2022-12-06 16:29:24 1237

原创 红黑树的插入与验证——附图详解

首先对于一个新节点的插入,这个新节点我们需要先默认设置为红色,那为什么不设置成黑色呢?在插入新节点之前,这棵树肯定已经是红黑树了,那么它就满足性质4(任意结点节点到叶子结点路径上黑色节点个数相等),而如果这时候插入一个黑色的节点,那肯定会破坏这个性质。而我们设定新节点为红色的,那只是可能会破坏性质3(不存在连续两红),但是我们可以通过修改结点颜色或者树的结构来纠正这棵红黑树。

2022-11-22 09:32:57 4477

原创 AVL的单旋和双旋—附图超详细

AVL树的插入, 左旋, 右旋和双旋——附图超详细

2022-11-20 18:29:32 701

原创 Spring 中 Bean 对象的存储和取出

Spring 中 bean 对象的存储和取出

2022-11-20 18:08:31 441

原创 怎么理解 Spring 是一个 IoC 容器

怎么理解 Spring 是一个 IoC 容器

2022-11-18 12:09:00 463

原创 垃圾回收机制——GC详讲

垃圾回收机制GC详讲

2022-11-14 20:44:51 4468

原创 Java : 类加载和双亲委派模型

类加载机制:指的是虚拟机将 描述类的数据 从 .class 文件中加载到内存,并进行校验,解析和初始化,形成 Java 虚拟机能够直接使用的数据类型的机制。

2022-11-12 16:26:32 576

原创 Java:Session 会话详解

Java: Session 会话详讲, 附带图解

2022-11-05 09:50:43 988

原创 HTTPS 协议的加密

HTTPS协议 的加密

2022-10-18 13:07:19 975

原创 LeetCode滑动谜题 二维转一维 详细题解

滑动谜题二维棋盘转一维解法

2022-10-18 13:02:10 3005

原创 IP协议及特性详解

IP 协议及特征详解

2022-09-03 10:20:58 2962

原创 TCP协议及特性详解

TCP协议确认应答,超时重传, 连接管理,滑动窗口, 流量控制, 拥塞控制, 延时应答, 捎带应答, 粘包问题详讲

2022-08-31 10:00:00 3694 4

原创 文件操作 | 基础+字节流

关于存储, 文件路径, File, InputStream, OutputStream 的一些知识

2022-08-19 20:20:50 2873

原创 HashMap, Hashtable, ConcurrentHashMap 之间的区别

HashMap, Hashtable, ConcurrentHashMap 之间的区别

2022-08-18 15:26:17 2743

原创 死锁及哲学家问题——解决方案

简单来说就是 : 线程获取了锁, 由于某些原因没有及时释放, 导致其他线程无法获取到, 且没法继续往下执行, 一直处于这种状态。严谨来说就是: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。(来自百科)......

2022-08-17 12:39:49 375

原创 锁策略 和 CAS 和 synchronized 的自适应过程 学习总结

锁策略, CAS, synchronized 锁膨胀过程 学习总结

2022-08-16 09:02:58 2921

原创 进程 & 线程之间的区别 & 联系

进程和线程之间的区别和联系

2022-08-13 15:41:02 280

原创 Java多线程中出现的线程安全问题分析以及如何解决

Java 多线程中出现的线程安全问题分析 和 解决方法

2022-07-28 00:11:27 3256

原创 删除二叉搜索树中的节点 附图超详细

附图详解二叉搜索树节点的删除, 情况比较多, 附图看起来比较清晰, 加油

2022-06-30 16:51:45 1461 3

原创 下一个更大元素Ⅱ单调栈 超详细

java附GIF超详细讲解--单调栈解法

2022-05-15 18:35:09 269

原创 用栈实现队列动画详解

用栈实现队列,动画详解

2022-05-13 16:32:15 395

原创 java有效的括号—栈解法详解

java栈解法,通俗,超清晰详解,含gif助解

2022-04-16 11:02:36 1077 1

空空如也

空空如也

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

TA关注的人

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