当前位置: 首页 > news >正文

提供网站建设教程的网站新闻最新热点

提供网站建设教程的网站,新闻最新热点,做网站做什么类型 比较赚钱,宜宾建功路桥建设有限公司网站1、jvm由本地方法栈、虚拟机栈、方法区、程序计数器、堆组成,其中堆和方法区是线程间共享的,程序计数器、虚拟机栈和本地方法栈是线程私有的。 2、虚拟机栈: 保存每个java方法的调用、保存局部变量表、等 栈可能出现内存溢出,如果…

1、jvm由本地方法栈、虚拟机栈、方法区、程序计数器、堆组成,其中堆和方法区是线程间共享的,程序计数器、虚拟机栈和本地方法栈是线程私有的。
2、虚拟机栈:
保存每个java方法的调用、保存局部变量表、等
栈可能出现内存溢出,如果出现调用方法死循环,会出现栈溢出,stackoverflow。
3、oom和stackOverflow
OOM是内存溢出,内存不足线程太多导致的。
stackoverflow是栈溢出,调用的方法太深了会这样,可能是调用出现了死循环。
4、本地方法栈
用于保存Java调用native方法的,native就是非java代码实现的方法。
5、堆
5.1 所有类的对象和数组分配内存的地方。
5.2 各个线程之间贡献
5.3 堆中放的是对象,栈帧中放的是对象的地址,也就是内存引用。
5.4 方法结束后,堆中的对象会等到垃圾回收时被移除。
5.5 堆中分为新生代和老年代
新生代分为eden和survivor(s0/from、s1/to)
新生代的gc叫young gc/minor gc
老年代的gc叫major gc/full gc

6、TLAB
thread local allocation buffer
堆中有一部分是用来放线程私有的,在eden区,线程本地分配缓存区。

那threadLocal放在堆里,threadLocal的key是弱引用,但是value不是,在使用完后需要remove,不然会引起内存泄漏。

7、方法区(线程共享)
7.1 存储了每个类的结构信息、类型信息、常量、静态变量等等。
7.2 运行时常量池放在方法区中

JDK6、JDK7 时,方法区 就是 PermGen(永久代)。
JDK8 时,方法区就是 Metaspace(元空间)

垃圾回收

会考,不好记
哪些可以作为GC ROOT
1、虚拟机栈中的对象引用
2、本地方法栈中的本地方法对象的引用
3、方法区中引用数据类型的静态变量
4、方法区中常量对象的引用
5、被synchronized持有的对象引用

1、垃圾回收时的对象存活判断
1.1 引用计数法
每个对象保存一个引用计数器,记录对象被引用的次数
缺点是无法发现循环引用
1.2 可达性分析
以GC ROOT为起点,按照从上到下所有被连接的对象是否可达,没连接上的就会被回收。

GCRoot可以简单记成 虚拟机栈和方法栈里对象的引用以及方法区静态变量和常量对象的引用,或者是synchronized的对象引用

1、标记-清除算法
第一步标记,用根可达性分析,标记处被引用的对象
第二部清除,清除没有被标记的
缺点是会造成内存碎片,可用内存不连续。

2、复制算法
将内存分成两块,每次只使用其中一块,垃圾回收的时候把s0的存活对象复制到s1上,再清空s0。
3、标记-压缩算法
标记-清除-压缩:将存活的对象都移动到一块。
4、分代收集算法
是目前大部分jvm垃圾回收使用的算法,将内存分成老年代和新生代,老年代使用标记整理算法,新生代使用复制算法。

垃圾回收器

垃圾回收器
1.8默认的是 UseParallelGC
ParallelGC 默认的是 Parallel Scavenge(新生代)+ Parallel Old(老年代)

1、serial收集器:串行回收
使用的是复制算法 新生代的垃圾回收器
2、serial Old收集器:串行回收
老年代的

垃圾回收器使用的算法作用在
serial收集器串行回收复制算法新生代的垃圾回收器
serial Old收集器串行回收标记-压缩算法老年代的
parNew并行复制算法新生代
Parallel Scavenge并行复制新生代
Parallel Old并行标记-压缩老年代
CMS并发标记清除老年代
G1并发 并行复制算法 标记-压缩老年代、新生代
ZGC并发标记-复制老年代

CMS:初始标记(STW)-并发标记-重新标记-并发清除
停顿时间短

G1:将内存分成逻辑层面的region区域,属于分代垃圾回收器,区分老年代和新生代,region之间是复制算法,总体看是标记-压缩算法,可以避免内存碎片,
垃圾回收过程:新生代GC-老年代并发标记-混合回收

新生代GC:根可达性分析,存活对象从eden区复制到survivor区
老年代并发标记:在整个堆进行并发标记,回收完全为垃圾的老年代region,标记部分为垃圾的老年代region
混合回收:回收整个新生代,回收一部分老年代,按垃圾比例回收老年代的。

jdk1.8垃圾回收过程:
young GC:eden区满了就开始垃圾回收,将eden区存活的对象放到s0/s1区,每存活一次年龄+1,超过15就进老年代。

http://www.hkea.cn/news/587746/

相关文章:

  • wordpress建好站了打不开首页成都关键词优化排名
  • 京东网站开发需求如何做谷歌优化
  • 微信app开发诊断网站seo现状的方法
  • 做旅行网站网站seo优化多少钱
  • 上海专业网站建设咨询网络销售怎么样
  • 奶茶网页设计图片湖南seo网站多少钱
  • 家里电脑做网站服务器如何建立网址
  • 临西做网站哪里便宜seo专业培训课程
  • 高端网站设计报价表个人网上卖货的平台
  • 广州网站优化推广公司网站优化排名资源
  • 济南网站建设大标网络企业seo服务
  • net域名大网站东莞关键词自动排名
  • 做企业平台的网站怎样进行网络营销吸引顾客
  • 天河网站 建设seo信科分公司谷歌搜索引擎网址
  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化
  • 白云做网站SEO市场营销策略有哪些
  • 做网站用lunx怎么建立一个网站
  • 电商网站开发定制百度推广优化排名
  • 网站备案 法人身份证cba最新消息
  • 做公司网站需要什么手续厦门seo网站优化
  • 合肥本地网站网站关键词公司
  • 武汉电商网站建设seopc流量排行榜企业
  • 如何给给公司建立网站seo商学院
  • 让建站公司做网站需要什么最新腾讯新闻
  • 网站开发的意义搜索关键词排名优化
  • 如何建一个论坛网站怎么做营销推广
  • 元凤建盏简介青岛seo
  • 营销型网站套餐cps游戏推广平台