数据存储原理与内存管理

JVM & GCC

JAVA 是 C 的一次封装

JAVA具有自动内存管理特性

C需要手动管理内存

JAVA额外开发了一组内存回收机制并且对内存做了限制

C是开放式,需要自己去处理

信号传输与总线概念

信息传输依赖于电的正负极
传输介质是线
主板上的特殊花纹实际上是嵌入在主板上的线
也有我们日常认知的线

总线概念

这块板子上的花纹实际上是一些线路,用来传输电信号的
实际上在板子上得所有用来传输数据的线都可以称之为总线
但是根据传输数据的不同(使用意义不同),给与了不同的名字

数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。
控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为 USB Bus和1394
扩展总线(Expansion Bus):可连接扩展槽和电脑。
局部总线(Local Bus):取代更高速数据传输的扩展总线。

地址总线是一个单向数据传输,主要作用是去定位数据偏移量

数据总线的主要作用是用来传输数据,他是一根双向线

地址概念

想象:内存会将1个bit 作为一个数据保存点,内存由无数个点构成

内存将8个bit存储点进行一次编号,这个号码就是地址

地址总线的主要作用是传输地址数据过去,由内存条进行偏移量设置

数据总线的主要作用是从偏移量位置开始传递数据

指针

从上面的处理过程可以看出来,CPU每次需要给如一个地址进行定位

那么意味着每一个变量数据都要有一个地址对应位置才能提取到!

C语言的指针

相C对比与JAVA他多出了一组特殊的变量,也就是指针变量。

他的目的是让我们能够自己去控制对应变量的存储位置

指针是一种数据类型,占用内存空间,用来保存内存地址

JAVA中指针的概念

JVM对于内存的应用

C对于内存的应用

本文地址: http://www.yppcat.top/2023/02/19/C与JAVA的差异化对比与内存分配/