- 博客(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
原创 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
原创 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 2.6在 Linux 中,有句话叫做「一切皆文件」,指的是在 Linux 中的设备,资源等几乎一切资源都抽象成了文件,然后只需要提供对文件进行操作的接口,就可以让我们用统一的方式来读取,写入等各种操作,从而来管理 Linux 中的各种资源和数据。这种设计模式不仅简化了 Linux 架构,还简化了开发人员对资源的操作。
2023-06-07 17:50:21 1562 1
原创 Linux进程虚拟地址空间
最终的查找还是在寻找目标页框,所以页表的作用也就是定位物理内存的目标页框的起始位置然后再通过虚拟地址的最后 12 位页框偏移量来获取目标数据的物理地址。
2023-06-06 12:16:42 842
原创 博客系统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
原创 红黑树的插入与验证——附图详解
首先对于一个新节点的插入,这个新节点我们需要先默认设置为红色,那为什么不设置成黑色呢?在插入新节点之前,这棵树肯定已经是红黑树了,那么它就满足性质4(任意结点节点到叶子结点路径上黑色节点个数相等),而如果这时候插入一个黑色的节点,那肯定会破坏这个性质。而我们设定新节点为红色的,那只是可能会破坏性质3(不存在连续两红),但是我们可以通过修改结点颜色或者树的结构来纠正这棵红黑树。
2022-11-22 09:32:57 4477
原创 Java : 类加载和双亲委派模型
类加载机制:指的是虚拟机将 描述类的数据 从 .class 文件中加载到内存,并进行校验,解析和初始化,形成 Java 虚拟机能够直接使用的数据类型的机制。
2022-11-12 16:26:32 576
原创 HashMap, Hashtable, ConcurrentHashMap 之间的区别
HashMap, Hashtable, ConcurrentHashMap 之间的区别
2022-08-18 15:26:17 2743
原创 死锁及哲学家问题——解决方案
简单来说就是 : 线程获取了锁, 由于某些原因没有及时释放, 导致其他线程无法获取到, 且没法继续往下执行, 一直处于这种状态。严谨来说就是: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。(来自百科)......
2022-08-17 12:39:49 375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人