Java程序系统监控问题实现及问题解决_com.sun.jna.structure.getfieldorder()ljava/util/li-程序员宅基地

技术标签: java  servlet  Springboot  开发语言  

一、Java系统监控实现

1. hutool的系统监控工具类:SystemUtil
  • 官网:https://hutool.cn/docs/ (详情可以去官网看)
    1. Java Virtual Machine Specification信息
SystemUtil.getJvmSpecInfo();
    1. Java Virtual Machine Implementation信息
SystemUtil.getJvmInfo();
    1. Java Specification信息
SystemUtil.getJavaSpecInfo();
    1. Java Implementation信息
SystemUtil.getJavaInfo();
    1. Java运行时信息
SystemUtil.getJavaRuntimeInfo();
    1. 系统信息
SystemUtil.getOsInfo();
  • 7.用户信息
SystemUtil.getUserInfo();
    1. 当前主机网络地址信息
SystemUtil.getHostInfo();
    1. 运行时信息,包括内存总大小、已用大小、可用大小等
SystemUtil.getRuntimeInfo();
2. Oshi 封装工具类
  • 使用过程:引入Oshi 库
<!--获取cpu信息工具包,需要三个包配合使用,并且依赖引入要放在最开始,否则会报错-->
<dependency>
    <groupId>com.github.oshi</groupId>
    <artifactId>oshi-core</artifactId>
    <version>5.6.1</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>5.5.0</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>5.5.0</version>
</dependency>

  • 然后可以调用相关API获取相关信息。

例如我们像获取CPU信息:

CpuInfo cpuInfo = OshiUtil.getCpuInfo();

二、可能出现的问题

1. NoClassDefFoundError: com/sun/jna/platform/win32/VersionHelpers问题
  • 提示找不到jna
  • 解决方法就是添加jna包,文前边已经给出。
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>5.5.0</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>5.5.0</version>
</dependency>
2. java.lang.AbstractMethodError: com.sun.jna.Structure.getFieldOrder()Ljava/util/List
  • 解决方法,把依赖放到最上边,最先引入,则不报错。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42102911/article/details/127861384

智能推荐

史上最全BI知识全解,万字长文带你读懂BI-程序员宅基地

文章浏览阅读487次。这种独立的、单独的面向前端的商业智能BI分析工具,他们更多的定位是部门级和个人级的商业智能BI 分析工具,对于深层次的需要复杂数据处理、集成、建模等很多场景是无法解决的。从市场宣传和销售的角度来说,简化产品的复杂度和上手难度的宣传是没有问题的,有问题的是以一种错误的讲解、不专业的讲解最终误导企业接受了这些不正确的概念,并以这些不正确的概念来评估与规划 商业智能BI 项目的建设,没有充分预计到 商业智能BI 项目建设过程中可能会遇到的挑战与风险,最后导致项目的不成功与失败、反复建设。

华为数据湖的3大特点、6个标准、入湖流程_数据入湖的六个标准-程序员宅基地

