JVM系列-内存分配
1.对象优先在Eden区分配 VM参数: -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -verbose:gc -XX:SurvivorRatio=8 -XX:+UseSerialGC 2.大对象直接进入老年...
1.对象优先在Eden区分配 VM参数: -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -verbose:gc -XX:SurvivorRatio=8 -XX:+UseSerialGC 2.大对象直接进入老年...
分类 串行 不仅仅说明它只使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它收集垃圾时,必须暂停其他所有工作线程,知道它收集结束。(Stop-Th...
垃圾收集(GC) Garbage Collection需要完成的事情: 1.哪些内存需要回收? 2.什么时候回收? 3.如何回收? 如何判断对象可以回收 1.引用计数算法(Reference...
线程调度是指系统为线程分配处理器使用权的过程。 主要调度方式有两种: 1. 协同式线程调度(Cooperative Threads-Scheduling) 一个线程在执行自己的任务...
主要作用 保证共享变量可见性 防止指令重排 volatile如何禁止指令重排序的? volatile关键字通过“内存屏障”来防止指令被重排序。 下面是基于保守策略的J...
什么是JMM模型 Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包...
类的生命周期 类加载的时机 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,但解析阶段则不一定,它在某些情况下可以在初始化阶段之后再开始。 ...
Sun Classic: 世界上第一款商用 Java 虚拟机; 只能使用纯解释器方式来执行 Java 代码,也可以使用外挂JIT编译器,JIT 会完全接管虚拟机的执行系统,但是...