java-虚拟机(JVM)
智公博客
互联网.金融.电商
展开
-
JVM学习-java垃圾回收(三)-内存分配
在上一篇中主要说到了垃圾回收算法、垃圾收集器等,这篇我们来学习下对象在内存分配的策略; 一、概述对象在内存分配,一般都是在堆内存上分配,主要是会分配到新生代的Eden区,如果有开启本地线程分配缓冲区,会按线程优先在TLAB上分配,还有少数情况会直接在老年代分配;对象内存的分配的策略细节由垃圾收集器组合决定,还有许多虚拟机参数可以由我们控制设置;这里我们主要看下几天普遍的分配规则,并在 Serial原创 2016-08-31 17:43:01 · 1048 阅读 · 0 评论 -
JVM学习-java垃圾回收(二)-GC日志
GC 日志是一个分析Java内存回收有用的工具,它能准确的记录每一次GC的执行时间和结果 GC or Full GC关于Full GC,容易有误解,以为是堆全部年代内存GC;其实”Full” 并不是用来区分新生代GC和老年代GC,只是表示这次GC发生了”Stop The World(STW)”-XX:+PrintGC这个参数开启简单的GC日志模式,为每次的GC或Full GC打印一条信息,如:[GC原创 2016-08-24 14:19:39 · 2042 阅读 · 0 评论 -
JVM学习-java垃圾回收(一)
在上一篇中主要描述了Java 内存的分布,对象存储和访问已经各个内存区域可能的异常等,本篇主要描述Java 垃圾回收中有关内存回收策略和垃圾回收器的部分内容;原创 2016-08-01 18:09:35 · 708 阅读 · 1 评论 -
JVM学习-java内存区域与异常
java是一门跨硬件平台的面向对象高级编程语言,java程序运行在java虚拟机上(JVM),由JVM管理内存,这点是和C++最大区别;虽然内存有JVM管理,但是我们也必须要理解JVM是如何管理内存的;JVM不是只有一种,当前存在的虚拟机可能达几十款,但是一个符合规范的虚拟机设计是必须遵循《java 虚拟机规范》的,本文是基于HotSpot虚拟机描述原创 2016-07-21 13:14:42 · 2423 阅读 · 0 评论 -
JVM学习-垃圾收集器
虚拟机有许多的垃圾收集器可以选择,这里简单的记录分享下每个收集器的特点 一、Serial 历史最久,曾经是新生代唯一选择 单线程,进行时暂停所有用户线程-Stop The World Client模式下默认新生代收集器 单个线程更加高效简单,没有线程交互开销,一般client应用内存使用不大,停顿时间很短 二、ParNew Serial的多线程版本,控制参数、收集算法、Stop The World、原创 2017-02-03 17:07:13 · 354 阅读 · 0 评论