文章浏览阅读3.4k次,点赞3次,收藏22次。3大特点、6个标准、入湖流程01 数据湖的3个特点1. 逻辑统一2. 类型多样3. 原始记录02 数据入湖的6个标准1. 明确数据Owner2. 发布数据标准3. 认证数据源4. 定义数据密级5. 数据质量评估6. 元数据注册03 数据入湖方式1. 批量集成(Bulk/Batch Data Movement)2. 数据复制同步(Data Replication/Data Synchronization)3. 消息集成(Message-Oriented Movement of Data)4. 流集成(Stre_数据入湖的六个标准

12.python-详细了解PyCharm支持的4种Python Interpreter和配置方法_python interpreter:new conda environment-程序员宅基地

文章浏览阅读492次。详细了解PyCharm支持的4种Python Interpreter和配置方法_WaitFoF-程序员宅基地文章目录1. Virtualenv Environment1.1 Virtualenv Environment是什么?1.2 如何使用Virtualenv Environment?1.2.1. New environment1.2.2. Existing environment2. Conda Environment2.1 Conda Environment是什么?2.2 如何_python interpreter:new conda environment

-Webkit- Transition_webkittransitionduration-程序员宅基地

文章浏览阅读2.6k次。在CSS3中这个属性的作用是使得变化不那么生硬,达到比较平和的过渡。而实际变化的属性是需要我们自己手动去添加变化. 这个属性可以分解成多个CSS属性: (1)-webkit-transition-timing-function 可以定义动画的变化时间曲线 -webkit-transition-timing-function: ease-out ,cubic-bezier(x1,y1,x2,y2_webkittransitionduration

sqlmap之POST注入与cookie注入_sqlmap cookie注入-程序员宅基地

文章浏览阅读2.7w次,点赞5次,收藏32次。零、POST注入POST和GETPOST和GET是HTTP的两种请求方法,并且是两种最常用的请求方法GET一般指向指定资源请求数据,而POST则是要向指定资源提交需要被处理的数据查询字符串是在 GET 请求的 URL 中发送的,类似于这样而POST查询字符串是在 请求的 HTTP 消息主体中发送的,类似于这样..._sqlmap cookie注入

ubuntu远程连接oracle-11g数据库_ubuntu中oracle设置远程用户访问权限-程序员宅基地

文章浏览阅读562次。特别注意:1.一定要关闭防火墙!一定要关闭防火墙!一定要关闭防火墙!重要的事情说三遍2.要保证两台机器能够ping通首先我的yugong安装在ubuntu客户端,远程访问windows端的oracle-11g。需要配置的是oracle-11gOracle-11g官方文档:https://docs.oracle.com/cd/E11882_01/network.112/e41945/listenercfg.htm#NETAG302第一步,安装参考博客:https://blog.csdn.net/w_ubuntu中oracle设置远程用户访问权限

随便推点

《现代操作系统(中文第四版)》课后习题答案 第一章 引论_操作系统的两大主要作用-程序员宅基地

文章浏览阅读4.6w次,点赞83次,收藏411次。多数是根据英文版原版答案翻译过来,少部分加了个人的理解1、操作系统的两大主要作用是什么?1.为应用程序提供一个资源集的清晰抽象(另一种说法:操作系统给用户提供了一个可扩展的机器。个人理解是通过对底层的抽象,对外提供各种接口支持扩展); 2.管理各种软硬件资源。2、在1.4节中描述了9中不同类型的操作系统,列举每种操作系统的应用(每种系统一种应用)1.大型操作系统(Mainf..._操作系统的两大主要作用

什么是飞机配平-程序员宅基地

文章浏览阅读7.1k次,点赞6次,收藏21次。飞机配平即寻求飞机平衡点,比如在一定速度和高度下定直平飞,飞机需要力平衡和力矩平衡,平衡是飞机稳定飞行的基础,在达到力与力矩平衡的基础上我们才能分析扰动下飞机能否正常飞行。若升力都无法克服重力或力矩不为零,那飞机是不可能定直平飞的。配平的要求就是保持该状态下各状态量为定值,比如定直平飞那么就要求速度不变、迎角不变、高度不变、航迹角不变.....,变化的量只是x,实质上x、y、z三个坐标可以用其他状态量算出来,在配平时我们不考虑。保持不变在数学上即导数为零,但是在数值计算情况下严格等于零是不现实的,为了达_飞机配平

python图形化监控系统界面_openlava图形化监控工具openlavaMonitor-程序员宅基地

文章浏览阅读392次。OpenLava是100%免费、开源、兼容IBM Spectrum LSFTM的工作负载调度器,支持各种高性能计算和分析应用,在各大IC公司被广泛引用。openlava开源免费,兼容LSF,是IC公司(尤其是中小型IC公司)的福音。但是由于种种原因,开源团队不再进行开发工作,且工具缺少配套的job/resource监控类工具,所以并不易用。以往的工作中,根据openlava使用中的实际需求,我开..._lsftm

Stm32f103c8t6(proteus仿真)学习——7-1.PWM驱动LED呼吸灯-程序员宅基地

文章浏览阅读1.7k次,点赞6次,收藏22次。7-1 PWM驱动LED呼吸灯

Java 线程池之线程返回值-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏16次。前言通常来说,开启线程能够提高程序的并发能力,而Thread 类里并没有任何方法可以获取到线程的执行结果。接下来,我们将一步步分析如何拿到线程的执行结果。通过本篇文章,你将了解到:1、原始方式 获取线程执行结果2、FutureTask 获取线程执行结果3、线程池 获取线程执行结果1、原始方式 获取线程执行结果public class ThreadRet { private int sum = 0; public static void main(String args[]

DFS深度优先搜索-程序员宅基地

文章浏览阅读9.1k次,点赞19次,收藏58次。一、DFS的概念 {DFS的定义 DFS的搜索方式 DFS采用的数据结构 DFS的特点} 二、DFS的实战应用 {1.排列数字 2.n-皇后问题}_dfs

推荐文章

热门文章

相关标签