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

JVM——7JVM调优实战及常量池详解

在这里插入图片描述

Arthas工具的使用

阿里巴巴开源的java诊断工具
下载插件
上传至linux环境
在linux跑起来的java项目,可以用Arthas进行查看

项目上线前的时候没问题,上线了就出问题 ,用来查看线上代码

jad 项目名 :反编译线上正在运行的代码

用help查看命令

使用ognl命令可以查看线上系统变量的值,甚至可以修改变量的值在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GC日志

在这里插入图片描述
元空间没设置会经常产生full gc
在这里插入图片描述
GC日志分析:GCeasy工具
在这里插入图片描述

常量池

Class常量池

在这里插入图片描述

在这里插入图片描述

字符串常量池

在jdk1.6字符串常量池是在运行时常量池中,是运行时常量池的一小部分。而运行时常量池在永久代中
但是,在1.7之后,随着去永久代,字符串常量池从永久代的运行时常量池中分离出来到堆中
1.8之后,无永久代,运行时常量池在元空间,字符串常量池依然在堆里

操作字符串的方法:
1,通过字面量:String s = “ss”
2,new String s = new String(“ss”); 会产生两个ss,一个在堆中,一个在堆中的字符串常量池中
3,intern方法
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

第二个错误,是因为程序启动时,会往字符串常量池方java【关键字】,所以不相等

在这里插入图片描述

http://www.lryc.cn/news/685.html

相关文章:

  • 子串分值【第十一届】【省赛】【A组】
  • SpringCloud 中 Config、Bus、Stream、Sleuth
  • Quantum 构建工具使用新的 TTP 投递 Agent Tesla
  • 浏览器中的 JavaScript 执行机制
  • kafka集群搭建及问题
  • 不要忽视web渗透测试在项目中起到的重要性
  • Early Stopping中基于测试集(而非验证集)上的表现选取模型的讨论
  • appium ios真机自动化环境搭建运行(送源码)
  • 米尔基于ARM嵌入式核心板的电池管理系统(BMS)
  • Java后端项目IDEA配置代码规范检查,使用checkStyle实现
  • Nginx_4
  • linux Ubuntu KUbuntu 系统安装相关
  • 个人信息保护认证
  • Negative Prompt in Stable Diffusion
  • MLX90316KGO-BDG-100-RE传感器 旋转位置 角度测量
  • Reflections反射包在springboot jar环境下扫描不到class排查过程
  • 黑马】后台项目171集
  • Qt 5 架构和特点
  • 转换符说明使用方法(在printf函数中)
  • 针灸-基本任脉督脉
  • 信息系统与信息化
  • 解决axios异步请求问题(异步变为同步)
  • 【Django】云笔记项目
  • LeetCode——1797. 设计一个验证系统
  • java Resource
  • ArkTS语法(声明式UI)
  • 自动化测试实战篇(7)jmeter连接mysql数据库,实现单表、多表、三表查询,并对表中数据进行修改,删除,新增操作
  • 我的网站上线了!
  • 勒索病毒整体攻击态势简单分析
  • Vue资源(组件库、实用插件)