【基础】究竟什么是面向对象?(四)理解内存结构

为什么要理解运行机制?

使用oop编写的程序特征在于内存的使用方式,如果编写的时候完全不了解内部的运行机制,那么编写的程序会占用过多的内存,从而影响机器的资源,有时即使在调试的时候发现了问题,也有可能什么都做不了

编译器

将程序中编写的命令转换为机器语言

解释器

将程序边解释边运行

中间代码

将源代码用特定的编译器转换为中间代码,在使用特定的解释器来执行

线程与进程

线程 -> 程序的运行单位
计算机上独立运行的应用程序 -> 进程

进程比线程大,一个进程中会用到多个线程
通过并发处理多个线程,可以高效利用CPU资源

静态区、堆区和栈区

程序分为:静态区、堆区和栈区三个部分

静态区:该区域中存储的信息配置在程序运行时不会发生变化。

堆区:在程序运行时动态分配的内存区域。根据应用程序请求的大小进行分配,当不再需要的时候就进行释放。

栈区:用于线程的控制的内存区域。
与堆区的区别:堆区供多个线程同时使用,栈区为每个线程准备一个,用于控制子程序调用的内存区域,存储着子程序的参数、局部变量和返回位置等信息。

每个类只加载一个类的信息,存放在静态区。
每次创建实例都会使用堆区。程序会在堆区分配所需大小的内存,用于存储该类的实例变量。

变量

在变量中存储实例的指针。
该变量不一定在堆区中。如果是方法的参数或者局部变量,则配置在栈中,也有可能配置在方法区(静态区)的类信息中。

复制存储的实例变量要注意
当将存储实例的变量赋值给其他变量时,只是复制指针,堆区中的实例本身并不会发生变化。

垃圾回收

垃圾回收
脱离网络关系的实例,即从根本无法到达的实例,就是垃圾回收的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZeroJsus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值