请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

Java虚拟内存(栈、堆)

[复制链接]
查看: 17|回复: 0

2万

主题

2万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
71559
发表于 2020-1-14 17:34 | 显示全部楼层 |阅读模式
一、java捏造的内存可以分为几种
1. 第一种 栈(stack)

  • 栈的特点
    1.1 栈描摹的是方式实行的内存模子,每个方式都被挪用城市建立一个栈(存储部分变量、操纵数、
      方式出口等)
    1.2 JVM为每一个线程建立一个栈,用于寄存该线程实行方式的信息(现实参数,部分变量等)
    1.3 栈属于线程私有,不能实现线程间的同享!
    1.4 栈的存储特点是“先辈后出,落后先出”
    1.5 栈是由系统自动分派,速度快!栈是一个持续的内存空间!
2. 第二种 堆(heap)

  • 堆的特点以下:
    2.1 堆用于存储建立好的工具和数组(数组也是工具)
    2.2 JVM只要一个堆,被一切线程同享
    2.3 堆是一个不持续的内存空间,分派灵活,速度慢!
3. 第三种 方式区(method area)

  • 方式区(又叫静态区)特点以下:
    3.1 JVM只要一个方式区,被一切的线程同享!
    3.2 方式区现实也是堆,只是用于存储类、常量相关的信息
    3.3 用来寄存步伐中永久是安定或唯一的内容。(类 信息【Class工具】、静态变量、字符串常量等)

二、 渣滓采取道理和算法
渣滓采取进程
  任何一种渣滓采取算法一样平常要做两件底子事变:
  1. 发现无用的工具
  2. 采取无用工具占用的内存空间。
  渣滓采取机制保证可以将“无用的工具”举行采取。无用的工具指的就是没有任何变量援用该工具。Java的渣滓采取器经过相关算法发现无用工具,并举行扫除和整理。
渣滓采取相关算法
  1. 援用计数法
  堆中每个工具都有一个援用计数。被援用一次,计数加1. 被援用变量值变成null,则计数减1,直到计数为0,则表示酿成无用工具。优点是算法简单,弱点是“循环援用的无用工具”没法别识别。
 2. 援用可达法(根搜索算法)
  步伐把一切的援用关系看做一张图,从一个节点GC ROOT起头,根究对应的援用节点,找到这个节点今后,继续根究这个节点的援用节点,当一切的援用节点根究终了以后,残剩的节点则被以为是没有被援用到的节点,即无用的节点。

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表