jconsole使用介绍(图文)
首先先看一下jvm的大致情况,包括:堆内存使用情况,加载的类的情况,线程个数等等信息。如下图所示:
接着看一下通过jconsole看到的jvm的内存使用情况。jvm主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所有方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。在jconsole中,我们看到下方绿色的柱状图表示的各个部分的内存情况。在jconsole中jvm的堆内存分为:eden space 内存池,survivor space 内存池,tenured gen内存池,非堆内存分为:code cache内存池,perm gen内存池。如下图所示:
最后看使用jconsole查看一下jvm的参数设置,如下图:
上面的jvm的参数说明如下:
-Xms 最小堆空间
-Xmx 最大堆空间
-Xmn 新生代空间
-Xss 线程栈空间
-XX:PermSize=xxx 永久代空间
-XX:MaxPermSize=xxx 最大永久代空间
相关推荐
-
如何利用JConsole观察分析Java程序的运行并进行排错调优
一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 "近亲" VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码. 二.如何启动JConsole 1.如果是从命令行启动,使 JDK 在 PATH 上,运行 jconsole 即可. 2.如果从 GUI shell 启动,找到 JDK 安装路
-
jconsole使用介绍(图文)
首先先看一下jvm的大致情况,包括:堆内存使用情况,加载的类的情况,线程个数等等信息.如下图所示: 接着看一下通过jconsole看到的jvm的内存使用情况.jvm主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所有方法区.JVM内部处理或优化所需的内存(如JIT编译后的代码缓存).每个类结构(如运行时常数池.字段和方法数据)以及方法和构造方法的代码都在非堆内存中.在jconsole中,我们看到下方绿色的柱状图表示的各个部
-
oracle索引介绍(图文详解)
对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分. 索引分类:逻辑分类single column or concatenated 对一列或多列建所引unique or nonunique 唯一的和非唯一的所引,也就是对某一列或几列的键值(key)是否是唯一的.Function-based 基于某些函数索引,当执行某些函数时需要对其进行计算,可以将某些函数的计算结果事先保存并加以索引,提高效率. Doman
-
C# 数组实例介绍(图文)
数组即是一组相同类型组合在一起,使用一个通用的名称,通过分配的下标访问的数据集合中的元素. 数组是具有相同类型的一组数据.当访问数组中的数据时,可以通过下标来指明.c#中数组元素可以为任何数据类型,数组下标从0开始,即第一个元素对应的下标为0,以后逐个递增.数组可以一维也可多维. 一维数组是最基本的数组类型,其声明方法如下: 数据类型 [ ] 数组名 ; 举例: int [ ] anArray ; // 声明一个整型的一维数组 具有两个维度的数组是二维数组,其声明方法如下: 数据类型 [ , ]
-
8086汇编开发环境搭建和Debug模式介绍(图文详解)
1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于在没有操作系统的裸机上直接操作硬件的,但对于大部分人来说,在8086裸机上直接进行编程将会面临各种困难.好在我们可以使用软件模拟器来模拟硬件进行8086的学习实践.在<汇编语言>中作者推荐通过windows环境下的masm和debug进行学习. masm介绍: masm是一款DOS下的汇编工具包,
-
Oracle复合索引与空值的索引使用问题小结
昨天在QQ群里讨论一个SQL优化的问题,语句大致如下: select A,min(B) from table group by A;--A,B都没有not null约束,A列无空值,B列有空值.--存在复合索引IX_TEST(A,B) 于是手动测试,环境采用Oracle自带的scott用户下的emp表. 1.首先查看如下语句的执行计划(此时表只有主键索引): 2.添加IX_TEST(deptno,comm)后查看执行计划: 发现依然是全表扫描. 3.为deptno列添加非空约束后再次查看执行计划
-
一文秒懂汇编中的循环问题
汇编系列其实也在一直更新,只不过更新的频率会挺慢的...由于白天一直忙于工作,空闲时间还要看书.学习各种技术栈,早上也要抽时间早期健身,晚上回家还要陪家人 + 学习,时间安排的满满当当,所以我就慢慢写,各位读者也别太着急,我其实真想再分一个自己出来. 之前的文章中介绍过 [0] 表示的是内存单元,它一般存储在 ds 寄存器中,偏移地址为 0 .比如下面的指令 mov ax,[0] 就是将一个内存单元的内容送入 ax,这个内存单元的长度为 2 个字节,正好存放一个字型数据,偏移地址为 0 ,段地址
-
图文介绍报表与企业微信公众号集成方案
下面通过图文并茂的方式把具体操作步骤介绍如下: 概述: 有时候我们希望把想查询的数据和微信企业号平台集成,或者我们希望能在微信端,将微信中的账户与对应数据集中的字段关联,并通过访问报表获取要查询的字段信息,就好比各个营业厅查询个人当前[套餐余量].又或者,我们希望能够更加方便的编辑自动回复.如果将报表与公众号集成这些需求都可以实现.下面我就来介绍一下该如何集成. 准备工作:微信公众号 (这里申请的是一个月的企业号体验版) 个人微信 报表工具:Finereport 步骤: 1. 配置微信公众号 通
-
图文介绍c#封装方法
c# 使用封装方法 1.计算1-100之间的所有质数(素数)的和. 代码: 2.程序执行结果: 3.用方法实现:有一个数组,找出其中最大值.不能调用数组的Max方法 代码: 4.程序执行结果: 5.用方法实现:有一个字符串数组,请输出最长的字符串. 代码: 6.程序执行结果 总结:以上就是关于c#封装方法的图文介绍,感谢大家的阅读和对我们的支持.
-
Laravel快速入门之composer介绍及安装详细图文步骤
1. 安装Laravel前准备工作 Laravel 需要php5.6以上的版本 ,为了快速搭建环境 , 推荐安装 phpStudy 集成环境,可以快速切换php版本跟 apache/nginx. 下载Laravel框架我们使用Composer 官网: https://laravel.com/ 中文官网: http://www.golaravel.com/ 中文社区: https://laravel-china.org/ 2.什么是composer? composer 英文单词的意思 : 作曲者,
-
Vue的v-if和v-show的区别图文介绍
目录 一.v-if和v-show区别 二.生命周期 三.性能的差异 一.v-if和v-show区别 ① v-show严格意义来说其实是条件隐藏,直接在页面初始化的时候将DOM(对象模型)元素也初始化,因为它就是将它所在的元素添加一个display属性为none,如果条件符合就显示.a. 文本框中无内容,默认为false,所以属性显示 b. 文本框中输入d,false变为ture,属性消除 ② v-if严格意义来说就是条件判断,符合就加载DOM(对象模型)元素,不符合就不显示. a. 文本框中无内
随机推荐
- JQuery标签页效果的两个实例讲解(4)
- 利用ajaxfileupload插件实现文件上传无刷新的具体方法
- javascript实现简单的ajax封装示例
- js仿百度有啊通栏展示效果实现代码
- js 排序动画模拟 冒泡排序
- 一个页面放2段图片滚动代码出现冲突的问题如何解决
- Asp.net调试的一些问题小结
- Docker使用Link在容器之间建立连接
- 用于判断用户注册时,密码强度的JS代码
- javascript实现PC网页里的拖拽效果
- 实现两台MySQL数据库数据的同步的方法
- jquery获取下拉框中的循环值
- Android 中menu同时显示图标和文字的实现
- 浅谈Python处理PDF的方法
- 秒表计时器以及STOPWATCH(实例讲解)
- Spring和SpringMVC父子容器关系初窥(小结)
- Unity3D使用右键菜单打开工程
- python实现小球弹跳效果
- 解决Django加载静态资源失败的问题
- vue使用微信JS-SDK实现分享功能