ActiveMQ的安装

Linux 安装ActiveMQ 图解教程 1.前提: activemq基于java的,所以得先安装jdk;见Linux 安装JDK 图解教程 重点重点重点:Activemq的版本一定要和JDK的版本匹配。 2.下载activemq 下载地址:http://activemq.apache.org/download-archives.html 我下载的是Activemq 5.12.0 Relaese 版本 JDK我安装的是1.7版本 https://www.oracle.com/technetwork/java/javase/downloads/ja 阅读详情

ActiveMQ的安装

1、

下载:wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.tar.gz

2、解压

tar -xf apache-activemq-5.9.0-bin.tar.gz

3、

cd apache-activemq-5.9.0/bin

4、启动

activemq start

 

三种运行方式:
(1)普通启动 ./activemq start
(2)启动并指定日志文件 ./activemq start >tmp/smlog
(3)后台启动方式nohup ./activemq start >/tmp/smlog
前两种方式下在命令行窗口关闭时或者ctrl+c时导致进程退出,采用后台启动方式则可以避免这种情况

 

后台管理: http://ip:8161/admin/

 账户密码默认: admin 

 

补充:

Number Of Consumers  消费者 这个是消费者端的消费者数量 
Number Of Pending Messages 等待消费的消息 这个是当前未出队列的数量。可以理解为总接收数-总出队列数 
Messages Enqueued 进入队列的消息  进入队列的总数量,包括出队列的。 这个数量只增不减 
Messages Dequeued 出了队列的消息  可以理解为是消费这消费掉的数量 
这个要分两种情况理解 
在queues里它和进入队列的总数量相等(因为一个消息只会被成功消费一次),如果暂时不等是因为消费者还没来得及消费。 
在 topics里 它因为多消费者从而导致数量会比入队列数高。 
简单的理解上面的意思就是 
当有一个消息进入这个队列时,等待消费的消息是1,进入队列的消息是1。 
当消息消费后,等待消费的消息是0,进入队列的消息是1,出队列的消息是1. 
在来一条消息时,等待消费的消息是1,进入队列的消息就是2. 


没有消费者时  Pending Messages   和 入队列数量一样 
有消费者消费的时候 Pedding会减少 出队列会增加 
到最后 就是 入队列和出队列的数量一样多 
以此类推,进入队列的消息和出队列的消息是池子,等待消费的消息是水流。 

 

 

 

4.检查已经启动
 ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令以便检验是否已经成功启动ActiveMQ服务。
打开端口:nc -lp 61616 &
查看哪些端口被打开 netstat -anp
查看61616端口是否打开: netstat -an | grep 61616
检查是否已经启动:
(1).查看控制台输出或者日志文件 
(2).直接访问activemq的管理页面:http://localhost:8161/admin/

5.关闭
如果开启方式是使用(1)或(2),则直接ctrl+c或者关闭对应的终端即可 
如果开启方式是(3),则稍微麻烦一点: 
先查找到activemq对应的进程: 
ps -ef | grep activemq 
然后把对应的进程杀掉,假设找到的进程编号为 168168 

kill 168168 

 

posted @ 2018-11-09 19:06 toov5 阅读( ...) 评论( ...) 编辑 收藏
Mac安装ActiveMQ 【方案一】 1、通过brew安装 brew install activemq 安装完成后,可以通过如下命令查看是否安装成功,版本是什么。 activemq --version 启动activemq activemq start 【方案二】 1.ActiveMQ下载 下载地址http://activemq.apache.org/activemq-5154-release.html mac选择下... 阅读详情

相关推荐

汇编语言(第4版)王爽 课程设计2 详细实现(一、虚拟模式DOS运行篇)

由于虚拟模式的限制,我们编写的许多逻辑暂时不能被检验,而因为《汇编语言》编写时间较早,其所依赖的运行环境如今只能够依靠虚拟机来搭建。比如实模式DOS,搭建步骤比较繁琐,因此我将其它的部分放在下一篇文章中进行讲解。事实上,我们实现的程序属于《汇编语言》课程设计2中任务程序部分,其中的完整任务还涉及到将该任务程序安装到软盘等操作,这些也都需要在实模式下才能运行,所以统一放到下一篇文章进行实现。

m0_73327328的博客 2824

ActiveMQ介绍及linux下安装ActiveMQ

ActiveMQ介绍概述ActiveMQ是软件基金下的一个开源软件,它遵循JMS1.1规范(Java Message Service),是消息队列服务,是面向消息中间件(MOM)的最终实现,它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。架构在ActiveMQ中,生产者(Producer)发送消息到Queue或者Topic中,消费者(consumer)通过ActiveMQ支持的传输协议连接到ActiveMQ接受消息并做处理。生产者(Producer):消息的生产者。

weixin_39941298的博客 2155

SAP物料分类账实战:从配置到月结的关键步骤(基于S/4HANA1909)

