• 在入门学习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. 基于web公交查询系统自我安排进度

    这周完成站点信息管理

  2. DAVID 进行 GO/KEGG 功能富集分析

    何为功能富集分析? 功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的.换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生 ...

  3. SpringBoot整合MyBatis与MySql8.0

    一.前言 之前已经有一篇文章讨论过SpringBoot整合MyBatis,因而此篇不在重复累赘,本文主要是最新版的SpringBoot2.0与MyBatis.最新MySQL8.0整合过程中遇到的问题进 ...

  4. [Gamma]Scrum Meeting#9

    github 本次会议项目由PM召开,时间为6月4日晚上10点30分 时长15分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客,组织例会 撰写博客,组织例会 swoip 前端显示屏幕,翻译坐 ...

  5. vux scroller在iOS13上,一停止滑动就跳到顶部

    转载:https://blog.csdn.net/sllailcp/article/details/102502452 今天客户反馈的问题,说在最新版的iOS上(iOS13),滑动列表,滑完就会跳到顶 ...

  6. cad.net 块裁剪边界反向修剪

    Querying for XCLIP information inside AutoCAD using .NET  这里下面观众讨论了 How do I determine if an x-clip ...

  7. Linux常用基础(一)

    1.命令解释器 shell---Unix操作系统 bash---Linux操作系统 本质:根据输入的命令,调用相应的执行程序. 2.Linux下的快捷键 (1)命令和路径补全 Tab键 (2)主键盘的 ...

  8. centos7下vs code编辑器字体与windows版本同步设置-安装中文字体,美化vscode

    "editor.fontFamily": "Consolas, 'Courier New', monospace" 从window10系统中复制出以上字体,到C ...

  9. mysql密码中有特殊字符&在命令行下登录

    在服务器上,通常为了快速登录数据库,我们会使用mysql -hhost -uusername -ppassword db的方式登录数据库,如果密码中没有特殊字符&,会直接进入数据库sql命令行 ...

  10. /etc/skel目录

    /etc/skel目录 Linux中的/etc/skel目录(skel是skeleton的缩写,意为骨骼.框架.)是用来存放新用户配置文件的目录,当我们添加新用户时,这个目录下的所有文件会自动被复制到 ...