jvm
xc丶卡卡
只要去,就必到达!
展开
-
JVM-Java虚拟机架构
0. 前言Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。因此实现Java平台无关性。本文主要介绍JVM中的架构知识,转载请注明出...转载 2018-02-23 17:22:39 · 445 阅读 · 0 评论 -
jvm 复习概要(四) 垃圾收集器
1.Serial收集器特点:a.最基本,发展最悠久的收集器b.单线程垃圾收集器c.桌面应用使用的比较多 2.parnew收集器1、特点ParNew收集器是JAVA虚拟机中垃圾收集器的一种。它是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数(例如:-XX:SurvivorRatio、-XX:Prete...原创 2018-11-08 11:01:22 · 137 阅读 · 0 评论 -
jvm 复习概要(三) 垃圾回收
1.如何判定对象为垃圾对象1.1 引用计数法在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1,当引用失效的时候,计数器的值就-1弊端:A对象引用B对象,B对象引用C对象,当把A对象引用失效 即(A=null),如果垃圾回收使用的是引用计数法,则a对象会被回收,但是b对象和c对象不会被回收。1.2 可达性分析法在主流的商用程序语言中(Java和C#...原创 2018-11-08 10:50:29 · 173 阅读 · 0 评论 -
jvm 复习概要(二) java 对象的创建
1.对象的创建按顺序为:1.给对象分配内存2.初始化对象3.执行构造方法2.对象的结构2.1 Header(对象头) -自身运行时的数据 --哈希值 GC分带年龄 锁状态标志 线程持有的锁 偏向线程ID 偏向时间戳 -类型指针2.2 InstanceData longs doubles shorts /chars2....原创 2018-11-08 10:24:30 · 172 阅读 · 0 评论 -
jvm 复习概要(一) java 内存结构
一、内存结构从大结构来说,JAVA虚拟机内存主要分为 线程共享区和 线程独占区,如下图1.线程共享区线程共享区主要包括java堆和方法区1.1 java堆主要存放对象,分为edan区,新生代,老年代,是垃圾收集器的主要管理区域1.2 方法区(包含常量池)主要存储虚拟机加载的类信息(类的版本,类的字段,类的方法,类的接口),常量,静态变量,即使编译器变异后的代码等数据...原创 2018-11-08 10:07:10 · 263 阅读 · 0 评论 -
JVM的内存区域划分
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java...转载 2018-10-16 16:52:11 · 182 阅读 · 0 评论 -
jvm学习笔记(三)Java虚拟机的结构图解
Java虚拟机的自身结构图: Java内存官方图解:紫色区域为线程的共享区域所有线程都可以访问,橙色部分为线程的独立区域只有线程自身可以访问。 ...原创 2018-08-10 11:30:55 · 211 阅读 · 0 评论 -
jvm学习笔记(二)Java虚拟机的发展史极其产品
Java虚拟机发展史如何查看自己的虚拟机版本? Sun Classic / Exact VM Sun HotSpot VM Sun Mobile-Embedded VM / Meta-Circular VM BEA JRockit / IBM J9 VM Azul VM / BEA Liquid VM Apache Harmony / Google Android Dalvik V...转载 2018-08-10 11:03:21 · 404 阅读 · 0 评论 -
jvm学习笔记(一)初识 jvm
1.jdk,jre,jvm的区别:jdk: java的开发环境jre:java的运行环境jvm:java虚拟机oracle的官方图解:jdk>jre>jvm 2.第一个内存溢出(java.lang.OutOfMemoryError)代码: package com.xc.test;import java.util.ArrayList;imp...原创 2018-07-26 17:19:11 · 246 阅读 · 0 评论 -
jvm 复习概要(五) 内存分配策略
1.优先分配到Eden区2.大对象直接分配到老年代3.长期存活的对象分配到老年代4.空间分配担保(当幸存区空间不足以保存某个对象的时候 有一块内存区域出来担保 保存这个对象)5.动态对象年龄判断 参考博客地址:https://www.cnblogs.com/wcd144140/p/5649553.html...原创 2018-11-08 11:05:53 · 138 阅读 · 0 评论