设计模式学习笔记之学习背景

设计模式在JDK中的应用 (背景、UML结构、角色、职责) 设计模式在JDK中的应用课设完整报告,Word文档 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以对比; (b)举例并演示相关类的应用; (c)至少5种设计模式。 ============================================================== 设计模式在JDK中的应用课设完整报告,Word文档 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以对比; (b)举例并演示相关类的应用; (c)至少5种设计模式。 ============================================================== 立即下载
目前我在一家初创公司Android开发部供职,已经工作了八个多月了。之所以要开始学习设计模式,是因为代码写得太烂,连我自己都看不顺眼了。大学里面学过面向对象,但很可惜,在大学里没有好好努力,学到的东西都还给老师了。以前学的面向对象那些东西都差不多忘没了,工作需要,只好开始一点点捡起来了。
我现在入手的是《大话设计模式》,之前同学有看过这本书,据说讲得通俗易懂,就先拿这本书入门。而后再看看况天佑(我师父)推荐的《Head First - 设计模式》。目前《大话设计模式》已经看了差不多十几章了,但光看总是感觉学得不够踏实,故写几篇博客,记录下自己的学习轨迹。
学艺不精,博客之中错误或不准确的地方,还望批评指正。
                                                                                                          2016/04/08   于 北京
FINN vs GFED vs GFAS vs QFED:四大火灾排放清单实战对比(含Python数据处理代码) 本文针对GFED、FINN、GFAS、QFED四大主流火灾排放清单,提供了实战对比分析与Python数据处理代码。通过量化对比东南亚农业火点与亚马逊雨林大火两个典型场景,揭示了不同清单在时空分辨率、算法内核和应用场景上的核心差异,并给出了基于研究目标、区域和模型的清单选择决策框架,帮助研究人员为空气质量模拟或火灾影响评估挑选最合适的数据源。 阅读详情

相关推荐

Virbox Protector:全方位守护 Android 应用安全

在数字化浪潮中,Android 应用面临着诸多安全挑战,如破解、篡改、盗版、数据窃取和钓鱼欺诈等。为了应对这些复杂的安全问题,Virbox Protector 应运而生,为 Android 应用提供高强度的专业化安全保护,支持对 APK 和 AAB 文件的加固保护,并兼容 Google Play,助力应用顺利出海。

VBP_2025的博客 997

设计模式概述

设计模式概述

写代码的渣渣苏 338

arcgis导出自身相交数据

今天接到一个客户需求,一份面文件,里面有好多元素是两两相交甚至是三个相交的,现在要把这些重叠部分提取出来,并且把相交部分的原始要素的名称也保留在字段中,也就是说名称这个会有好多个名称字段,如果两个要素相交那就是前两个名称字段有值,后面的为空,如果是三个要素相交,那么输出的这个要素就是前三个名称字段有值,后面的为空,嗯,这里也不太确定会出现多少个名称字段,这个需要依照数据来定。 这是原始数据,...

miaowumi92的博客 6789

软件设计原则

1,设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克

cc_01230的博客 601

使用html和JavaScript实现一个简易的物业管理系统

码实现了一个简易的物业管理系统,主要使用了以下技术和功能: 1.主要技术 使用的技术: HTML: 用于构建网页的基本结构。 包括表单、表格、按钮等元素。 CSS: 用于美化网页的外观和布局。 设置字体、颜色、边距、对齐方式等样式。 JavaScript: 用于处理用户交互和动态更新页面内容。 实现了新增住户、查询住户、编辑住户、删除住户等功能。 处理表单提交事件,验证输入数据,并更新表格显示。 DOM操作: 使用 JavaScript 直接操作 HTML DOM 元素。 动态

weixin_41312759的博客 1778

Linux PE vs WinPE:为何麒麟系统修复需要专属工具?

本文探讨了Linux PE与WinPE在修复国产麒麟系统时的关键差异,强调了专属工具的必要性。通过分析文件系统兼容性、引导修复、硬件适配和安全合规等方面,揭示了通用PE工具的局限性,并提供了构建专属修复工具链的实用方案,确保系统维护的高效与安全。

weixin_29290863的博客 1059

设计模式之GoF23介绍

