java 参数内存释放_Java内存分配、管理小结

P.S.

想写这篇总结酝酿了有个来月了,却始终感觉还差点什么东西,一直未敢动笔。

最近两天连夜奋战,重新整理下前面查阅的资料、笔记,还是决定将它写出来。

现在提出几个问题,如果都能熟练回答的大虾,请您飘过.如以往一样,我是小菜,本文自然也是针对小菜阶层的总结。

首先是概念层面的几个问题:

Java中运行时内存结构有哪几种?

Java中为什么要设计堆栈分离?

Java多线程中是如何实现数据共享的?

Java反射的基础是什么?

然后是运用层面:

引用类型变量和对象的区别?

什么情况下用局部变量,什么情况下用成员变量?

数组如何初始化?声明一个数组的过程中,如何分配内存?

声明基本类型数组和声明引用类型的数组,初始化时,内存分配机制有什么区?

在什么情况下,我们的方法设计为静态化,为什么?(上次胡老师问文奇,问的哑口无言,当时想回答,却老感觉表述不清楚,这里也简单说明一下)

好了,问题提完了,如果您都能一眼看出答案,那么,没有必要再浪费您宝贵的时间看下去了。

如果您还不太明白,请跟随我一路走下去。

Java中运行时内存结构

1.1

方法区:

方法区是系统分配的一个内存逻辑区域,是JVM在装载类文件时,用于存储类型信息的(类的描述信息)。

方法区存放的信息包括:

1.1.1类的基本信息:

每个类的全限定名

每个类的直接超类的全限定名(可约束类型转换)

该类是类还是接口

该类型的访问修饰符

直接超接口的全限定名的有序列表

1.1.2已装载类的详细信息:

运行时常量池:

在方法区中,每个类型都对应一个常量池,存放该类型所用到的所有常量,常量池中存储了诸如文字字符串、final变量值、类名和方法名常量。它们以数组形式通过索引被访问,是外部调用与类联系及类型对象化的桥梁。(存的可能是个普通的字符串,然后经过常量池解析,则变成指向某个类的引用)

字段信息:

字段信息存放类中声明的每一个字段的信息,包括字段的名、类型、修饰符。

字段名称指的是类或接口的实例变量或类变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值