欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JVM 堆和栈的区别

程序员文章站 2024-03-06 13:24:49
栈内存: 程序在栈内存中运行 栈中存的是基本数据类型和堆中对象的引用 栈是运行时的单元 栈解决程序的运行问题,即程序如何执行,或者说如何...

栈内存:

  • 程序在栈内存中运行
  • 栈中存的是基本数据类型和堆中对象的引用
  • 栈是运行时的单元
  • 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据 
  • 一个线程一个独立的线程栈

堆内存: 

  • 程序运行所需的大部分数据保存在栈内存中
  • 堆中存的是对象
  • 堆是存储的单元,堆只是一块共享的内存
  • 堆解决的是数据存储的问题,即数据怎么放,放在哪儿
  • 所有线程共享堆内存

java中的参数传递( 传值呢?还是传引用? ):

  • 程序运行永远都是在栈中进行的,因而参数传递时,只存在传递基本类型和对象引用的问题,不会直接传递对象本身

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!