设计模式是对软件设计中普遍存在的问题的通用解决方案。它们提供了一种在特定上下文中解决问题的方法,是经过验证的、可复用的设计思想。设计模式不是代码或库,而是一种更高层次的抽象,它帮助开发者更好地组织和理解代码。通过设计模式可以帮助我们增强代码的可重用性、可扩充性、 可维护性、灵活性好。我们使用设计模式最终的目的是实现代码的高内聚和低耦合。

JAVA开发区的博客 1404

港口集装箱码头运营FlexSim仿真

列队4中的集装箱会根据不同类型的集装箱会放置在不同的堆场,因此根据前面对集装箱设置的标签Type的数值不同,设置不同的发送端口。集装箱到达列队3后,会有70%的集装箱到达堆场,30%的集装箱运出港口,因此在Queue列队3的Flow界面设置按照百分比发送端口,其中70%发送到端口1,即发送到列队4等待进入堆场,30%发送到端口2,即发送至出闸口。通过上述对比表格可以看出,当集卡数量在10的时候,岸桥和场桥的设备利用率达到了最高,当集卡数量为12的时候场桥1和场桥3的利用率有所下降,因此综合考虑。

m0_72514516的博客 1331

史上最详细的23中设计模式解析,一个不落,理论搭配简单案例,更好理解哦

一、软件设计模式的产生背景 “设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造(A Pattern Language: Towns Building Construction)中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1979 年他

刘跃辉的博客 9887

电流互感器的使用分析

有关电流互感器使用的注意事项,回头再看,耳目一新。

qq_46757048的博客 2万+

面向 OData V4 的 Fiori elements 为何强制使用 draft、它到底是什么、以及是否能关闭

本文深入解析了SAP Fiori elements中draft handling的核心机制与必要性。关键点包括:1)draft机制通过中间版本实现复杂编辑的安全恢复与并发控制;2)Fiori elements for OData V4强制要求draft-enabled服务支持事务编辑;3)非draft服务仅适用于只读场景;4)替代方案需承担完全自定义开发的成本。文章基于SAP官方文档,系统阐述了draft在事务型应用中的基础性作用,为架构决策提供了明确指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 268

初步了解设计模式

设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造(A Pattern Language: Towns Building Construction)中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。...

Zhanhxinjie的博客 253

RDkit入门

今天开始写RDkit的入门教程,每天学习和写一小点,相信一句话“不积跬步无以至千里,不积小流无以成江海”,所以就慢慢来,一点一滴积累叭,从最简单的开始喽希望自己每天都能保持写博客的好习惯,把自己的代码笔记就极在这里,RDkit一块啃了很久的骨头,今天终于要下定决心,好好总结一波了,希望保持这个更新的频率,每天都能有所学。............

博客而已 6684

设计模式的学习笔记

软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。

Gjw_java的博客 1606

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

设计模式学习笔记(一)

设计模式起初是建筑界为了总结房屋、公园等建筑经验提出的基本模式,后来软件设计者开始将代码设计经验总结成各种设计模式,供后人软件开发时反复使用。概念:设计模式本质是对面向对象设计原则的实际运用,是对类的封装性、继承性、多态性以及类或对象之间的关联关系和组合关系的充分理解。

qq_45845473的博客 470

WINCC7.3破解文件

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

jsp大学生学习笔记管理系统的设计与实现zf119

潘丽芳,张大龙,李慧.基于用户的协同过滤(UserCF)新闻推荐算法研究[J].山西师范大学学报(自然科学版),2018,32(04):26-30.DOI:10.16207/j.cnki.1009-4490.2018.04.006.王崟,陆莉莉.从SSM进阶到Spring Boot课程的教学内容设计[J].电脑知识与技术,2022,18(26):163-166.DOI:10.14004/j.cnki.ckt.2022.1689.定义网页的结构和内容,如段落、链接、图片等。

ck3026的博客 1431

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

设计模式学习笔记(一)(黑马程序员)

设计模式学习笔记(一)(黑马程序员) 1、设计模式概述 1.1 软件设计模式的产生背景 ​ "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 ​ 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 ​ 1990年软件工程界开始研讨设计模式的话题,后来

hexinqiong的博客 1174

Java设计模式圣经连载之(00)-前言