本文详细解析了在SAP S/4HANA 1909系统中,物料分类账从基础配置到月结操作的全流程。作为成本核算的核心,物料分类账通过多级价格确定实现实际成本核算,关键步骤包括激活物料分类账、配置自动过账科目(OBYC)、运行CKMLCP进行差异分摊与结算。文章旨在帮助财务与成本会计人员确保成本差异的准确归集与分摊,顺利完成月结。

weixin_28314575的博客 195

activemq安装

activemq安装 原文: https://www.cnblogs.com/zhming26/p/6093791.html下载: http://activemq.apache.org/activemq-5154-release.html 安装jdk1.8 tar -xf jdk-8u112-linux-x64.tar.gz mv jdk1.8.0_112 /opt/java...

aoying5106的博客 149

视觉SLAM与激光SLAM简单对比分析

本文旨在梳理目前较为前沿的SLAM技术,包括激光和视觉,主要从精度和实时性两个方面对算法进系评价。对于激光SLAM了解不深,后期需要补充相关算法的核心思想与算法框架。有问题请大佬们随时留言,我再改正。

超爱吃小蛋糕的66的博客 3854

薄膜比拟、开口截面扭转承载力以及风电混塔水平缝张开状态下抗扭承载力推导

风电混塔水平缝张开状态下的抗扭承载力推导,从弹性力学说起

George的博客 873

ActiveMQ安装

文章目录写在前面ActiveMQ安装下载环境windows下安装ActiveMQLinux系统安装ActiveMQ 写在前面 学习一个新东西的最好的方式是阅读官方文档!!!! ActiveMQ的官方文档地址:https://activemq.apache.org/components/classic/documentation 首先从Getting Started看起:https://activemq.apache.org/getting-started ActiveMQ安装 下载 下载地址:http://

1663

Windows加域迁移避坑指南:Profwiz工具实战中的5个常见问题与解决方案

本文详细解析了使用Profwiz工具进行Windows加域迁移时的5个常见问题及解决方案,包括临时配置文件生成、密码策略冲突、SID冲突等。通过实战案例和优化技巧,帮助IT运维团队高效完成账户配置文件迁移,确保Active Directory环境下的数据完整性和权限无缝衔接。

q9r0s的博客 518

ActiveMQ下载与安装

ActiveMQ下载与安装 11.下载 官方网站 http://activemq.apache.org/ 2.安装 3.启动 4.重启 5.关闭

Running_Tiger的博客 3万+

AMDGPU驱动中Doorbell与Event机制简要对比

摘要:AMDGpu驱动中,Doorbell和Event是两种异步通知机制。Doorbell是CPU→GPU的单向硬件通知,通过写MMIO寄存器触发GPU拉取任务,延迟低且无需内核介入,适用于队列任务提交。Event是GPU→CPU的双向同步通知,基于中断和内核事件对象,支持阻塞等待,用于任务完成或异常上报。核心区别在于方向、用途和实现方式:Doorbell侧重任务触发,Event侧重状态反馈。两者配合实现高效的任务下发与完成通知流程。

图形/计算GPU的驱动与虚拟化技术分享园地 1859

【异常】OpenClaw调用火山引擎大模型提示词 Agent failed before reply: All models failed (6): volcengine/kimi-k2-5-26

