阿里出品《亿级高并发系统手册》,看完我彻底懂了!

阿里高工珍藏版“亿级高并发系统设计手册(2023版)”面面俱到,太全了! 当然不同量级的系统也会有不同的问题,毕竟谁都不是淘宝,对吧,同样的,针对不同的需求以及业务场景,也就会有对架构设计的不同需求。在面对那些上亿用户,千万QPS,百万TPS,以及每天上PB级大数据量处理系统的时候,不再胆怯,不再心虚,开启涨薪升级之旅!阿里作为国内互联网行业的老大哥,也正是考虑到这一点,不是所有人都能投入那么多的资金,所以对于系统优化部分,也是不遗余力。对,就是这句好卡了,你不知道在你适应的应用背后,是程序员朋友们付出的多少努力。10万QPS下如何实现毫秒级的服务调用?如何让系统易于扩展呢? 阅读详情

阿里二面:面对 10 亿级高并发,系统如何支撑?

最近有同学给我留言,有晋升的、跳槽的,他们在考核或面试上,都不约而同地提到了「高并发架构设计」。有个同学说他去阿里面试前端岗位,既然被问了高并发……

确实,从普通程序员到架构师,光有编程能力和技术深度是不够的,重要的是从编程思维升级到架构思维,首要攻克的就是“高并发架构设计”,尤其在如今的流量趋势下,高并发可以说是家常便饭了,这也是为什么它成了大厂的高频面试题。

解决

说实话,大部分开发人员做的系统并发量都比较小,尤其是很多从0到1做起来的新项目。

那么,我们平常如何接触高并发技术呢?

其实最经典高并发项目是秒杀系统,大量的用户在极短的时间内购买少量的商品。比如:小米手机的秒杀功能,刚开始小米的网站经常挂,后面经过不断优化,不断迭代升级,变成了现在的样子

最近无意间获得一份BAT大厂大佬写的并发笔记,一下子打通了我的任督二脉,越来越觉得并发没有想象中那么难了。下面就给大家展示一下这份笔记。

实战教程共分为基础篇+数据库篇+缓存篇+消息队列篇+分布式服务篇+维护篇+实战篇,干货满满

基础篇

​

​

​

数据库篇

​

​

缓存篇

​

​

消息队列篇

​

​

​

分布式服务篇

​

​

​

维护篇

​

​

​

实战篇

​

​

​

这份笔记在一定程度上帮助很多小伙伴解决了一些感到头疼的问题。希望这篇文章对您有所帮助,或者有所启发。

加油吧,屠龙的少年,希望你有恒心和毅力,不是叶公好龙。我在前方等你。

阿里P9纯手打亿级高并发系统设计手册 淘宝双11,618的京东节,滴滴打车高峰如何抗住亿级的并发量? 这一份阿里P9纯手打的高并发系统设计手册帮你解决! 这份手册分为基础篇、数据库篇、缓存篇、消息队列篇、分布式服务篇、维护篇、实战篇。 立即下载

相关推荐

阿里P9纯手打亿级高并发系统设计手册,走进阿里的架构世界

淘宝双11,618的京东节,滴滴打车高峰如何抗住亿级的并发量? 这一份阿里P9纯手打的高并发系统设计手册帮你解决! 这份手册分为基础篇、数据库篇、缓存篇、消息队列篇、分布式服务篇、维护篇、实战篇。

GitHub上这份阿里的Java高并发核心手册,即使再过20年依然“NB”

高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。今天给大家分享一份由一位阿里大牛亲自操刀写出来的一份:Java高并发核心编程手册,号称即使再过20年这份资料依然不会被淘汰!

m0_73311735的博客 107

阿里P9纯手打亿级高并发系统设计手册1.pdf

阿里P9纯手打亿级高并发系统设计手册1

泪目了!Alibaba开源内网“M9”级别高并发编程手册(全彩版)

开发正确的程序是比较难的,开发正确的高并发多线程应用则更是难上加难。”我已经记不清这句话出自何处,但是我完全认同这句话所表达的观点。随着近几年云原生、容器化、分布式计算的逐渐发展和普及,以及微服务架构的演进与兴起,Java高并发编程在设计与编程中的地位越来越重要。Java高并发编程已经成为架构师、资深编程人员进行分布式协作设计、服务设计、模块开发所必需的基本功,也是理解、使用、优化Web容器、JEE容器、云原生基础设施组件所不可或缺的基本技能。

tangjieqing的博客 372

阿里巴巴-AI Agent工程师面试题精选:10道高频考题+答案解析(附PDF)

