A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庭院深深深几许 金牌黑马   /  2019-4-18 13:48  /  1427 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  JAVA 中堆和栈的差异,说下java 的内存机制
  a.底子数据类型比变量和目标的引用都是在栈分配的
  b.堆内存用来寄存由new创建的目标和数组
  c.类变量(static修饰的变量),程序在一加载的时分就在堆中为类变量分配内存,堆中的内存地址寄存在栈中
  d.实例变量:当你运用java关键字new的时分,系统在堆中开荒并不一定是连续的空间分配给变量,是根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的”物理方位”,实例变量的生命周期–当实例变量的引用丢掉后,将被GC(废物回收器)列入可回收“名单”中,但并不是马上就开释堆中内存
  e.局部变量: 由声明在某办法,或某代码段里(比如for循环),实行到它的时分在栈中开荒内存,当局部变量一但脱离作用域,内存当即开释



 传智播客Java培训是Java培训佼佼者,口碑良好的java培训学校,并提供Java培训,JavaEE培训,Java培训班,Java工程师培训,Java程序员培训,Java开发,Java编程服务。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马