摘要: 本文针对OpenClaw调用火山引擎大模型服务时触发的全量熔断报错(All models failed)提供全链路排查方案。报错核心为服务熔断(cooldown)和模型不可用(model_not_found),主要源于账号权限、API凭证失效或模型标识错误。解决方案按优先级分步实施:1)校验账号状态与AK/SK有效性;2)核对官方模型标识;3)重启服务解除熔断;4)修复配置文件;5)通过原生API测试定位网络或服务端问题。日志分析(openclaw logs)可快速识别HTTP状态码(如401/40

奶爸的编程之路,也就一周冷个三天 837

ActiveMQ之一 --- 安装ActiveMQ

一、安装 1. 从activemq.apache.org下载最新版本的ActiveMQ 二进制压缩文件apache-activemq-x.x.x-bin.zip(其中x.x.x是ActiveMQ的版本号码) 2. 将文件解压至任一地方即可,记作${ActiveMQ}   二、启动 1. 运行文件夹${ActiveMQ}/bin/activemq.bat。即会输入类似的如下信息: ...

点点滴滴的足迹,幻化成漫天的云彩 228

【Burp入门第三十一篇】Burp+SwitchyOmega实现本地localhost代理

在部分情况下(如本地靶场),当我们需要在Burp中查看、修改本地流量包的时候,按以下三个配置是不能得到本地流量包的。

等风来 3214

Java ActiveMQ:(四)ActiveMQ 安装

ActiveMQ 安装1.下载资源1.1 版本说明2.上传至 Linux 服务器3.解压安装文件4.检查权限5.复制应用至本地目录6.启动 ActiveMQ7.测试 ActiveMQ7.1 检查进程7.2 管理界面7.3 修改访问端口7.4 修改用户名和密码8.重启 ActiveMQ9.关闭 ActiveMQ10.配置文件 activemq.xml11.ActiveMQ 目录介绍 1.下载资源 ActiveMQ 官网 简单的英文相信大家是没有问题的,我就不放下载的详细步骤了哟 1.1 版本说明 Ac

地球村 658

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

windows安装activemq

安装 官网: https://activemq.apache.org/download-archives.html 选择一个版本进行下载,我这选择最新的一个版本。 选择windows 版 下载完成之后解压 下载后直接解压缩直接就能用(免安装)。 它的目录结构: bin/是服务启动相关的命令文件所在目录 data/是默认持久化文件所在目录 docs/里面放的是用户手册 conf/是配置文件所在目录,任何配置文件修改后,必须重启ActiveMQ,才能生效. 有几个配置文件需要提下,后面会用到: 1.ac

Iloveskr 5493

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Windows ActiveMQ安装

ActiveMQ下载安装,Java JDK下载安装。 ActiveMQ设置允许任意IP访问控制台设置。

樱花的博客 1135

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

linux查找activemq安装目录,Linux下activeMQ安装

1.进入系统根目录[root@localhost ~]# cd /2.新建一个以后放安装文件的目录softmkdir soft3.下载activeMQ [apache-activemq-5.13.1-bin.tar.gz]本人是通过windows下载,然后通过[SSH Secure Shell Client]把下载压缩包传到soft目录下4.创建一个放activeMQ的目录mkdir activ...

weixin_31201737的博客 1532

ActiveMq 安装

Linux版本为CentOS 7 64位 一、防火墙 1.1查看防火墙状态 systemctl status firewalld 看到active(running)就意味着防火墙打开了 1.2 关闭防火墙 systemctl stop firewalld 如果看到inactive(dead)就意味着防火墙关闭了 1.3最后总结一下: 查看防火墙的状态的命令为:system...

w13511069150的博客 1129

ActiveMQ(一)安装ActiveMQ

一、ActiveMQ简介 直接上官网,看最权威的解释 二、下载最新版ActiveMQ 由于我们需要在linux上安装ActiveMQ,所以需要下载中间的压缩包。 地址如下:http://www.apache.org/dyn/closer.cgi?filename=/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz&a...

mist蒙的博客 430

ubuntu 安装ActiveMQ

ActiveMQ CPP ActiveMQ CPP是用C++语言访问ActiveMQ的客户端开发库,也称cms(cpp message service),安装cms开发库需要先安装一些基础库。 (1)cppunit 打开http://activemq.apache.org/cms/building.html页面,这里介绍了cms build时用到的依赖库。 cppunit下载页面:https://sourceforge.net/projects/cppunit/files/cppunit/1.12.1

zhaoxueting12的博客 1142

Windows安装ActiveMQ

windows安装ActiveMQ: 官网:ActiveMQ 选择Windows版本的: 下载之后,解压zip文件,进入目录。 **启动ActiveMQ: 方式1** 路径:安装目录\apache-activemq-5.15.8\bin\win64 首先找到一个activemq.bat文件,可以直接右键“以管理员方式运行”(有时候不以管理员方式运行可能会报错。) 注意 端口号是8161。 当打开...

mulinsen77的博客 533

ActiveMQ介绍与安装

ActiveMQ介绍 什么是ActiveMQ ActiveMQ 是Apache软件基金会出品的一款流行且功能强大的开源消息中间件,作为JMS Provider实现了对JMS1.1和J2EE 1.4规范的全面支持。尽管JMS规范已存在较长时间,但在现代J2EE应用中仍占据重要地位。 主要特点: 支持多种编程语言和应用协议开发客户端: 语言:Java, C, C++, C#, Ruby, Per...

年轻就是资本的专栏 1082

ActiveMQ安装详解及入门

JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

MK_BAI的博客 3538

Mac 安装activemq

mac 下安装acitvemq 分为两种方式 1. 在官网下载安装包[Activemq官网] (http://activemq.apache.org/components/classic/download/) 由于mac升级10.15之后这种方式启动报错(我找了老半天没找见解决办法) 1. Homebrew 安装 brew install activemq 静静等待安装完成(中途下载缓慢可以切换...

weixin_41802051的博客 788

Win7环境下安装ActiveMQ

参考ActiveMQ官方文档:http://activemq.apache.org/getting-started.html

码农的世界 2389

Linux安装ActiveMQ

Linux安装ActiveMQ 记录Ubuntu18.04环境安装ActiveMQ过程,通过系统apt安装的方式是存在问题的。本文讲述通过压缩包方式安装,适用于Ubuntu、CentOS等Linux系统。 创建目录 切换到/usr目录下,创建activemq目录: cd /usr/ mkdir activemq 下载安装包 进入新创建的activemq目录: cd activemq/ 通过...

XUDC的程序人生 1633
上一篇: 关于JMS和MQ
下一篇: ActiveMQ之点对点使用
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值