- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 arxiv论文信息爬取与论文pdf下载
在科研的过程中,文献阅读是不可或缺的一环。通过阅读相关领域的论文,研究人员能够及时了解最新的研究成果,掌握前沿技术和理论,同时避免重复劳动,提升研究效率。尤其是在复杂的科研项目中,海量的文献往往是支撑创新的基础。因此,如何高效获取和整理相关领域的文献,成为科研工作中的一个关键问题。在实际科研中,尤其是针对某一特定领域的深入研究时,研究人员往往需要阅读大量的论文,这些论文不仅来源广泛,而且更新速度迅速。
2025-02-28 12:30:13
1953
原创 【C】一文速学----内存池原理与实战
内存池是一种用于管理和分配内存的技术,它通过预先申请一块固定大小的内存空间,并将其划分为多个小块,提供给程序按需分配和释放。内存池是池化技术中的一种形式。通常我们在编写程序的时候回使用 new delete 这些关键字来向操作系统申请内存,而这样造成的后果就是每次申请内存和释放内存的时候,都需要和操作系统的系统调用打交道,从堆中分配所需的内存。如果这样的操作太过频繁,就会找成大量的内存碎片进而降低内存的分配性能,甚至出现内存分配失败的情况。而内存池就是为了解决这个问题而产生的一种技术。
2024-11-23 22:39:15
738
1
原创 key-value存储实现
key-value存储其实是一个小型的redis,用户在客户端输入存储相关的指令发送给服务器端,服务器在接受到指令之后对指令做对应的操作。在整个过程中,涉及到客户端和服务器端使用什么样的网络模型,如epoll,io_uring,ntyco等等,服务器端对指令做操作涉及到的数据结构,如array,rbtree,hash等等。在本项目中,网络层的组件选择了epoll,io_uring,存储数据结构选择了array,rbtree,hash。
2024-11-23 11:47:34
1024
原创 一文速学---红黑树
以前只是在考研学408的时候接触到红黑树,但是当时并没有做深入的了解。最近在做一个KV存储的项目,Key-Value的存储需要一个比数组更佳高效进行插入和删除的数据结构。红黑树,hash都是不错的用来存储的数据结构。红黑树也是一种自平衡二叉查找树,它与AVL树类似,都在添加和删除的时候通过旋转操作保持二叉树的平衡,以求更高效的查询性能。与AVL树相比,红黑树牺牲了部分平衡性,以换取插入/删除操作时较少的旋转操作,整体来说性能要优于AVL树。
2024-11-19 00:07:05
1192
原创 【C】一文速学----线程池原理与实战
线程池是管理一系列线程的资源池,其提供了一种限制和管理线程资源的方式。之所以采用线程池,因为如果每次接收请求就创建一个线程,不断地对线程进行创建和销毁对服务器来说是一种资源的浪费,尤其当接入数量持续增加,系统资源是有限的,这会成为系统的负担。为了规避上述问题,给系统固定数量的线程来处理请求,这就是线程池。对于如何确定线程池中应该有多少线程,应该依据任务类型来看,如果是CPU密集型,由系统cpu核心数量确定,如果是IO密集型则需要至少cpu核心数量两倍的线程数量。
2024-11-11 22:44:43
380
原创 【C】io_uring原理与实战
说到高性能网络编程,我们常常能想到epoll,但是io_uring的出现效果又比epoll要更好了。io_uring是一个Linux内核的异步I/O框架,它提供了高性能的异步I/O操作,io_uring的目标是通过减少系统调用和上下文切换的开销来提高I/O操作的性能。理解一下5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO。
2024-11-11 10:55:50
1416
原创 协程原理和实现(一)
协程是一种基于线程之上比线程更加轻量级的存在。线程的调度有操作系统实现,协程的调度完全由自己写的程序控制,对内核来说不可见。一个系统有多个进程,每个进程有多个线程;同理,一个线程可以有多个协程。
2024-11-09 17:15:51
1088
原创 【C】二级指针的原理与应用
但是我们总有一种感觉,二级指针似乎是一个更为抽象但是用处又不大的东西,如果是访问变量,为什么不用一级指针?需要传递指针的地址情况似乎也不多,以前我对于二级指针是很不能理解的,知道我今天遇到的问题,让我重新认识了二级指针。从这里来看,二级指针似乎是个累赘,如果想要访问task_t中的元素,并没有比一级指针来的便捷和更易理解。使用一级指针当然可以实现同样的效果,但是二级指针的使用可以可以更加的方便,且有比一级指针更好的效果。这是一个任务队列的代码,head表示头结点指针,tail表示尾结点,但是它是二级指针。
2024-11-09 16:18:45
378
原创 UDP的可靠传输协议
UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了一种简单的、不可靠的数据传输服务。UDP 提供了不面向连接的通信,且不对传送的数据报进行可靠的保证,适用于一次传送少量的数据,不适用于传输大量的数据。特点一:无连接两台主机在使用UDP进行数据传输时,不需要建立连接,只需知道对端的IP和端口号即可把数据发送过去。特点二:不可靠。
2024-11-02 21:11:29
2184
原创 vscode C/C++多文件编译和调试(linux)
最近一直在使用vscode编写C/C++,除去偶尔写一些单个文件的代码,更多时候需要写多文件的编程,甚至有时候编译代码需要链接库。编译项目通常可以使用终端,但是使用终端每次都要写一串很长的命令,不如使用vscode编译来的便捷。但是,vscode的编译虽然不难也是需要掌握一些知识才能顺利编译成功,并且进行后续调试代码。
2024-11-02 13:11:53
723
原创 高性能网络编程
举个例子,服务器端输入缓冲收到50字节的数据,但是接收数据的数组一次最多只能接受20字节,在服务器读取20字节之后还剩下30字节的情况下,会继续注册事件,只要输入缓冲区中还有数据,就会再次注册。理解select模型的关键在于理解fd_set,为说明方便,取fd_set长度为1字节,fd_set中的每一bit可以对应一个文件描述符fd。(7)发生变化的套接字不是服务器套接字时,对于有事件发生的fd=1,fd=2进行处理,如果是代表断开连接的EOF需要关闭套接字,并且从reads中删除相应信息。
2024-10-30 17:14:04
1354
1
原创 Redis相关命令及原理
在集合类型的基础上有序集合类型为集合中的每个元素都关联了一个分数,这使得我们不仅可以完成插入、删除和判断元素是否存在等集合类型支持的操作,还能够获得分数最高(或最低)的前N个元素、获得指定分数范围内的元素等与分数有关的操作。字符串类型可以存储任何形式的字符串,当存储的字符串是整数形式时,Redis 提供了一个实用的命令 INCR,其作用是让当前键值递增,并返回递增后的值。列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。
2024-10-28 21:33:20
355
原创 Qt 自动管理对象生命周期
在 C++ 中,动态分配内存时通常使用 new 关键字,但使用 new 分配的内存不会自动回收,程序员需要手动管理内存。这意味着每次使用 new 分配的内存,都必须使用 delete 来释放,否则会导致 内存泄漏。下面我将详细介绍 C++ 中 new 和内存回收相关的内容。
2024-09-04 12:26:35
554
原创 《机器学习》:揭开智能未来的密码
人工智能(Artificial Intelligence,简称AI)是当今科技领域中最具魅力和前景的领域之一。它代表着人类对智能机器的向往和探索,激发了科学家、工程师和创业者们的无限创造力和激情。人工智能的目标是使机器能够模拟和执行人类智能的各种行为和能力,如语言理解、图像识别、自主学习和智能决策。它基于机器学习、模式识别、优化算法等技术,将计算机的计算能力与人类的智慧相结合,创造出了一个全新的科技领域。在人工智能的发展历程中,机器学习无疑是其中最核心、最重要的技术之一。
2023-06-05 12:14:28
393
转载 mysql服务无法启动怎么解决
mysql服务无法启动怎么解决问题描述:尝试在win7下安装MYSQL时,出现了如下错误:解决方法:1、添加环境变量PATH(例如:C:\Program Files\mysql-5.7.13-winx64\bin);2、进入MYSQL的安装目录下,新建一个默认配置文件my.ini;在my.ini配置文件中写入如下所示内容:(具体内容可按自身情况进行修改)[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置
2022-01-14 13:54:29
695
原创 人脸检测常见方式---视频,图片
人脸检测常见方式---视频,图片前言一、opencv是什么?二、人脸检测---摄像头版1.引入库2.具体代码3.解析2.具体代码3.解析4.结果展示总结前言寒假放假了,在家太无聊。学着写个人脸检测玩玩。。提示:以下是本篇文章正文内容,下面案例可供参考一、opencv是什么?OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。Ope
2022-01-12 11:22:24
2072
原创 Spark 运行问题 java.lang.NoSuchMethodError 解决方案
这里写自定义目录标题Spark 运行问题 java.lang.NoSuchMethodError 解决方案Spark 运行问题 java.lang.NoSuchMethodError 解决方案一般情况,出现这种问题是因为scala和spark的版本不匹配,需要重新下载两者相匹配的版本。 <!-- 在properties中添加Spark版本 --> <properties> <spark.version>2.3.3</spark.version
2021-03-30 08:44:52
2453
原创 ping不同百度,也ping 8.8.8.8也不行 解决办法
1,关闭DHCP首先,我们要明白DHCP的作用:DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写。顾名思义,DHCP服务会动态的给我们的VMware分配ip地址。当我们hadoop的ip与VMware的ip不在一个网段时,电脑就无法ping通百度,甚至ping 8.8.8.8.解决方法如下: to the list of known hosts.其实解决问题的办法也很简单,只需要在每台机器上面通过下面的命令修改文件就可以解决:vi /etc/ssh/ssh_config找到#StrictHostKeyChecking ask去掉注释,并把ask改为no即可再然后,我开始解决下面这个问题:ssh:
2020-09-26 20:17:15
3654
原创 Hadoop分布式安装(超详细)
一,系统的基本配置1,主机名的修改修改/etc/sysconfig/network文件中HOSTNAME=hadoop12、IP地址配置注意:如果虚拟机可以连接网络,可以跳过这个步骤修改/etc/sysconfig/network-scripts/ifcfg-eth0,修改后的信息如下:DEVICE="eth0"#BOOTPROTO="dhcp"BOOTPROTO="static"HWADDR="00:0C:29:59:35:85"IPV6INIT="no"IPADDR=10.254.
2020-09-23 15:21:19
1416
原创 anaconda快速安装库(各种库)
在anaconda promot上面快速下载库文件python -m pip install xxx -i https://pypi.douban.com/simple///其中xxx 代表要下载的库,xxx=1.5代表下载库的版本,如果不写,代表默认下载最新版本。...
2020-05-02 20:37:52
2410
2
原创 快速解决,github打开慢问题
原文地址:https://www.cnblogs.com/yswenli/p/9419427.html有人使用github后,在某些网络下发现打开慢,甚至打不开,这都是因为他是国外站;目前互联网的连接机制导致超过一定的路由节点的连接就会出现这个问题,解决办法就是直接告诉本机ip。不要先层层询问域名转ip,这样速度和连接的速度都可以进一步的大副提升,所以将下面的内容帖到本机的hosts文件中,你就...
2020-03-27 18:01:05
446
2
原创 VMware 虚拟机黑屏问题
刚刚开始学习Linux系统,按照老师要求装了一个虚拟机 VMware 8.0.3和一个fedora.刚下载的时候开可以正常登入,并且使用LInux系统。但是在登入了两次之后,第三次登入就开始出现黑屏…尝试了很方法:一,最简单的方法,直接重启电脑就可以。二,一般情况应该有用吧,但是我的这次没有成功**:**1、同样以管理员身份运行 命令提示符 ;2、依次执行下面5个命令:netsh wi...
2020-02-29 00:28:21
339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人