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
  • 阅读 ( 819 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具