Java设计模式圣经连载 阎宏博士《Java与模式》读书笔记       作者:熔             岩日期:2006年12月       前  言     面向对象开发中程序员更重视代码的重用性和可维护性,设计模式使人们可以更加简单方便地重复使用成功的设计和体系结构。目前已有的模式有100多个,在此我将阎宏博士的《Java与模式》学习笔记与各位分享,让更多Java爱...

weixin_33695082的博客 121

设计模式学习笔记

软件设计模式来源于建筑领域的设计模式。

m0_58568271的博客 558

《游戏设计模式》学习笔记

** 《游戏设计模式》学习笔记 ** 原作中文版传送门:《游戏设计模式》 原书作者:Bob Nystrom 阅读背景:最近担任了主程(惭愧,整个项目组就我一个人,2333),在对游戏的框架并不是那么了解的情况下,赶鸭子上架上手撸了一波代码,然后发现随着 策(lao)划(ban) 需求 的疯狂 变动,工程底层渐渐变得有些吃力,这时候有位前(ji)辈(you)建议在下拜读本书,也许会有些帮助,于是在下...

qq_43268015的博客 903

《设计模式解析》学习笔记

 正在看设计模式解析,希望这本书能对我有帮助 花了2周看完了,以下是学习笔记: 第1章 面向对象泛型1、  面向对象考虑问题的三个视角:概念、规约、实现。概念:抽象类(接口),泛指某种类型。规约:类的成员函数,及其参数表。实现:成员函数的实现。2、  封装一般意味着各种隐藏。例如,抽象类隐藏子类的具体类型。3、  功能分解一般是结构化程序员使用的方法,那我们

一刀的后院 754

设计模式学习笔记开篇

最近有一个想法:想要系统、灵活地学习设计模式,将其内化到自己的专业技能之中,达到凭借直觉即可应用的地步。 动机 从毕业到现在工作已经快两年的时间了,回望过去,感觉技术上毫无积累,这并不是一个我喜欢的状态,反而让自己内心有些慌。 为了职业生涯的长远打算,遂决定深入学习一些专业技能,先从《设计模式》开始。因为设计模式上可指导架构,中可夯实设计,下可驾驭编码,是一种能够统摄全局的心法,掌握它的收益性还是...

长风的专栏 294

《设计模式精解》学习笔记(三)------设计模式开始

《设计模式精解》学习笔记(三)------设计模式开始 看到“设计模式”这个词是在三四年前了,当时突然发现这个词到处都是。但我一点都不理解,只是看了个大概概念和一些零星的介绍,给我的感觉是这项技术很牛。一个偶然的机会我在学校的一个书摊一角上见到了那本传说中的《设计模式—可复用面向对象软件的基础》,而且老板还是半价出售。于是当即打算买下来回去看看,和老板讲了价钱最后15元搞定。当时我连C++

菜菜鸟_黑马的专栏 638

SSM框架学习笔记8—SpringMVC背景

SSM框架学习笔记8—SpringMVC背景

北街末雨Yyg 1035

设计模式学习笔记(1)

本文介绍了三种常见的设计模式:单例模式、工厂模式和抽象工厂模式。单例模式确保类只有一个实例,通过私有构造函数和静态方法实现全局访问,适用于购物车管理等场景。工厂模式分为简单工厂和工厂方法,后者通过抽象工厂和具体工厂分离产品创建逻辑,提高扩展性。抽象工厂模式用于创建相关产品族,如不同风格的家具系列,每个具体工厂生产一组配套产品。这些模式通过封装对象创建过程,提高了代码的可维护性和扩展性。

qq452562499的博客 616

设计模式学习系列----开头学习背景

设计模式学习系列----开头学习背景 从今天开始打算花上半个月的时间,利用闲暇时间将之前学习过的设计模式进行一个学习笔记的整理,因为前段时间去面试,当问到有关设计模式的时候,毕竟由于时间长了自己给忘了,导致在面试的时候甚是尴尬啊,哪我就选择使用博客的形式将每一种设计模式通过一个博客的形式深入的学习记录一下,这样有我的博客 可以跟面试官说 你可以...

weixin_30301183的博客 149
上一篇: Android内存管理机制及其优化
下一篇: 设计模式学习笔记之简单工厂模式
觅己
博客等级 码龄11年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值