
计算机基础
文章平均质量分 91
不是针对项目学的,这部分力求全面,能涵盖计算机基础
___Dream
从来就没有什么救世主,也没有神仙皇帝
展开
-
C++共享智能指针
C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄漏。解决这个问题最有效的方式是使用智能指针。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动销毁动态分配的对象,防止内存泄漏。C++提供了三种智能指针,使用前需要引用头文件<memory>:std::shared_ptr:共享的智能指针std::shared_ptr:独占的智能指针。原创 2024-11-23 17:23:30 · 1077 阅读 · 0 评论 -
一天速转golang!
go特性语法原创 2024-11-19 11:56:29 · 888 阅读 · 0 评论 -
【MySQL基础刷题】总结题型(三)
我们可以先找到所有的产品,再找到所有 2019-08-16 前有修改的产品和他们最新的价格,使用 left join 将两个查询联合。如果产品没有价格,说明没有修改过,设置为 10,如果有价格,设置为最新的价格。请注意,当员工只加入一个部门的时候,那这个部门将默认为他的直属部门,虽然表记录的值为’N’.编写一个解决方案,找出在 2019-08-16 时全部产品的价格,假设所有产品在修改前的价格都是 10。本题的关键点在找到 2019-08-16 前所有有改动的产品及其最新价格和没有没有修改过价格的产品。原创 2024-11-14 21:01:48 · 642 阅读 · 0 评论 -
【MySQL基础刷题】总结题型(二)
用户的 确认率 是 ‘confirmed’ 消息的数量除以请求的确认消息的总数。没有请求任何确认消息的用户的确认率为 0。在这里,一张表要链接两次,都用expressions 与variable连接两次,且都用left join,分别与x,y匹配。当输入由1和0组成时,平均值实际上反映了1的值所占的比例,即条件为真的比例。返回的结果表按 percentage 的 降序 排序,若相同则按 contest_id 的 升序 排序。找出没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。原创 2024-10-15 14:45:52 · 639 阅读 · 0 评论 -
【Linux八股】自用
一般来说,epoll 的效率是要比 select 和 poll 高的,但是对于活动连接较多的时候,由于回调函数触发的很频繁,其效率不一定比 select 和 poll 高。epoll是一种高效的I/O多路复用技术,epoll使用事件通知的方式,只有在文件描述符就绪时才会通知应用程序,而不需要应用程序轮询。杀死进程:首先要用ps或者top找到进程的PID,然后用kill命令加上进程ID来结束进程,比如kill -9 PID,-9是强制杀死进程的信号。poll克服了文件描述符数量的限制,它使用。原创 2024-10-03 17:21:22 · 705 阅读 · 0 评论 -
【OS八股】自用
死锁是系统中两个或多个进程在执行过程中,因争夺资源而造成的一种僵局。死锁只有同时满足一下四个条件才会发生互斥条件:一个进程占用了某个资源时,其他进程无法同时占用该资源请求保持条件:一个进程因为请求资源而阻塞的时候,不会释放自己的资源不可剥夺条件:资源不能被强制性地从一个进程中剥夺,只能由持有者资源释放循环等待条件:多个进程之间形成一个循环等待资源的链,每个进程都在等待下一个进程所占有的资源。如何避免死锁?原创 2024-10-03 16:45:50 · 955 阅读 · 0 评论 -
【MySQL基础刷题】总结题型(一)
通过 >= ALL 确定选出的员工在其所在部门中的薪资是最高的,即他们的薪资大于或等于他们部门中任何其他人的薪资。rank() 函数的特性是,当多个员工具有相同的工资时,它会给这些员工相同的排名,并且之后的排名会跳过相应的数量。其中partition by意味着,排名是针对每个学生的,而不是整个结果集,所以说,每个学生都有自己独立的成绩排名。用于分配唯一的排名给结果集中的每一行,当有相同行时,得到相同的排名,并且不跳过任何数字(rank()会跳过)找第二高的薪水,有就返回,没有就返回null。原创 2024-10-02 19:06:52 · 1227 阅读 · 0 评论 -
【MySQL】基础部分——DDL,DML,DQL,DCL,函数,约束,多表查询,事务
users_details表中的user_id字段是外键,引用了users_basic表中的id字段,从而建立一对一的关系,每个用户在 users_basic 表和 users_details 表中只能有一条对应记录。emp表中有id,name,managerid,其中managerid的id指的是领导的id,领导id对应的name就是领导的name。所以不要把这个表看做一个表,同一个表看做两个表,一个是员工表,一个是领导表,员工表的managerid对应的就是领导表的主键id。一对一:用户对用户。原创 2024-09-15 15:28:41 · 1165 阅读 · 0 评论 -
【计网八股】自用
HTTP的缓存机制指的是为了去提升服务器处理请求的效率以及减轻服务器处理请求的负担,服务器会把自己处理过的请求的响应都放在一个数据库里,这个数据库呢就是缓存,那么当客户端再去发起相同的请求的时候,就可以到缓存里找,http的缓存机制分为强缓存和协商缓存。原创 2024-09-14 14:24:23 · 977 阅读 · 0 评论 -
【Linux】Linux操作系统——进程数据结构
例如,bash创建一个进程,那进程的parent和real_parent就都是bash。如果在bash上使用GDB来debug一个进程,这个时候GDB是parent,bash是这个进程的real_parent。任务的当前状态,例如运行(TASK_RUNNING)、可中断睡眠(TASK_INTERRUPTIBLE)、不可中断睡眠(TASK_UNINTERRUPTIBLE)等。所以,整个进程其实就是一棵进程树。进程or线程,在内核中,统一叫任务(Task),由一个统一的结构task_struct来管理。原创 2024-09-04 22:00:41 · 1243 阅读 · 0 评论 -
【Linux】Linux网络编程重点知识(项目通用知识)
这段代码设置了 SO_REUSEADDR 选项,使得套接字可以重新绑定到一个地址,而不需要等待地址释放。调用listen函数之前,必须先调用bind函数将套接字与特定的IP地址和端口进行绑定。否则, listen 函数将会失败。另外,accept 函数会阻塞程序的执行,直到有客户端连接请求到达,或者出现错误。在多线程或多进程的网络编程中,setsockopt()函数,用来设置socket的属性。socket()函数,用来创建套字节。bind()函数用于绑定端口。原创 2024-09-04 19:53:58 · 1301 阅读 · 0 评论 -
【Linux】Linux操作系统——进程线程的创建以及零零碎碎的知识点
这系列文章是以专栏:趣谈Linux操作系统,Linux实战技能100讲以及网络编程实战为基础的,因为笔者基础薄弱,这次学习是为了秋招大项目sylar以及计算机基础做准备。原创 2024-08-30 21:20:52 · 1214 阅读 · 0 评论