java 如何进行内存分配和管理

当我们利用编程说话进行编程时,一个必需要考虑的问题就是内存的分派和办理,只有为特定的对象分派新的存储空间,才能把新的数据添加进去,因为计较机的内存是有限的,所以需要在利用完响应的资本后将对应的空间进行释放,才能使得系统的内存让我们的Java虚拟机轮回利用

工具/原料

  • Java IDE(Eclipse)
  • JDK
  • 不变的互联网毗连

方式/步骤

  1. 1

    我们首先启动Java的IDE,这里以常用的Eclipse软件为例,在一个建立好了的Java工程中,点击File-New-Class,即可新建一个通俗类

  2. 2

    在弹出来的“New Class”中,可以对欲添加的通俗类的类名和实现的接口进行界说,注重要合适Java标识符的定名法则,可以就定名为“MemoryTest”,可以选择勾选上本家儿方式“public static void main(String[] args)”

  3. 3

    点击“Finish”按钮后,可以看到我们已经建立了一个空白的内存办理测试类,只包含了包名和类名,还包含了主动生当作的本家儿方式,具体的实现过程还要我们添加具体内容

  4. 4

    不异内容的对象在Java里是否指标的目的统一份内存空间呢?我们用new语句建立两个字符串对象别离为s1和s2,并赋以不异的初值“abc”,此中变量名和初始值可以自行界说

  5. 5

    在泛泛环境下,我们可以挪用Object类的Hashcode()方式来获取对象的散列码来区分在内存中的存储位置,可是对于字符串对象而言不成以,因为计较方式是按照字符进行计较的

  6. 6

    所以需要挪用System.identityHashCode()这个当地方式,可以返回无不同的内存空间,这里可以看到打印出来的两个地址值是分歧的,表白此时Java已经为这两个同名的字符串对象分派了分歧的内存空间

  7. 7

    当要释放内存的空间时,只需要将当前对象的值赋值为null(空),即可将它的引用从内存中删除,可以再次挪用散列码方式来获得它在内存中的地址,可以发现此时地址已经为0了,表白此时已经被垃圾收集器gc给清理了

注重事项

  • 一般环境下在PC机的运行情况下,内存的需求一般都是足够的
  • 在嵌入式设备中往往需要考虑到内存分派与办理的环境
  • 发表于 2018-08-30 00:00
  • 阅读 ( 189 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论