JMX使用详解

    • JMX简介
    • JMX优缺点
    • JMX的功能
    • JMX的用法
    • JMX和Activiti的区别
    • JMX使用案例
    • JMX架构
    • JMX支持的协议
    • JMX工作原理
    • JMX主要方法
    • JMX中的MBean的注册
    • JMX拓展
      • SNMP网络管理协议
      • TMN网络管理协议
      • CIM网络管理协议
      • Activiti

JMX简介

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。

JMX的主要作用是提供接口,允许有不同的实现。它提供了一种标准的方式,通过这种方式,开发人员可以暴露应用程序中的各种管理和监控信息,然后可以使用JMX客户端工具或应用程序来访问和操作这些信息。

JMX允许开发人员定义称为MBeans(Managed Beans)的管理组件,这些组件充当被管理资源的代理,并通过JMX接口公开资源的操作和属性。通过MBeans,可以监控和管理各种Java应用程序和服务器的性能、状态和配置。

JMX主要应用于以下方面:

  1. 监控:使用JMX监视应用程序的性能指标,如内存使用、线程数、请求处理速度等,有助于实时性能分析和故障排除。
  2. 管理:在运行时管理应用程序,例如修改配置参数、重新加载资源、触发操作等,有助于实现动态管理和配置。
  3. 远程管理:JMX支持远程访问,可以从远程位置监控和管理应用程序,无需物理接触应用程序。
  4. 自定义监控:编写自定义MBeans公开特定于应用程序的监控数据和操作,以满足特定的管理需求。

JMX提供了一个强大的框架,用于管理和监控Java应用程序,这对于确保应用程序的稳定性和性能至关重要。它广泛用于企业级应用程序和服务器,如应用程序服务器、数据库服务器和中间件。

在这里插入图片描述


JMX优缺点

JMX(Java Management Extensions)是一种用于管理和监控Java应用程序的框架。它具有许多优点和缺点,以下是一些关键点:

  • 优点:
  1. 标准化:JMX提供了一套标准的API,使得开发者可以创建可管理的Java组件。这些组件可以与各种JMX客户端(如GUI工具、脚本或另一个应用程序)进行交互。
  2. 灵活性:JMX允许在运行时动态地添加或删除管理功能。这是因为JMX MBeans(Managed Beans)可以在运行时注册或注销。
  3. 可扩展性:由于JMX基于Java,因此可以利用Java的强大功能,包括跨平台兼容性和丰富的库。
  4. 远程管理:JMX支持远程访问,使得可以从任何位置监控和管理Java应用程序。
  5. 易于使用:对于Java开发者来说,使用JMX不需要太多的学习曲线,因为其基于Java的特性。
  • 缺点:
  1. 性能开销:使用JMX需要额外的资源来运行和管理代理。在资源受限的环境中,这可能是一个问题。
  2. 复杂性:虽然JMX相对易于使用,但它仍然可能过于复杂,特别是对于初学者。需要理解的概念和设置可能较多。
  3. 过度依赖Java:JMX高度依赖于Java平台。如果需要管理非Java应用程序,那么可能需要其他工具或方法。
  4. 安全问题:由于JMX支持远程访问,因此需要确保安全措施到位,以防止未经授权的访问。
  5. 互操作性:虽然JMX提供了标准化的API,但在某些情况下,与其他管理系统的互操作性可能仍然是一个挑战。

JMX是一个强大且灵活的工具,但也有其局限性。在选择是否使用JMX时,需要根据具体需求和环境来评估其优点和缺点。


JMX的功能

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。其主要功能包括:

  1. 监控:JMX允许开发者定义各种性能指标,并使用MBeans(Managed Beans)监控这些指标。例如,可以监控应用程序的内存使用情况、线程数、请求处理速度等。
  2. 管理:JMX提供了一种标准化的方式来管理Java应用程序。通过定义MBeans,可以暴露应用程序中的各种操作和属性,然后使用JMX客户端工具或应用程序来访问和操作这些信息。例如,可以修改配置参数、重新加载资源、触发操作等。
  3. 远程管理:JMX支持远程访问,使得可以从远程位置监控和管理应用程序。这有助于实现集中管理和远程故障排除。
  4. 自定义监控:通过编写自定义MBeans,可以公开特定于应用程序的监控数据和操作,以满足特定的管理需求。
  5. 列示和编辑配置设置:JMX提供了列示配置设置的功能,还允许在运行时编辑这些设置。这有助于在部署后轻松更改应用程序的配置。
  6. 事件通知:JMX允许定义通知机制,以便在特定事件(如应用程序服务器的启动或关闭)发生时接收通知。
  7. 跨平台兼容性:JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

