• 在入门学习JVM的过程中,我们需要先了解关于JVM的知识中有哪些关键词或关键术语,今天在看完书后我想记录下来。
  1. Xms64mb    虚拟机初始化时设置内存大小为64mb
  2. Xmx256mb  设定虚拟机的最大内存大小为256mb,最好不要超过物理内存大小。
  3. 内存泄漏(Memory Leak) 当程序申请一块内存地址,而它在没有释放内存的情况下没有引用指向该内存位置,则会发生内存泄漏。即内存空间使用完毕没有进行回收。
  4. 强引用(Strong Reference) 在程序当中对象存在一个指向它的引用时,就是强引用。如:Object obj = new Object(); jvm不会清理强引用。
  5. 软引用 (Soft Reference)     软引用在内存足够时不会被jvm清理,当虚拟机内存快爆满即将发生out of memory 时,jvm会把软引用清理清理。并把它放入引用队列(Reference Queue)
    1. String str=new String("abc");                  //  强引用(Strong Reference)
      SoftReference<String> softRef=new SoftReference<String>(str);//软引用 (Soft Reference)
  6. 弱引用(Weak Reference) 弱引用的对象总是会被jvm回收,当对象没有引用时,该对象变为弱引用。jvm进行gc时会优先把该对象回收。弱引用常常存在于复杂的集合中。如:Map,当回收比较复杂的对象时,jvm需要经过几次gc才能完成。
  7. 虚引用 (Phantom Reference) 又称为幽灵引用,该引用不会影响jvm进行gc操作。使用虚引用的目的就是为了得知对象被GC的时机,所以可以利用虚引用来进行销毁前的一些操作,比如说资源释放等。这个虚引用对于对象而言完全是无感知的,有没有完全一样,但是对于虚引用的使用者而言,就像是待观察的对象的把脉线,可以通过它来观察对象是否已经被回收,从而进行相应的处理。
  8. 对象中止(finalization)   这个函数相当于c++里面的析构函数,当jvm进行gc时会先调用这个方法,然后再进行清理。这个函数只能被调用一次。
  9. Serviceability Agent   jdk自带的底层诊断工具

  1. JIT(just-in-time)即时编译器  即时编译指的是将java代码编译成机器码(类似于c++的编译),这样就能加快程序函数的执行速率。
  2. 年轻代(Young Generation)    jvm虚拟机中堆内存的一部分,用于存放刚创建的对象。其中,年轻代有3个分区,分别为Eden、Survivor(From、To),默认大小比例是8:1。
  3. 年老代(Old Generation)     同样是存放对象的区域,在年轻代中的对象,在经过gc后还存在,由jvm通过算法(提升规则)判断能否进入年老代。
  4. 永久区(PermGen Space) 这部分存放Class和Meta的信息,类加载时会被放在该位置,所以启动时需要注意类加载的数量,不要引入过多的jar包,或增大该区域的大小。永久区只针对于Jdk7的虚拟机,在JDK8中,HotSpot虚拟机使用本地内存空间存放元数据,称为(Metaspace),所以永久代在JDK8中被移除。
  5. Minor GC      发生在年轻代的gc操作,通常执行的频率比Full GC 要高。
  6. Full GC (Major GC)   根据一定的规则来判断是否执行该操作,通常是发生在虚拟机年老代内存即将不足的时候,频率比Minor GC 要低。
  7. Stop the World     指的是JVM在进行GC操作的时候,会停止所有正在运行的应用程序,待GC完成才继续执行。