阿里巴巴AIAgent技术面试要点摘要(149字) 阿里巴巴在AIAgent领域布局完整,面试重点考察系统架构、幻觉治理、成本优化等核心能力。候选人需掌握分层架构设计、多Agent协作死锁处理、Token成本优化策略等关键技术。面试强调工程落地能力,包括工具调用容错、记忆系统设计、安全防护等实践要点。评估体系需覆盖效果、效率、成本多维度指标。未来趋势关注垂直领域专业化、多模态融合等方向。建议准备实际项目案例,突出技术深度与业务价值的结合,展现系统思维和工程能力。

ZHHHHH15的博客 613

从BAM到bigWig:用UCSC工具链完成测序数据可视化的完整流程

本文详细介绍了从BAM文件到bigWig格式的基因组数据可视化完整流程,涵盖UCSC工具链配置、文件格式转换、参数优化及常见问题解决方案。通过实战指南帮助研究人员高效完成测序数据可视化,特别适合ChIP-seq和RNA-seq数据分析。

weixin_29309213的博客 706

阿里封神之作,500页高并发手册(基础+实战)通俗易懂

高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。今天分享我的秘密武器 多达500页的并发笔记:可以从基础,数据库,缓存,消息队列,分布式服务,维护和实战,七个大点来概括。由于内容过多,文章篇幅受限,内容以截图展示,有需要的小伙伴可以点击文末下方传送门,即可获得免费领取方式!

jjc4261的博客 151

实测对比:DECIMER、Img2Mol、MolScribe,哪个化学结构识别工具更靠谱?

化学结构识别(CSR)工具的核心任务是将分子结构图像转换为SMILES(Simplified Molecular Input Line Entry System)表示。这一过程需要克服图像质量差异、绘制风格变化以及特殊基团识别等挑战。三款工具采用不同的技术路线:DECIMER:基于EfficientNetV2+Transformer架构,优势在于处理标准期刊文献中的分子图示Img2Mol。

weixin_32576389的博客 342

强无敌!10年阿里工作经验总结出这份亿级高并发系统设计手册,真的太强了!

高并发处理和设计是每一名想进大厂的程序员必备知识,小编分享给大家希望给大家能在技术上得到突破,从而拿到自己心仪的office!文中资料已整理打包存放网盘,有需要的朋友可以点击下方的名片自取!

m0_73311735的博客 480

第4章 部署负载均衡 Keepalived + HAProxy

本章在所有 Master 节点部署 Keepalived + HAProxy,为 kube-apiserver 提供高可用入口。Keepalived 实现 VIP(192.168.3.59)漂移,HAProxy 轮询转发请求至三个 Master 的 6443 端口(监听 6444 避免冲突)。健康检查脚本连续 5 次失败则停止 Keepalived,触发 VIP 自动切换。本章还包含配置详解、日常运维和问题排查。

幸福街--linux技术分享 120

基于STM32F1XX 、HAL库的LTR-303ALS-01 环境光传感器驱动应用C语言程序设计

