首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
小飞机yt
掘友等级
蔑视
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
50
文章 50
沸点 0
赞
50
返回
|
搜索文章
最新
热门
JVM (九)经典的垃圾回收器
4.虚拟机会根据设置的参数,自动调整新生代的大小,Eden区与Survivor区的比例,晋升到老年代的对象的年龄值等参数,达到符合要求的停顿时间或者最大吐吞量. 1.Parallel收集器在JDK1.6时提供了用于执行老年代垃圾收集的 Parallel Old收集器,用来代替老…
JVM (八)垃圾回收概述
2. 垃圾回收的相关算法 方法区中类静态属性引用的对象。比如:java类的引用类型静态变量 3. 对象的finalization机制 4. 虚拟机中对象的三种状态 5. 清除阶段的相关算法 执行过程:当堆中的有效内存将被耗尽,就会停止整个程序,称为stop the world …
JVM (七)对象的实例化与对象的访问
1. 对象的实例化 2. 对象的创建步骤 1,如果遇到方法区中的new 操作符,会首先检查这个指令的参数在方法区的常量池中是否已经包含该类的符号引用,并且检查这个符号引用代表的类是否已经被加载,解析,初始化。如果包含,这不需要再加载该对象,如果没有则在双亲委派模式下,使用当前类…
JVM (六)方法区
4.关闭JVM就会释放这个区域的内存。 在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。 使用的永久代缺点:使用JVM内存,导致…
JVM (五)堆区
jvm堆区用来存储java运行时生成的对象,数组和对象永远不会存储在栈上,而是在堆中分配.而栈帧中保存对象的引用,这个引用指向对象或者数组在堆中的起始位置. 一个jvm实例,只存在一个运行时数据区,只存在一个堆内存,所有的线程共享该堆内存. 2.Java堆区在JVM启动的时候即…
JVM (四)虚拟机栈
1.java虚拟机栈(Java Virtual Machine Stack),早期也叫Java栈。 每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应这个一次次的java方法调用。它是线程私有的 4.作用:主管java程序的运行,它保存…
JVM (三)运行时数据区
JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。 在活动线程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧,与这个栈帧相关联的方法称为当前方法。 1.它是一块很小的内存空间,几乎可以忽略不计。也是运行速度最快的存储区域 3.任何时…
JVM (二)类加载子系统
2.加载后的Class类信息存放于一块成为方法区的内存空间。除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射) 1.通过类加载器找到class文件,通过类的全限定类名,获取该类的字节流。 2.…
JVM (一)JVM概述
JVM的作用是为了屏蔽计算机硬件的差异,java源代码通过编译,产生.class字节码文件,不同平台的虚拟机将字节码文件编译成机器能够识别的机器码指令,有了jvm的存在,程序员就不必担心代码对不同平台的适配性问题了. 方法区(jdk7:永久代,jdk8:元空间):用于存储已被虚…
JAVA线上问题排查
在top命令中,已经获取到了占用cpu资源较高的线程pid,将该pid转成16进制的值,在thread dump中每个线程都有一个nid,找到对应的nid即可;隔段时间再执行一次stack命令获取thread dump,区分两份dump是否有差别,在nid=0x246c的线程调…
下一页
个人成就
文章被点赞
74
文章被阅读
26,971
掘力值
1,275
关注了
0
关注者
28
收藏集
11
关注标签
0
加入于
2021-02-08