JAVA虚拟机内存
Double大宝
这个作者很懒,什么都没留下…
展开
-
JAVA程序计数器
1)程序计数器是java虚拟机管理的内存区域之一 2)它是一块较小的内存空间,可以把它看做是当前线程所执行的字节码的行号指示器。 3)java虚拟机的多线程的实现原理是通过线程轮流切换并获得处理器的执行时间, 在任何时刻,一个处理器都只会执行一条线程中的指令,因此线程切换之后,能够恢复到 上次的执行位置,就是靠程序计数器。为了防止线程之间的紊乱,每个线程都需要一个程序 计数器,所以程序计数器是线程...原创 2018-11-30 09:51:24 · 1810 阅读 · 0 评论 -
JAVA虚拟机栈
JAVA虚拟机栈 1)虚拟机栈是线程私有的,生命周期和线程同步 2)每个方法被执行的时候,都会同时创建一个栈帧,栈帧可以理解为一个方法的运行空间, 里面有局部变量表、操作数栈、动态链接、方法出入口等消息,每一个方法从调用到执行完毕的的过程, 就对应着一个栈帧在虚拟机栈中入栈到出栈的过程 3)局部变量表是一组变量值储存空间,用来储存方法参数与方法内部定义的局部变量,局部变量表的容量以变量槽为最小单位...原创 2018-12-03 09:36:14 · 107 阅读 · 0 评论 -
JAVA堆
JAVA堆 1)java堆是java虚拟机管理的内存最大的一块 2)java堆是被所有线程共享的 3)java堆的主要作用是存放对象实例 4)java堆是垃圾收集器管理的主要区域 5)收集器基本都采用分代收集算法 6)java堆可以分为新生代和老年代,再细致还可以分为Eden区,From Surivor区,To Surivor区 7)根据java虚拟机规范,java堆可以处在物理上不连续的内存空间...原创 2018-12-03 09:51:54 · 927 阅读 · 1 评论 -
JAVA方法区
方法区 1)方法区是线程共享的 2)用以储存已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等 3)方法区是堆的一个逻辑部分,但是又称为Non-heap(非堆),目的是与java堆区分开来 4)和java堆一样不需要连续的内存 5)方法区可以选择不实现垃圾收集...原创 2018-12-03 10:25:08 · 1630 阅读 · 0 评论 -
GC日志分析
[GC (Allocation Failure) [PSYoungGen: 6577K->1016K(9216K)] 6577K->5120K(19456K), 0.0027543 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] PSYoungGen:GC类型 (使用-XX:+UseParallelOldGC(新生代...原创 2019-02-14 15:33:00 · 185 阅读 · 0 评论