JVM&G1 GC 学习笔记(一)的更多相关文章

  1. GC学习笔记

    GC学习笔记 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转到这里. 一.GC特性以及各种GC的选择 1.垃圾回收器的特性 2.对垃圾回收器的选择 2.1 连续 V ...

  2. 非常详细GC学习笔记

    转载:http://blog.csdn.net/fenglibing/article/details/6321453 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转 ...

  3. 很具体GC学习笔记

    GC学习笔记 这是我公司同事的GC学习笔记,写得蛮具体的,由浅入深,循序渐进,让人一看就懂,特转到这里. 一.GC特性以及各种GC的选择 1.垃圾回收器的特性 2.对垃圾回收器的选择 2.1 连续 V ...

  4. JVM调优- 学习笔记(转)

    http://blog.csdn.net/fenglibing/article/details/6321453 GC学习笔记 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就 ...

  5. 深入理解JVM+G1+GC.pdf (中文版带书签)

    目录 序 VII前言 IX 第1章 JVM & GC基础知识 11.1 引言 21.2 基本术语 31.2.1 Java相关术语 41.2.2 JVM/GC通用术语 241.2.3 G1涉及术 ...

  6. Jvm工作原理学习笔记(转)

    一.         JVM的生命周期 1.       JVM实例对应了一个独立运行的java程序它是进程级别 a)     启动.启动一个Java程序时,一个JVM实例就产生了,任何一个拥有pub ...

  7. (转载)Jvm工作原理学习笔记

    一.        JVM的生命周期 1.      JVM实例相应了一个独立执行的java程序它是进程级别 a)    启动.启动一个Java程序时.一个JVM实例就产生了.不论什么一个拥有publ ...

  8. java Jvm工作原理学习笔记

    一.         JVM的生命周期 1.       JVM实例对应了一个独立运行的java程序它是进程级别 a)     启动.启动一个Java程序时,一个JVM实例就产生了,任何一个拥有pub ...

  9. JVM类加载原理学习笔记

    (1)类的生命周期包括了:加载(Loading).验证(Verification).准备(Preparation).解析(Resolution).初始化(Initialization).使用(Usin ...

随机推荐

  1. CSS基础以及兼容IE方法

    1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型:宽度 ...

  2. haproxy 配置文件详解 之 综述

    HAProxy 配置文件根据功能和用途,主要有5 个部分组成,但有些部分并不是必须的,可以根据需要选择相应的部分进行配置. 1.global 部分 用来设定全局配置参数,属于进程级的配置,通常和操作系 ...

  3. LDoc使用总结

    LDoc使用总结 安装 按照下面的安装就可以了 http://www.cnblogs.com/ZhYQ-Note/articles/6022525.html 使用 参考:官方的说明文档 https:/ ...

  4. Linux 就该这么学 CH06 存储结构与磁盘划分

    1.一切从"/"开始 linux系统中一切都是文件,而且一切文件的路径都是从根目录(/)开始的.系统中的根目录和文件名称都是严格区分大小写的,并且文件名中不能包含/符号. 绝对路径 ...

  5. Linux驱动架构之pinctrl子系统分析(一)

    1.前言在嵌入式系统中,许多SoC的内部都包含了pin控制器,通过芯片内部的pin控制器,我们可以配置一个或者一组引脚的状态和功能特性,Linux内核为了统一各SoC厂商的引脚管理,提供了pinctr ...

  6. BBC micro:bit引脚介绍

    另外两个大引脚(3V和GND)是非常不同的! 注意 标记为3V和GND的引脚与电路板的电源相关,千万不要连接在一起. 电源输入:如果BBC micro:bit由USB或电池供电,则可以使用3V引脚作为 ...

  7. [转帖]k8s 基本使用(上)

    k8s 基本使用(上) https://www.jianshu.com/p/8d60ce1587e1 本文将介绍 k8s 中的一些最基本的命令,并辅以解释一些基本概念来方便理解,也就是说,本文是一篇偏 ...

  8. 原始(Prototype)模式

    原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型对象创建新的对象. 原型模式其实就是从一个对象创建另外一个可复制的对象,而且不需要知道任何创建的细节.(最常用的就是基于流的深复制) 原始模 ...

  9. Oracle 加解密教程

    参考Oracle官方文档 在Oracle使用dbms_crypto包进行加解密 首先,授权当前用户使用加解密包 在sql中运行:connect sqlplus as sysdbagrant execu ...

  10. Tigase XMPP Server

    Tigase XMPP Server是我们的旗舰服务器端软件,提供XMPP服务或实例通信(IC)服务.最基本的解释是Tigase是一个聊天服务器,但它远不止于此.聊天是其可能的应用程序之一,但任何类型 ...