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

    Java的方法调用过程

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

    push

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

    pop

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

    C的函数调用过程

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

    push

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

    pop

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

    总结

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

  • 相关阅读:
    第10组Beta冲刺(4/4)
    第10组Alpha冲刺(4/4)
    第08组 Beta版本演示
    第08组 Beta冲刺(3/4)
    第08组 Beta冲刺(4/4)
    第08组 Beta冲刺(1/4)
    第08组 Beta冲刺(2/4)
    第08组 Alpha事后诸葛亮
    第08组 Alpha冲刺(4/4)
    第08组 Alpha冲刺(3/4)
  • 原文地址:https://www.cnblogs.com/zzzz76/p/8424926.html
Copyright © 2011-2022 走看看