JMX提供了一个强大的框架,用于管理和监控Java应用程序,这对于确保应用程序的稳定性和性能至关重要。


JMX的用法

JMX是一种用于管理和监控Java应用程序的框架。要使用JMX,需要遵循以下步骤:

  1. 创建MBeanServer:MBeanServer相当于管理MBean的容器。创建MBeanServer有两种方式:一是获取JVM中默认启动的MBeanServer,二是自己创建。
  2. 创建ObjectName:用于标识唯一的资源MBean,格式为:“域名:name=MBean名称”。
  3. 绑定MBean与对应的ObjectName并注册到MBeanServer:至此即可通过JConsole管理本地的MBean的相关信息。同时,也可以提供其他的连接方式,如rmi连接方式。
  4. 注册监听端口号
  5. 创建JMXServiceURL:格式为:service:jmx:rmi://localhost:0/jndi/rmi://localhost:1099/jmxrmi(完整版)JMXServiceURL格式说明。

完成上述步骤后,即可通过JMX来管理和监控Java应用程序。例如,可以使用JConsole通过JMX查看Java程序的运行信息。这些信息包括内存情况、线程情况、类加载情况等,对于优化程序性能、排查BUG非常有用。

JMX是一种非常有用的技术,它提供了一种标准化的方式来管理和监控Java应用程序。


JMX和Activiti的区别

JMX(Java Management Extensions)是一个为应用程序、设备、系统等植入管理功能的框架,主要应用于监控和管理Java应用程序。而Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过API进行流程调度。

两者在应用场景和功能上有明显的区别。JMX主要用于管理和监控Java应用程序,提供了一系列API和工具,使得开发人员可以定义和管理被管理的资源,例如监控应用程序的性能指标、管理配置参数等。而Activiti则是一个工作流引擎,主要用于实现业务流程管理(BPM)的应用,它可以设计、部署和管理业务流程,通过API进行流程的调度和执行。

尽管两者在某些方面可能有共同之处,例如它们都与Java语言紧密相关,但它们的应用场景和功能是不同的。JMX更侧重于管理和监控,而Activiti更侧重于业务流程管理。


JMX使用案例

以下是一个使用JMX监控Java应用程序的简单案例:

假设我们有一个Java应用程序,其中有一个MBean(Managed Bean)叫做ServerMonitor。这个MBean包含两个属性和一个方法,属性包括Uptime和Memory,方法为getUptime()和getMemory()。

首先,我们需要定义ServerMonitor接口:

public interface ServerMonitor {
    long getUptime();
    String getMemory();
}

然后,我们需要实现ServerMonitor接口,并添加相应的getter和setter方法:

public class ServerMonitorImpl implements ServerMonitor {
    private long startTime;
    private Runtime runtime = Runtime.getRuntime();

    public ServerMonitorImpl() {
        startTime = System.currentTimeMillis();
    }

    public long getUptime() {
        return System.currentTimeMillis() - startTime;
    }

    public String getMemory() {
        float freeMemory = (float) runtime.freeMemory();
        float totalMemory = (float) runtime.totalMemory();
        String memory = "idlescale: " + freeMemory + "/" + totalMemory;
        return memory;
    }
}

接下来,我们需要将ServerMonitorImpl注册到MBeanServer中:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("com.example:type=ServerMonitor");
mbs.registerMBean(new ServerMonitorImpl(), name);

最后,我们可以使用JConsole来查看ServerMonitor的属性值和调用方法。在JConsole中,我们需要输入对应的MBean名称(ObjectName),然后就可以查看ServerMonitor的Uptime和Memory属性值,以及调用getUptime()和getMemory()方法。


JMX架构

