Arthas mc(Memory Compiler/内存编译器 )

在这里插入图片描述

文章目录

  • 二、命令列表
    • 2.2 class/classloader相关命令
      • 2.2.2 mc (Memory Compiler/内存编译器 )
        • 举例1:可以通过-d命令指定输出目录:mc -d /temporary/tmp /temporary/tmp/AccountController.java
        • 举例2:通过`--classLoaderClass`参数指定 ClassLoader

二、命令列表

2.2 class/classloader相关命令

2.2.2 mc (Memory Compiler/内存编译器 )

提示:

Memory Compiler/内存编译器,编译.java文件生成.class

注意点1:mc 命令有可能失败。如果编译失败可以在本地编译好.class文件,再上传到服务器。具体参考retransform命令说明。

注意点2:编译生成.class文件之后,可以结合retransform命令实现热更新代码。

参数说明:

参数名称参数说明
-c指定 classloader
-d指定输出目录

代码:

package com.hero.lte.ems.security.controller;import com.hero.lte.ems.common.spring.SpringContextHolder;
import com.hero.lte.ems.db.orm.mybatis.Page;
import com.hero.lte.ems.security.config.Constants;
import com.hero.lte.ems.security.entity.*;
import com.hero.lte.ems.security.service.*;
import com.hero.lte.ems.security.util.UUIDGennerator;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.cache.Cache;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.DefaultSessionKey;
import org.apache.shiro.session.mgt.SessionManager;
import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO;
import org.apache.shiro.subject.Subject;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import java.io.Serializable;
import java.time.Clock;
import java.util.*;@RestController
@RequestMapping("/lte/ems/user/")
public class AccountController {@Autowiredprivate IAccountService accountService;@Autowiredprivate IRoleService roleService;@Autowiredprivate IAuthService authService;@Autowiredprivate IRemindService remindService;@Autowiredprivate IStrategyService strategyService;/*** 查询帐户分页列表* @param account* @param pager* @return*/@RequestMapping(value = "query", method = RequestMethod.GET)public Page<Account> query(Account account, Page<Account> pager) {pager.setParam(account);return accountService.queryAccountPage(pager);}
举例1:可以通过-d命令指定输出目录:mc -d /temporary/tmp /temporary/tmp/AccountController.java

基本用法
mc -d 输出路径 置顶路径下的类

[arthas@24056]$ mc -d /temporary/tmp /temporary/tmp/AccountController.java 
Memory compiler output:
/temporary/tmp/com/hero/lte/ems/security/controller/AccountController.class
Affect(row-cnt:1) cost in 2682 ms.
[arthas@24056]$ 

执行命令前效果

在这里插入图片描述

执行命令后效果,按照包名com.hero.lte.ems.security.controller创建.class文件

在这里插入图片描述

举例2:通过--classLoaderClass参数指定 ClassLoader

基本用法

mc --classLoaderClass 全包名类名 置顶路径下的类 -d 指定输出路径

$ mc --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader /tmp/UserController.java -d /tmp
Memory compiler output:
/tmp/com/example/demo/arthas/user/UserController.class
Affect(row-cnt:1) cost in 346 ms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1547728.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

书生大模型实战营学习[7] InternLM + LlamaIndex RAG 实践

环境配置 选择30%A100做本次任务 conda create -n llamaindex python3.10 conda activate llamaindex conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda11.7 -c pytorch -c nvidia pip install einops pip install protobuf安装Llamaindex cond…

2024年9月27日历史上的今天大事件早读

1540年09月27日罗马教皇正式批准耶稣会 1605年09月27日吉尔霍尔姆战役爆发 1825年09月27日世界第一条铁路在英国正式通车 1840年09月27日美国海军战略思想家马汉出生 1858年09月27日天地会起义&#xff0c;建立大成国 1910年09月27日橡胶股灾亡国录 1913年09月27日孙中山…

隆道供应商四大类服务升级全面速览!

隆道供应商服务升级&#xff0c;全流程在线业务协同场景&#xff0c;支持系统性交易协同服务和企业营销&#xff0c;通过持续深入洞察供应商的核心需求&#xff0c;对营销类、协同类、风控类及数据类四大关键服务进行了全面升级。推出一系列创新应用&#xff0c;致力于帮助供应…

项目启动错误

说明&#xff1a;记录一次项目启动&#xff0c;报数据库访问错误&#xff0c;如下&#xff1a; 错误信息&#xff1a;Invalid default&#xff1a;public abstract java.lang.Class tk.mybatis.spring.annotation.MapperScan.fatoryBean() 解决 没有引入mybatis依赖&#xff…

AlphaFold3 | 详解 AlphaFold3 的模型结构及其在不同类型的预测实验中的表现

Jumper 本文将介绍 24 年 5 月发布的 Alaphafold3&#xff0c;其以“使用 AlphaFold 3 进行生物分子相互作用的精确结构预测”为标题发表在《nature》上&#xff0c;通讯作者为 Jumper。 Jumper 具有物理、化学、生物和计算方面的丰富背景。Jumper 本科学的是物理和数学&#…

Python中的数据处理与分析:从基础到高级

在数据科学和数据分析领域&#xff0c;Python凭借其丰富的库和强大的生态系统&#xff0c;成为了最受欢迎的语言之一。本文将从基础到高级&#xff0c;详细介绍如何使用Python进行数据处理和分析&#xff0c;涵盖数据清洗、数据转换、数据可视化等多个方面。 1. 数据导入与导出…

网络安全专业,在校大学生如何赚外快,实现财富自由?零基础入门到精通,收藏这一篇就够了

如今&#xff0c;计算机行业内卷严重&#xff0c;我们不找点赚外快的路子这么行呢&#xff1f; 今天就来说说网络安全专业平时都怎么赚外快。 一、安全众测 国内有很多成熟的src众测平台&#xff0c;如漏洞盒子、火线众测、补天、CNVD、漏洞银行等。一些大厂也有自己的src&a…

下载配置Android Studio(2024年9月)

安装JAVA JDK 下载安装包 Java网站官网 Java Downloads | Oracle 我下载的是JDK Development Kit 17.0.12 downloads Windows x64 MSI Installer。 下载后打开文件&#xff0c;一路NEXT闭眼安装。 配置环境变量 设置-系统-系统高级设置-环境变量 1.新建一个系统环境变量&…

【Linux系统编程】第二十四弹---从零到一:掌握进程替换的奥秘

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、进程程序替换 1.1、替换原理 1.2、替换函数 1.3、函数解释 1.4、命名理解 1.5、代码演示 1.5.1、execl调用举例 1.5…

Dina: 1.0.1靶场

下载链接&#xff1a;https://download.vulnhub.com/dina/Dina-1-0-1.ova 一、信息收集 靶机界面 扫描主机ip arp-scan -l 扫描端口 nmap -p- -A 192.168.137.129 扫描目录 dirb http://192.168.137.129/ 打开网站 没有太多有用信息&#xff0c;点击提交后会有个目录 依旧…

HDFS分布式文件系统01-HDFS JAVA操作与联邦机制

HDFS分布式文件系统 参考学习目标第三课时知识点1-HDFS的Java API介绍知识点2-案例-使用Java API操作HDFS 第四课时知识点1-Federation机制的实现原理知识点2-Federation机制的特点知识点3-Federation机制的实现知识点4-Erasure Coding 参考 maven的setting.xml配置文件详解 …

软件测评CNAS认可实验室程序文件之检测报告的编制和交付程序

软件测评实验室在申请CNAS认可时&#xff0c;需要根据相关准则文件的要求&#xff0c;建立质量管理体系&#xff0c;其中程序文件是质量管理体系中非常重要的一环。在前面的文章中&#xff0c;我们为大家整体介绍了CNAS软件测评实验室程序文件主要都有哪些&#xff0c;以及对部…

Pygame中Sprite实现逃亡游戏4

在《Pygame中Sprite实现逃亡游戏3》中实现了玩家跳跃飞火的效果&#xff0c;接下来通过精灵类的碰撞检测来判断飞火是否击中玩家、飞火是否击中飞龙以及飞龙是否抓住玩家。 1 飞火是否击中玩家的判断 判断飞火是否击中玩家的代码如图1所示。 图1 判断飞火是否击中玩家的代码 …

使用Docker快速本地部署RSSHub结合内网穿透访问RSS订阅源

文章目录 前言1. Docker 安装2. Docker 部署Rsshub3. 本地访问Rsshub4. Linux安装Cpolar5. 配置公网地址6. 远程访问Rsshub7. 固定Cpolar公网地址8. 固定地址访问 前言 今天和大家分享的是如何在本地快速简单部署Rsshub工具&#xff0c;并结合cpolar内网穿透工具使用公网地址远…

心觉:如何重塑高效学习的潜意识(3)东西很好,但用不起,怎么破?

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作182/1000天 上篇文章我们讲了喜欢系统化学习的人的底层逻辑 已经做到了知己&#xff0c;还需要做到知彼&#xff0c;才能百战不殆…

学习Java(二)

1.条件语句 package com.msb.test02;public class TestIf01 {//条件语句public static void main(String[] args) { // 需求判定一个数是否大于10 // 给定一个数&#xff1b;int num 18;if (num > 10) {System.out.println("大于10的");}else {Sy…

C++11:现代C++的演变与提升

目录 前言 一、统一的列表初始化 1、{}初始化 2、std::initializer_list 二、新的声明 1、auto 2、decltype 3、nullptr 三、范围for循环 四、右值引用与移动语义 1. 左值 vs 右值 2、移动构造与移动赋值 3、 move转换 4、完美转发&#xff1a;forward 五、lamb…

HP UX服务器监控指标深度解读(Telnet)

随着企业IT架构的日益复杂&#xff0c;对关键服务器的监控与管理成为确保业务连续性和系统稳定性的重要环节。HP UX作为一款广泛应用于企业级环境的Unix服务器操作系统&#xff0c;其监控工作显得尤为重要。本文将针对监控易软件中HP UX服务器的监控指标进行深度解读&#xff0…

WinForm程序嵌入Web网页

文章目录 前言一、三方库或控件的选择测试二、Microsoft Edge WebView2安装、使用步骤1.安装2.使用 前言 由于此项目需要winform客户端嵌入web网页并于JAVA端交互数据&#xff0c;所以研究了一下嵌入web网页这部分&#xff0c;趟了一遍雷&#xff0c;这里做下记录。 一、三方库…

软考高级:系统设计 - MDA 模型 AI 解读

生活化例子 想象一下&#xff0c;你要建造一栋房子。建房子需要三个阶段&#xff1a; CIM (概念阶段)&#xff1a;这是你想象中的房子。你大概知道房子需要几间卧室、厨房、卫生间&#xff0c;但是还没有详细的设计图。就像在脑海中有个大概的想法&#xff1a;我要建个温馨的…