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

    Java的方法调用过程

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

    push

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

    pop

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

    C的函数调用过程

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

    push

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

    pop

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

    总结

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

  • 相关阅读:
    .charAt()方法
    CustomerBiz方法运用
    面向对象_方法 判断
    方法
    查找无序数组索引
    面向对象_购票
    创建类 方法 构建类对象
    StringBuffer 方法
    docker创建redis mysql 等服务
    docker常用的命令
  • 原文地址:https://www.cnblogs.com/zzzz76/p/8424926.html
Copyright © 2011-2022 走看看