JMX的架构主要由三层组成,分别是设备层、代理层和分布服务层。

  1. 设备层:主要定义了信息模型。在JMX中,各种管理对象以管理构件的形式存在,需要管理时,向MBean服务器进行注册。该层还定义了通知机制以及一些辅助元数据类。
  2. 代理层:主要定义了各种服务以及通信模型。该层的核心是一个MBean服务器,所有的管理构件都需要向它注册,才能被管理。
  3. 分布服务层:主要定义了能对代理层进行操作的管理接口和构件,这样管理者就可以操作代理。然而,当前的JMX规范并没有给出这一层的具体规范。

此外,JMX还支持附加管理协议API,主要用来支持当前已经存在的网络管理协议,如SNMP、TMN、CIM/WBEM等。


JMX支持的协议

JMX支持多种协议,包括但不限于以下几种:

  1. RMI(Remote Method Invocation)连接器:允许JMX代理通过RMI协议与MBean服务器进行通信。
  2. HTTP连接器:通过HTTP协议提供管理接口,处理JMX代理和管理系统的交互。
  3. SNMP协议适配器:利用简单网络管理协议(SNMP)进行通信。
  4. IIOP协议适配器:用于集成Internet ORB协议(IIOP)的管理应用程序。
  5. HTML协议适配器:允许MBean在浏览器中展示。

这些协议和适配器使得JMX代理可以与使用任何数量的JMX管理应用程序进行交互,这些应用程序可以是使用或不使用JMX技术的管理应用程序。


JMX工作原理

JMX的工作原理主要基于MBean(Managed Bean),这是一种标准化的管理资源,可以通过MBeanServer进行管理和监控。

MBean被注册到MBeanServer后,就可以通过MBeanServer提供的访问接口进行管理。这个访问接口提供了一种通用的、基于协议的管理接口,使得任何支持JMX的应用程序都可以使用这些接口进行管理。

在JMX中,被管理的资源通常以MBean的形式存在,这些MBean可以暴露各种属性和操作,以供外部管理应用程序进行监控和管理。例如,可以定义一个MBean来监控应用程序的内存使用情况,或者定义另一个MBean来管理应用程序的配置参数。

通过JMX,可以非常容易地使应用程序具有被管理的伸缩性,每个JMX Agent服务可以很容易地放入到Agent中,每个JMX的实现都提供几个核心的Agent服务,你也可以自己编写服务,服务可以很容易的部署,取消部署。

总的来说,JMX提供了一种灵活和标准化的方式来管理和监控Java应用程序和系统资源,使得开发人员可以更加方便地管理和维护他们的应用程序。


JMX主要方法

在JMX中,主要的方法包括:

  1. 注册MBean:MBean是JMX中的核心概念,它是被管理的资源。MBean需要向MBeanServer进行注册,才能被管理。
  2. 获取和设置属性:MBean可以暴露各种属性和操作,以供外部管理应用程序进行监控和管理。通过MBeanServer提供的访问接口,可以获取和设置这些属性。
  3. 触发通知:当MBean的状态发生变化时,可以触发通知事件,通知相关管理应用程序进行相应的处理。
  4. 调用方法:通过MBeanServer提供的访问接口,可以调用MBean的方法,以执行相应的操作。
  5. 获取MBean信息:通过MBeanServer提供的访问接口,可以获取MBean的各种信息,如属性和操作等。

这些方法使得JMX能够实现远程管理、配置管理、性能监控等功能。通过JMX,可以非常容易地使应用程序具有被管理的伸缩性,每个JMX Agent服务可以很容易地放入到Agent中,每个JMX的实现都提供几个核心的Agent服务,也可以自己编写服务,服务可以很容易的部署,取消部署。


JMX中的MBean的注册

要注册一个MBean,需要按照以下步骤进行操作:

  1. 创建一个MBean实例,并确定它的类型。MBean的类型通常由其实现的接口或类决定。
  2. 创建一个ObjectName对象,该对象表示MBean的唯一标识符。ObjectName的名称应该符合命名规范,以便正确地标识MBean。
  3. 使用MBeanServer提供的registerMBean方法,将MBean实例注册到MBeanServer中。该方法将MBean实例和ObjectName对象作为参数,并将它们关联起来。
  4. 注册完成后,MBean就被添加到了MBeanServer中,可以被其他管理应用程序访问和操作。