printf("制造商ID: 0x%02X\r\n", LTR303_ReadManufacID());printf("器件ID: 0x%02X\r\n", LTR303_ReadPartID());LTR-303ALS-01是一款数字环境光传感器(ALS),由Lite-On公司生产。printf("LTR-303ALS初始化失败!printf("LTR-303ALS初始化成功!printf("数据无效\r\n");* @param mode: 0-待机, 1-激活。

PP_Cottage的博客 1032

阿里 P9 大牛徒手编写的这份十亿级并发手册,教你彻底玩懂高并发

我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才 智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。简单举个例子来说,淘宝双十一大抢购,全球那么多用户在同一时间下单,多的不说这流量级别都涉及到全球了,但是淘宝并没有出现系统崩掉的情况,这就是高并发存在的作用了。各种请求高度复杂,不会各种报错各种卡顿,保证用户体验良好;在高并发用户访问、亿级洪峰流量的情况下,保障系统的稳定性;

Java架构师之路的博客 340

【蓝桥杯单片机组第八届省赛】— 基于单片机的电子钟程序设计与调试

1、初赛试题 1.1 基本要求 (1)使用 CT107D 单片机竞赛板, 完成“电子钟” 功能的程序设计与调试; (2)设计与调试过程中,可参考组委会提供的“资源数据包”; (3)Keil 工程文件以准考证号命名, 完成设计后, 提交完整、 可编译的 Keil工程文件到服务器。 1.2 硬件框图 1.3功能描述 1.3.1 初始化 (1)关闭蜂鸣器、继电器等无关外...

Fanjufei的博客 3661

阿里出品《亿级高并发系统手册》,看完我彻底懂了!

最近有同学给我留言,有晋升的、跳槽的,他们在考核或面试上,都不约而同地提到了「高并发架构设计」。有个同学说他去阿里面试前端岗位,既然被问了高并发……确实,从普通程序员到架构师,光有编程能力和技术深度是不够的,重要的是从编程思维升级到架构思维,首要攻克的就是“高并发架构设计”,尤其在如今的流量趋势下,高并发可以说是家常便饭了,这也是为什么它成了大厂的高频面试题。

m0_71777195的博客 818

孔雀优化算法(POA)详解:从孔雀智能到优化引擎

孔雀优化算法(POA)是一种新型元启发式优化算法,灵感来源于孔雀的社会行为和智能狩猎策略。该算法将孔雀群体分为雄孔雀、雌孔雀和幼孔雀三个阶层,分别对应全局探索、平衡搜索和局部开发三种搜索策略。通过模拟孔雀的求偶展示、自适应接近和Levy飞行等行为,POA实现了探索与开发的动态平衡。算法采用角色分配机制和位置更新方程,结合参数自适应调整,展现出优于传统算法的全局搜索能力和收敛性能。POA已成功应用于多个优化问题,其生物启发机制为解决复杂优化问题提供了新思路。

qq_42212808的博客 135

深度学习工具包 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")

阿里高工2025珍藏版:亿级高并发系统设计全面指南,太全了!

俗话说:罗马不是一天建成的,系统的设计当然也是如此。

mxt51220的博客 969

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

阿里高工珍藏版亿级高并发系统手册(2024版 )内容完备,涵盖全面。

俗话说,罗马不是一天建成的,系统的设计当然也是如此。

2301_77690238的博客 679

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

收藏!阿里P9耗时28天,总结历年亿级活动高并发系统设计手册

高并发 俗话说:罗马不是一天建成的,系统的设计当然也是如此。 从原来谁都不看好的淘宝到现在的电商巨头,展现的不仅仅是一家互联网巨头的兴起,也是国内互联网行业迎来井喷式发展的历程,网络信号从2G发展到现在的5G通信,中国网民数量更是不用说,你说谁现在手机上没有个淘宝、京东、美团等便民软件,而在生活便利的同时,人民也越来越注重生活质量,硬件设备从老年机到在线足以媲美电脑的掌上设备(比方说我一直想买的华为watch等一系列电子产品),在硬件升级的过程中,相信大家都听过身边有这样的一个声音:****,好卡啊,对

如果频繁就私信一下呢 385

阿里高工珍藏版“亿级高并发系统设计手册(限时开源)”面面俱到,太全了!

当然不同量级的系统也会有不同的问题,毕竟谁都不是淘宝,对吧,同样的,针对不同的需求以及业务场景,也就会有对架构设计的不同需求。如果没有这些的支持,想一下,双十一的那一刻,你会不会气愤到摔手机!在面对那些上亿用户,千万QPS,百万TPS,以及每天上PB级大数据量处理系统的时候,不再胆怯,不再心虚,开启涨薪升级之旅!阿里作为国内互联网行业的老大哥,也正是考虑到这一点,不是所有人都能投入那么多的资金,所以对于系统优化部分,也是不遗余力。(基础篇、数据库篇、缓存篇、消息队列篇、分布式服务篇、维护篇、实战篇)

csdn1234561231的博客 473

阿里内部“亿级高并发系统架构”全彩手册开源

金九银十招聘季马上快来了,不知道大家有没有发现一件事,现在不管是互联网大厂,还是初创公司,那些面试官总喜欢拿高并发和你说事。即使,他们公司的业务量只有几万的QPS,但是就想拿这个来考考你,看看你的底子扎不扎实。在现今IT界特别是程序员,如果你对于高并发都没有接触和了解过未免也有些太孤陋寡闻,而作为一个优秀的程序员,高并发系统架构设计师必须要掌握的。很简单,现在大多数互联网公司都会用到高并发系统架构设计。

m0_50180963的博客 388

限时开源!阿里京东架构师出品亿级高并发系统设计手册

12306,想必大家都知道,尤其是春节期间,全国上下几亿人在这段时间都在抢票。“12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了!倘若你能够精通高并发系统设计,在这个中国互联网企业高并发系统已经逐渐成为了刚需的形势下,你认为你会惧怕所谓的互联网寒冬吗?

wdj_yyds的博客 259

双十一来袭,阿里技术官甩出百亿级并发系统设计高阶手册,原来这才叫高并发!

前言 最近很多粉丝反馈说,高并发学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何设计高并发系统了!那么究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型系统的架构,结合一份阿里内部秘传的高并发系统架构设计专题实战手册,大家一起学以致用。 由于篇幅限制,只能以截图主要内容展示出来了有需要的朋友我把免费获取方式放在了文末! 基础篇 .

Java圈全能架构师的博客 1558
上一篇: 火爆全网的阿里内部Java核心知识点整理,吃透成功跳槽涨薪20k+
下一篇: github上标星39.8k,这份Java面试八股文让329人成功进入大厂
跟着我学Java
博客等级 码龄6年 660粉丝 1341原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值