zoukankan      html  css  js  c++  java
  • 浅谈C与Java

    Java的方法调用过程

    Java变量:基本类型变量、指针变量

    push

    • 压入新的栈桢
    • 在栈桢内部创建局部基本类型变量,接收参数值
    • 在栈桢内部创建局部指针变量,接收参数值后,该指针变量指向堆上实例

    pop

    • 弹出栈桢
    • 基本类型变量和指针变量均被销毁
    • 弹出原始栈桢
    • 指针变量被销毁,堆上实例被垃圾回收
    • 当然如果上层栈桢有接收,此实例将不会被回收

    C的函数调用过程

    C变量:基本类型变量、结构体、枚举、指针变量

    push

    • 压入新的栈桢
    • 在栈桢内部创建局部基本类型变量,接收参数值
    • 在栈桢内部创建局部结构体变量,接收参数值(内存重复消耗,未面向对象)
    • 在栈桢内部创建局部枚举变量,接收参数值(内存重复消耗,未面向对象)
    • 在栈桢内部创建局部指针变量,接收参数值后,该指针变量指向原始栈桢上的基本类型变量、结构体、枚举、指针变量

    pop

    • 弹出栈桢
    • 该栈桢上的所有变量均被销毁
    • 弹出原始栈桢
    • 原始栈桢上的基本类型变量、结构体、枚举、指针变量被销毁
    • 当然手动申请和初始化的空间不手动处理是无法回收的

    总结

    C比Java更精致,自己看着用。。。

  • 相关阅读:
    PHP数据类型
    Windows定时备份Mysql数据库
    Linux定时删除n天前日志
    使用file_get_contents() 发送GET、POST请求
    使用Git工具批量拉取代码
    Git常用命令
    点击开关按钮,通过改变类名切换按钮
    两个行内元素的间隙问题
    vue和angular双向数据绑定原理
    原生js实现 双向数据绑定
  • 原文地址:https://www.cnblogs.com/zzzz76/p/8424926.html
Copyright © 2011-2022 走看看