当前位置: 首页 > news >正文

江西省城乡建设培训中心网站seo3

江西省城乡建设培训中心网站,seo3,dynamo wordpress主题,怎么做公司销售网站jdk自带的工具jvisualvm,可以分析java内存使用情况,jvm相关的信息。 1、设置jvm启动参数 设置jvm参数**-Xms20m -Xmx20m -XX:PrintGCDetails** 最小和最大堆内存,打印gc详情 2、测试代码 TestScheduleClassGc package com.core.schedule;…

jdk自带的工具jvisualvm,可以分析java内存使用情况,jvm相关的信息。

1、设置jvm启动参数

设置jvm参数**-Xms20m -Xmx20m -XX:+PrintGCDetails** 最小和最大堆内存,打印gc详情

在这里插入图片描述

2、测试代码

TestScheduleClassGc

package com.core.schedule;import com.core.Test.TestClassGC;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;import java.time.LocalDateTime;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;/*** @auth admin* @date 2023/2/15 19:21*/
@Component
public class TestScheduleClassGc {private static final AtomicInteger ATOMIC_INTEGER = new AtomicInteger(0);private static final ExecutorService executorService = Executors.newFixedThreadPool(100);@Scheduled(fixedRate = 1000)private void print1() {long xmsMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024;// Xms20m -Xm250m -XX:+PrintGCDetails//返回Java虚拟机中使用的最大堆内存long xmxMemory = Runtime.getRuntime().maxMemory() / 1024 / 1024;long l = Runtime.getRuntime().freeMemory();System.out.println("-Xms:" + xmsMemory + "M");System.out.println("-Xmx:" + xmxMemory + "M");System.out.println("-Xmx:" + l + "M");for (int i = 0; i < 500; i++) {
//            TestClassGC.anInt++;executorService.execute(this::createGcLass);}}private void createGcLass() {LocalDateTime now1 = LocalDateTime.now();System.out.println("Thread_name=" + Thread.currentThread().getName() + "||||||" + now1 + "==" + ATOMIC_INTEGER.incrementAndGet());System.out.println();TestClassGC testClassGC = new TestClassGC();testClassGC.setName("xxxxxxxxxxxx" + ATOMIC_INTEGER.get());try {testClassGC.sleep();} catch (InterruptedException e) {e.printStackTrace();}}}

TestClassGC

package com.core.Test;import java.util.concurrent.TimeUnit;/*** @auth admin* @date 2023/2/15 19:20*/
public class TestClassGC {public static int anInt = 0;private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void sleep() throws InterruptedException {TimeUnit.SECONDS.sleep(1);}
}

3、jvisualvm 连接java程序

jdk的安装路径下,双击左键即可启动
在这里插入图片描述

找到启动的程序双击连接即可使用,jvisualvm相关的功能菜单
概述、监视、线程相关的菜单栏
在这里插入图片描述

3、下面以监视简单说明

堆dump

jvm参数相关使用情况 ,堆dump可以保存为堆dump文件,保存下次导入使用
在这里插入图片描述

导出的dump文件,可以另存为,下次导入
在这里插入图片描述
在这里插入图片描述

4、观察类的实例数目

在这里插入图片描述
发现类的实例比较多,查看线程信息
在这里插入图片描述

看堆栈找到TestClassGC.java:22出现很多次,大胆猜测这里有问题。验证结论,分析代码。
在这里插入图片描述
在这里插入图片描述
找到对应的代码,是因为这里线程休眠,会阻塞很多的对象在线程队列中。队列 Executors.newFixedThreadPool(100) 创建完100个核心线程数,来的消息就会放入到阻塞队列。队列LinkedBlockingQueue无穷队列,导致对象堆积很多。
在这里插入图片描述

以上是jvisualvm工具的一个简单使用

http://www.dt0577.cn/news/27660.html

相关文章:

  • 怎么做导购网站域名信息查询系统
  • 做网站的费用seo搜索引擎优化推荐
  • 上海seo整站优化深圳设计公司
  • 网站制作模板程序福建省人民政府门户网站
  • 有没关于做动画设计师的网站武汉网络营销公司排名
  • 微商自己做网站肇庆seo按天收费
  • 旅业认证二维码有什么用成都网站优化排名推广
  • 做诈骗网站seo网络推广案例
  • 无锡做网站设计搜索引擎广告优化
  • 湖南省建设监理协会官网哈尔滨seo推广优化
  • 在线做任务的网站外贸营销网站制作
  • 网站开发常用小图片站长素材网
  • 设计网站卖钱广州谷歌推广
  • 游戏网址站长seo
  • 专业网站建设收费公司模板建站
  • 政府网站排版企业建站
  • 做喷绘可以在那个网站找app开发费用一览表
  • myeclipse做网站哪里可以学网络运营和推广
  • 怎么做祝福的网站什么是搜索关键词
  • wordpress拿站chrome手机版
  • 网站建设规划方案.ppt网站建设与管理
  • 郑州直播网站建设公司广告推广一个月多少钱
  • wordpress如何打开数据库上海seo推广平台
  • 日本的网页建设网站百度seo按天计费
  • 河西网站建设开发seo排名推广
  • 湖南 网站备案百度小程序对网站seo
  • 网站版权该怎么做呢百度账号批发网
  • 企业网站维护怎么做搜索引擎大全排行
  • 做网站最基础需要什么条件武汉百度搜索优化
  • 百度网站怎样做推广永久免费的培训学校管理软件