# 算法

在学习王争老师的数据结构与算法之美课程和神三元的博客 (opens new window)过程中,记录此文。

  • 内存空间在逻辑上分为三个部分:代码区、静态数据区和动态数据区,动态数据区又分为栈区和堆区。
  1. 代码区:存储方法体的二进制代码。高级调度(作业调度)、中级调度(内存调度)、低级调度(进程调度)控制代码区执行代码的切换。

  2. 静态数据区:存储全局变量、静态变量、常量,常量包括final修饰的常量和String常量。系统自动分配和回收。

  3. 栈区:存储运行方法的形参、局部变量、返回值。由系统自动分配和回收。

  4. 堆区:new一个对象的引用或地址存储在栈区,指向对象存储在堆区的真实数据。