• 2024-07-04《操作系统》内存管理_内存扩充技术补充
    前言  操作系统王道书里面既然没有这个知识点,但却有一节网课。我不能不记笔记,所以我将这补充一下,写出博客。操作系统内存管理的四大功能  内存空间的分配与回收、地址转换、存储保护、内存空间的扩充内存空间的扩充覆盖技术  早期的计算机内存很小,经常会出现内存大小
  • 2024-06-200基础学C++ | 第02天 | 基础知识 | sizeof关键字 | 浮点型 | 字符型 | 转义字符 | 字符串 | 布尔类型 | 数据的输入
    前言  该文章是在B站学习C++,同时结合自己的理解整理的笔记,视频连接:https://www.bilibili.com/video/BV1et411b73Z/?p=8&spm_id_from=333.880.my_history.page.click 1、sizeof关键字作用:利用sizeof关键字可以统计数据类型所占用的内存大小语法:sizeof(数据类型/变量)#incl
  • 2024-06-15编程语言
    编程语言机器语言机器语言是用二进制代码表示的语言,是计算机唯一可以直接识别和执行的语言,它具有计算机可以直接执行、简洁、运算速度快等优点,但它的直观性差,非常容易出错,程序的检查和调试都比较困难,此外对机器的依赖型也很强。汇编语言汇编语言是面向机器的程序设计语言,它是
  • 2024-06-12赶紧收藏!2024 年最常见 20道并发编程面试题(二)
    上一篇地址:赶紧收藏!2024年最常见20道并发编程面试题(一)-CSDN博客三、请解释线程和进程的区别线程(Thread)和进程(Process)是操作系统中用于执行程序和分配系统资源的两个基本概念。它们之间有几个关键的区别:定义:进程:进程是操作系统进行资源分配和调度的一个独立单位,它是应用
  • 2024-06-08【进程间通信】——共享内存
    目录共享内存(SharedMemory)前言虚拟内存驻留内存SystemV共享内存函数及其用途Unix系统的System-V版本中就引入了三种进程间通信方式,分别是消息队列、共享内存、信号量集。这三种通信方式也被称为System-VIPC对象。共享内存(SharedMemory)前言​在下文或接下来的讨论中
  • 2024-05-30服务器内存不足的原因
    随着服务器的使用越来越广泛,大多数的企业都离不开服务器这一设备,服务器能够通过网络为多个用户提供计算、数据和游戏等多种应用服务,是一种高性能的商用计算机,能够存储和处理网络上大部分的数据信息,但随着时间的推移,服务器中的内存会变得不能够满足业务的需求,出现内存不足的情况
  • 2024-05-25进程和线程的区别
    进程与线程的区别进程:进程是操作系统中资源分配的基本单位。它包括程序代码、打开的文件、挂起的信号、内核内部数据、处理器状态、内存地址空间等。进程拥有独立的地址空间,这意味着每个进程都有自己的内存空间,一个进程不能直接访问另一个进程的内存空间,除非通过进程间通信(IPC
  • 2024-05-23C语言:动态内存管理的学习1
    动态内存管理本章重点为什么存在动态内存分配?动态内存函数的介绍mallocfreecallocrealloc常见的动态内存错误·几个经典的笔试题·柔性数组一.为什么存在动态内存分配?我们已经学到的开辟空间的方法:inta;intarr[100];单个开辟空间或者连续开辟空间;在数组的
  • 2024-05-14内存
    内存内存的基本概念内存是用来存储数据的社保,它的存储熟读介于寄存器和硬盘之间内存是CPU唯一可以访问的打容量的存储设备!所有硬盘中的程序和数据必须调入内存之后方可被CPU执行!切记:CPU不能直接处理硬盘中的数据内存的问题是软件开发中最核心的问题之一!如内存的分配,内存的释
  • 2024-05-13汇编语言——寄存器
    寄存器程序的本质软件/程序的执行过程硬盘中程序或者软件打开后,会被装载到内存中,由CPU进行读取内存中的机器指令,再由CPU控制计算机进行相应操作CPU组成寄存器:信息存储运算器:信息处理控制器:控制其他器件进行工作寄存器与内存通常,CPU会先将内存中的数据存储到寄
  • 2024-04-21C与C++的内存管理
    C中的malloc/relloc/calloc/free1.malloc与freemalloc函数用于分配指定大小的内存空间,并返回空间的首地址,若分配失败则返回NULL。free用来释放已分配的内存空间。intmain(){ int*ptr=(int*)malloc(sizeof(int)*10);//分配十个int型的空间 if(ptr==NULL){ pr
  • 2024-04-06【数据结构】时间和空间复杂度
    摘要:时间和空间复杂度是评估算法效率的两个重要指标,它们分别关注算法在执行过程中所消耗的时间和空间资源。本文将介绍时间和空间复杂度的概念、计算方法以及它们在算法设计与分析中的重要性,以及如何在实际应用中平衡时间和空间复杂度,以达到最佳的算法性能。1.引言在计
  • 2024-03-28【算法】归并排序(递归法)
    目录归并排序简介算法步骤(递归)C语言实现归并排序简介归并排序(mergesort)是一种高效、通用且基于比较的排序算法。由约翰·冯·诺依曼(JohnvonNeumann)于1945年发明,是一种分治算法(divide-and-conqueralgorithm)。时间复杂度为O(nlog⁡n)O{\left(n\log
  • 2024-03-27京东二面:Redis为什么快?我说Redis是纯内存访问的,然后他对我笑了笑。。。。。。
    引言Redis是一个高性能的开源内存数据库,以其快速的读写速度和丰富的数据结构支持而闻名。作为一个轻量级、灵活的键值存储系统,Redis在各种应用场景下都展现出了惊人的性能优势。无论是作为缓存工具、会话管理组件、消息传递媒介,还是在实时数据处理任务和复杂的分布式系统架构中,Re
  • 2024-03-19多进程并发 v.s.多线程并发
    多进程并发v.s.多线程并发优缺点多进程的优点:独立性:每个进程都有独立的内存空间,相互之间不会影响,数据隔离性好。稳定性:一个进程崩溃通常不会影响其他进程,提高了系统的稳定性。简单的错误处理:进程之间的错误处理相对简单,一个进程崩溃通常只需要重启该进程即可。适用于CP
  • 2024-03-05C++ 释放vector内存
    释放vector内存的方法有多种,具体取决于使用vector的方式以及释放内存的目的。下面列举几种常见的释放vector内存的方法:1、清空vector调用vector的clear()方法可以清空vector中的元素,但是并不会释放vector所占用的内存空间。这意味着,如果之后还需要往vector中添加元素,ve
  • 2024-02-26《程序是怎样跑起来的》第八章读后感
    本地代码:本地代码的内容就是数值的罗列集合(二进制的数据展示)。编译器:负责将源代码转换为本地代码,每种语言都有其专用的编译器。由于cpu类型不同,本地代码的类型也不同,编译器可以将源代码编译成不同cpu类型的本地代码。交叉编译:在当前平台编译另外平台的本地代码,例如在wi
  • 2024-02-25有点难度的 Q&A
    根据编程语言的不同,对堆用的内存空间进行申请分配和释放的程序的编写方法也是多种多样的。C语言中是通过malloc()函数来进行申请分配、通过free()函数来释放的。而C++中则是通过new运算符来申请分配、通过delete运算符来释放的。无论是C语言还是C++,如果没有在程序中明确释放堆
  • 2024-02-22从源文件到可执行文件
    源代码:用某种编程语言编写的程序;源文件:保存源代码的文件用C语言编写的源文件的扩展名通常是“.c”。源文件是简单的文本文件,windows自带的记事本即可编写。CPU能直接解释并运行本地代码而不是源代码。用任何编程语言编写的源代码,最后都要翻译成本地代码,否则CPU无法理解,本地
  • 2024-02-20redis自学(1) 动态字符串SDS
      字符串是redis最常见的数据结构,但redis并没有直接使用C语言的字符串,是因为C语言本身其实是没有字符串的,所谓的字符串其实是字符数组(Java语言中的字符串是一个对象),所以C语言的字符串有很多问题:①获取字符串长度需要通过运算C语言的字符串数组都是以’\0’结尾,这是一个字符
  • 2024-02-16程序是怎样跑起来的 第八章
    本地代码:本地代码的内容就是数值的罗列集合(二进制的数据展示)编译器:负责将源代码转换为本地代码,每种语言都有其专用的编译器由于cpu类型不同,本地代码的类型也不同,编译器可以将源代码编译成不同cpu类型的本地代码交叉编译:在当前平台编译另外平台的本地代码,例如在win上编译linu
  • 2024-02-02JAVA一维数组介绍和初始化
    一维数组概述一维数组的初始化(声明数组并开辟内存空间)动态初始化1动态初始化2静态初始化一维数组的使用细节
  • 2024-01-31内存是如何工作的
    一、什么是内存从外观上辨识,它就是内存条;从硬件上讲,它叫RAM,翻译过来叫随机存储器。英文全称:RandomAccessMemory。它也叫主存,是与CPU直接交换数据的内部存储器。其特点是读写速度快,不是一般的快,是我们想像不到的快。我们可以把内存想像成小时候写作文的本子,只不过,内存的每一行数据
  • 2023-12-20C语言中的存储类型
    指针在内存中定义变量(申请内存空间)存储数据,但是每个存储数据变量都有地址,地址也能找到内存空间,通过地址也可以操作到内存空间的值指针:存储地址的变量,就叫做指针,也叫做指针变量指针也会占用内存空间,但是指针占用内存空间,空间中存储的是地址值指针就是操作内存地址,使用内存地址定
  • 2023-12-06Python特殊机制之垃圾回收机制
    垃圾回收机制【1】参考博客:【5.0】Python基础之垃圾回收机制-Chimengmeng-博客园(cnblogs.com)【2】博客摘要垃圾回收机制作为python解释器自带的一种功能,其目的在于帮助系统更好的管理内存,提高程序的运行效率垃圾回收机制,用来回收不可用的变量值所占用的内存空间(在