需要注意的是,如果MBean已经初始化,则应该使用第二个registerMBean方法来注册它。该方法接受三个参数:MBean实例、ObjectName对象和NotificationEmitter对象。NotificationEmitter对象用于处理通知事件。

另外,如果要注销一个已经注册的MBean,可以使用MBeanServer提供的unregisterMBean方法,将ObjectName对象作为参数传递给它即可。

注册一个MBean需要创建实例、指定唯一标识符并使用MBeanServer提供的注册方法进行注册。


JMX拓展

SNMP网络管理协议

SNMP(Simple Network Management Protocol)是一种用于网络管理的协议,它是专门设计用于在IP网络管理网络节点(如服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,属于应用层协议。SNMP使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。

SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。通过SNMP,管理员可以向设备获取数据,对设备执行设置操作,设备也可以在重要状况改变时向管理员通报事件的发生。SNMP还提供了读写操作,使管理员能够实现对设备的全面管理。

SNMP的基本思想是为不同种类的设备、不同厂家生产的设备、不同型号的设备定义为一个统一的接口和协议,使得管理员可以使用统一的外观面对这些需要管理的网络设备进行管理。通过SNMP,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。

SNMP被广泛用于TCP/IP网络管理,提供了一种通过运行网络管理软件的中心计算机即NMS(Network Management Station,网络管理站点)来管理网络单元的方法。SNMP为网络管理系统提供了底层框架,使网络管理员可以对网络设备进行实时监控、配置和故障诊断等操作。

SNMP还有着简单易用的优点,使得在网络管理领域中得到了广泛的应用。它支持分布式网络管理结构,能够跨越异构操作系统和网络环境,提供统一的网络设备管理解决方案。此外,SNMP还具有良好的可扩展性和灵活性,能够适应不断变化和发展的网络环境。

SNMP是一种重要的网络管理协议,它为网络管理员提供了一种高效、可靠的方式来管理和监控网络设备。通过使用SNMP,管理员可以更好地了解网络的运行状况,及时发现并解决网络问题,提高网络的稳定性和性能。

TMN网络管理协议

TMN(Telecom Management Network)是一个提供管理业务的网络,它是国际电信联盟(ITU)于20世纪80年代后期引入的概念。TMN的目标是提供一个有组织的网络结构,以取得各种类型的操作系统(OSs)之间,操作系统与电信设备之间的互连。它采用商定的具有标准协议和信息的接口进行管理信息交换的体系结构,通过这些接口可以管理信息。

TMN定义了4个管理层次:网元管理层网络管理层业务管理层事务管理层。网元管理层负责对每一个网元行使管理的职能,可以以个别网元的方式,也可以以一组网元的方式进行管理。网络管理层负责对整个网络进行管理,通过对网络和业务管理层提出的网络需求的协调,提供管理网络的功能。业务管理层主要处理业务的合同事项,如业务的提供、终止、计费、服务质量、故障报告、用户的申告处理等。商务管理层是最高的逻辑功能层,对整个网络的运营决策、投资提供支持功能。

TMN的管理标准包括管理业务和管理功能、管理接口标准化的方法、标准的管理接口技术,包括协议栈、管理协议、管理信息、对通信功能及接口进行测试的方法及工具、网络管理的体系结构等。

TMN的应用领域非常广泛,涉及电信网及电信业务管理的许多方面,从业务预测到网络规划;从电信工程,系统安装到运行维护,网络组织;从业务控制和质量保证到电信企业的事物管理,都是它的应用范围。

TMN是一种专门针对电信网络设计的网络管理协议,它提供了一个有组织的网络结构,使得各种类型的操作系统之间、操作系统与电信设备之间能够实现互连和管理信息交换。通过TMN的应用,可以实现对电信网络的全面管理和监控,提高网络的稳定性和性能。

CIM网络管理协议

CIM(Common Information Model)是一种网络管理协议,它以面向对象的方式对系统管理的不同问题域进行描述,使得不同管理系统和应用之间能够共享和交换管理信息。CIM是由DMTF(Desktop Management Task Force)提出的通用信息管理模型,它以面向对象的方式对系统管理的不同问题域进行描述,使得不同管理系统和应用之间能够共享和交换管理信息。

CIM采用面向对象的方法,将被管对象统一组织,并提供一系列接口给管理程序应用。它描述了管理的概念模型,使得用户可以通过网络在彼此的系统之间交换语义丰富的管理信息。CIM为WBEM(Web-Based Enterprise Management)的核心定义了一种分层次的、面向对象的信息模型和架构,该架构可以为企业网络管理整个范围内的系统、网络、应用程序和服务的信息管理提供公共定义,而且允许用户扩充。

CIM模型采用C++编写,因此可以将面向对象的CIM管理对象转变成程序模块,方便实现网络管理功能。在对网络设备的管理中,标准CIM模型的应用越来越多,从设备监控、安全监控、存储管理等各个方面都有相应的产品应用。

Activiti

Activiti是一个基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。Activiti是一个轻量级、可嵌入的BPM引擎,设计适用于可扩展的云架构。它提供宽松的Apache许可2.0,以便这个项目可以广泛被使用,同时促进Activiti BPM引擎和BPMN 2.0的匹配。

Activiti流程引擎重点关注在系统开发的易用性和轻量性上。每一项BPM业务功能Activiti流程引擎都以服务的形式提供给开发人员。通过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的BPM应用程序。

Activiti是一个针对企业用户、开发人员、系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速、稳定的BPMN e 2.0流程引擎。它在ApacheV2许可下发布,可以运行在任何类型的Java程序中,例如服务器、集群、云服务等。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

拍照就能建模!手机就能访问! 这个技术正成为宣传新手段!

随着人工智能技术的不断进步,现在可以通过拍摄照片结合AI技术来实现3D模型生成。这种技术的出现, 不仅能更加方便快捷地创建3D模型,而且还能真实复原现实中物件的质感、纹理等。同时,极大地降低了各行业对3D技术的应用门槛&#x…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率(C#) Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在NEOAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过NEOAPI SDK设置相机固…

Scrapy使用案例——爬取豆瓣Top 250电影数据

文章目录 什么是Scrapy?创建Scrapy项目编写Scrapy Spider创建Item类配置数据存储运行Scrapy爬虫处理常见问题结论Python技术资源分享1、Python所有方向的学习路线2、学习软件3、入门学习视频4、实战案例5、清华编程大佬出品《漫画看学Python》6、Python副业兼职与全…

用通俗易懂的方式讲解大模型:使用 FastChat 部署 LLM 的体验太爽了

之前介绍了Langchain-Chatchat 项目的部署,该项目底层改用了 FastChat 来提供 LLM(大语言模型)的 API 服务。 出于好奇又研究了一下 FastChat,发现它的功能很强大,可以用来部署市面上大部分的 LLM 模型,可以将 LLM 部署为带有标准…

Sensor Demosaic IP 手册PG286笔记

《 UG1449 Multimedia User Guide》中包含了大量的多媒体IP简介。 本IP 用于对bayer RGB(每个pixel只有单个R/G/B)做去马赛克处理,恢复成每个pixel点都有完整的RGB值。通过axi接口配置IP内部erg。 1、算法手册中的描述 提到了几种插值算法&…

IPD-PDP产品开发流程-PDT产品开发计划Charter文档模板(word)3

今天继续为家分享PDT的产品开发计划Charter模板的内容。 Charter任务书模板内容7:人力资源和技能需求 在这一部分,列出项目在不同阶段所需要的不同人力资源需求、数量、能力要求,以及对于一些特殊人力资源的需求。 7.1不同阶段的人力资源汇…

QT上位机开发(乘法计算小软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面一篇文章,我们学习了怎么创建qt的第一个工程,怎么用designer给qt修改界面。虽然我们到目前为止,还没有编写…

雪花旅游网的前端html模板推荐

一、需求获取 该网站是一个社交网络平台,也是一个提供旅行攻略、游记、景点介绍、交通信息等旅行相关内容的网站。它为用户提供了丰富的旅行信息,包括国内外的旅游目的地、景点推荐、旅行攻略、游记分享等。用户可以在该网站上查找各地的旅游信息&#…

静物摄影在UE5里运用几点记要

被摄体,相机与光源的关系,要增强立体感,摄像机与光源的位置关系要错开;b的立体感要更强 漫反射与点光源,UE5太阳光属于漫反射,整体比较柔和,但是阴影处比较黑;摄影棚会用反光板来增亮…

使用LOTR合并检索提高RAG性能

RAG结合了两个关键元素:检索和生成。它首先使用语义搜索等高级技术来浏览大量数据,包括文本、图像、音频和视频。RAG的本质在于它能够检索相关信息,然后作为下一阶段的基础。生成组件利用大型语言模型的能力,解释这些数据块,制作连…

三个故事,谈谈小米汽车技术发布会

都说新年新气象,随着年末消费旺季到来,汽车市场越来越热闹了。 继蔚来12月23日公布旗舰车型ET9,华为26日发布问界M9,小米汽车首款量产车型SU7终于正式亮相。 12月28日,在小米汽车技术发布会上,小米创办人…

AIGC与计算机技术:人工智能生成内容的深度探索

AIGC与计算机技术:人工智能生成内容的深度探索 摘要:随着人工智能技术的快速发展,AIGC(人工智能生成内容)成为了计算机领域的前沿话题。本文将详细探讨AIGC的基本原理、技术应用和未来发展趋势,以及它对计…

【AIGC表情prompt】提示词练习技巧

表情类提示词练习技巧 医疗机器人,男人笑脸景深,数据,座标,12k,c4d渲染,高分辨率,,暖色调,高清对比 医疗机器人,男人微笑,景深,数据,座标&#xf…

nodejs+vue+微信小程序+python+PHP的药品销售管理系统的设计与实现-计算机毕业设计推荐

然后分析系统需要实现的功能并进行设计。梳理业务流程,并根据功能设计数据库,最后通过编码实现,药店药品出库入库管理:登记药店药品销售情况,记录药店药品出入库管理。能更好的掌握药品的一个销售情况,利于…

Python新手教程 —— Hello, World!

文章目录 Hello, World!作者自述关于本系列什么是编程语言什么是Python安装Python运行Python3解释器IDLE编写代码文件 本文复习Python技术资源分享1、Python所有方向的学习路线2、学习软件3、入门学习视频4、实战案例5、清华编程大佬出品《漫画看学Python》6、Python副业兼职与…

Java集合/泛型篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、ArrayList和linkedList的区别二、HashMap和HashTable的区别三、Collection包结构,与Collections的区别四、泛型常用特点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

EMQX开启MongoDB接入认证与订阅发布鉴权

背景 关于物联网平台设计一个最佳实践是:对接入平台的设备进行认证,并且对设备可以发布和订阅的主题进行权限控制。 MQTT Broker 开启对接入设备的认证与订阅发布鉴权的意义在于增强系统的安全性。通过认证,可以确保只有经过授权的设备可以连…

【IEEE解刊】IF4.4实力强劲,国人占比第一,好投吗?(附中科院高分区快刊)

计算机类 • 好刊解读 今天小编带来IEEE旗下计算机领域高分好刊,如您有投稿需求,可作为重点关注!后文有相关领域真实发表案例,供您投稿参考~ 01 期刊简介 IEEE Systems Journal ✅出版社:IEEE ✅ISSN:1…

【Bootstrap学习 day4】

Bootstrap5 列表组 使用Bootstrap创建列表 可以创建三种不类型的HTML列表: 无序列表—顺序无关紧要的项目列表。无序列表中的列表标有项目符号,例如。、等ul>li有序列表—顺序确实很重要的项目列表。有序列表中的列表项用数字标记,例如1、…

docker重量级容器预警监控系统CIG

文章目录 一、介绍CIG二、CIG,compose部署2.1 docker-compose运行CIG2.2 grafana配置1.配置数据源2.选择influxdb数据源3.配置数据库的连接信息4.create dashboard5.配置数据源6.大功告成 一、介绍CIG C:CAdvisor,监控收集,默认存储最近2分钟…