1.hotspot虚拟机结构:类加载器、堆、栈、方法区、垃圾回收系统、执行引擎、本地方法栈、pc寄存器。

类加载器:负责将class文件从文件系统加载到方法区。

堆:存放对象的一块区域,所有线程共用。

栈:每个线程都有自己的一块栈空间,主要用于局部变量、方法参数保存。

垃圾回收系统:用于垃圾回收。

执行引擎:讲将class字节码翻译成机器能执行的机器码。

本地方法栈:跟Java栈类似,本地方法使用。

pc寄存器:存放机器下一步要执行的地址指针。

2.堆主要分为新生代和老年代,新生代又分为eden、s0、s1,新实例化对象都是放在eden区,回收存活后往s0、s1移动。

相关配置参数:

最小堆:Xms,

最大堆:Xmx,

新生代堆大小:Xmn,

栈大小:Xss

eden/s0 = eden/s1  = -XX:NewRatio,

老年代/新生代 = -XX:SurViVorRatio,

方法区大小:-XX:PermSize=64M

最大方法区大小:-XX:MaxPerSize=64M

3.垃圾回收算法:

标记计数法,

标记压缩法:把存活的对象压缩到内存一边。

复制算法:把一块内存分成两块,一块用于垃圾回收,回收完将存活的对象复制到另一块区域,然后清除以前区域的所有对象,这样反复使用。

分区算法:将一块区域分成多块区域。

分代算法:新生代和老年代使用不同的回收算法。

4.垃圾回收器

串行回收器:-XX:+UseSerialGC

并行回收器:两个新生代并行回收器,分别是UseParNewGC和UseParallelGC,一个老年代垃圾回收器是UseParallelOldGC

CMS回收器:

G1回收器:

jvm相关知识点的更多相关文章

  1. Android开发涉及有点概念&相关知识点(待写)

    前言,承接之前的 IOS开发涉及有点概念&相关知识点,这次归纳的是Android开发相关,好废话不说了.. 先声明下,Android开发涉及概念比IOS杂很多,可能有很多都题不到的.. 首先由 ...

  2. IOS开发涉及有点概念&相关知识点

    前言,IOS是基于UNIX的,用C/C+/OC直通系统底层,不想android有个jvm. 首先还是系统架构的分层架构 1.核心操作系统层 Core OS,就是内存管理.文件系统.电源管理等 2.核心 ...

  3. 多图:一文带你入门掌握JVM所有知识点

    本JVM系列属于本人学习过程当中总结的一些知识点,目的是想让读者更快地掌握JVM相关的知识要点,难免会有所侧重,若想要更加系统更加详细的学习JVM知识,还是需要去阅读专业的书籍和文档. 本文主题内容: ...

  4. 「JVM」知识点详解一:JVM运行原理详解

    前言 JVM 一直都是面试的必考点,大家都知道,但是要把它搞清楚又好像不是特别容易.JVM 的知识点太散,不系统,今天带大家详细的了解一下jvm的运行原理. 正文 1 什么是JVM? JVM是Java ...

  5. UITableView相关知识点

    //*****UITableView相关知识点*****// 1 #import "ViewController.h" // step1 要实现UITableViewDataSou ...

  6. IOS之UI--小实例项目--添加商品和商品名(使用xib文件终结版) + xib相关知识点总结

    添加商品和商品名小项目(使用xib文件终结版) 小贴士:博文末尾有项目源码在百度云备份的下载链接. xib相关知识点总结 01-基本使用 一开始使用xib的时候,如果要使用自定义view的代码,就需要 ...

  7. 学习记录013-NFS相关知识点

    一.NFS相关知识点 1.NFS常用的路径/etc/exports NFS服务主配置文件,配置NFS具体共享服务的地点/usr/sbin/exportfs NFS服务的管理命令,exportfs -a ...

  8. TCP/IP 相关知识点与面试题集

    第一部分:TCP/IP相关知识点 对TCP/IP的整体认 链路层知识点 IP层知识点 运输层知识点 应用层知识点 (这些知识点都可以参考:http://www.cnblogs.com/newwy/p/ ...

  9. JVM相关参数配置和问题诊断<转>

    原文连接:http://blog.csdn.net/chjttony/article/details/6240457 1.Websphere JVM相关问题诊断: 由JVM引起的Websphere问题 ...

随机推荐

  1. Java多态面试题案例几解题思路

    ---恢复内容开始--- Java多态面试题案例几解题思路 这道题是来自别人,先开始看到题很懵,后来有自己的思路: class A { public String show(D obj){ retur ...

  2. 学习笔记001之[Android开发视频教学].01_06_Android当中的常见控件

    文本框,按钮 菜单按钮(需复写两个方法) 后续需完成联系代码.

  3. Hadoop详细安装步骤

    hadoop安装:(分布式模式)参考地址:http://dblab.xmu.edu.cn/blog/install-hadoop/ http://dblab.xmu.edu.cn/blog/insta ...

  4. 【C++】子类访问父类typedef的问题

    class A { public: typedef int* pointer; }; class B :public A { public: pointer b; }; 这段代码运行没有问题,子类继承 ...

  5. 每月IT摘录201810

    技术 1.Redis.对于单机实例,我们采用原生主从(Master-Slave)模式实现高可用,常规模式下对外仅暴露 Master 节点.由于使用原生 Redis,所以单机实例支持所有 Redis 指 ...

  6. 高级测试岗位面试题---MARK

    直接手写一个python类 直接手写一个构造函数 紧接着上面的代码,直接手写,补充完整代码,要求对列表中的人进行排序,并筛选出分数大于80的人的名单,组成一个新的列表显示出来. class Perso ...

  7. TOJ3955: NKU ACM足球赛(并查集+map+细节题)

    时间限制(普通/Java):5000MS/15000MS     内存限制:65536KByte 描述 NKU ACM最近要举行足球赛,作为此次赛事的负责人,Lee要对报名人员进行分队.分队要遵循如下 ...

  8. Visual Studio 2015 自动生成 的大文件xxx.vc.db的删除问题

    用vs2015创建Visual C++项目,编写生成后,每次都会生成一个project_name.VC.db文件,而且会随着你工程修改运行变的越来越大. project_name.VC.db是sqli ...

  9. Java 微服务框架选型 Dubbo 和 Spring Cloud

    微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任 ...

  10. swift 4.2 - 根据字符串 push指定控制器

    俩个方法 1. 创建类写成 类方法 import UIKit /* * 注释:获得VC * 1.字符串 和使用的控制器,直接跳转 * 2.用过字符串获得对应VC */ class JYGetPushV ...