阿里巴巴技术专家倾心五年全力打造!Java成神之路电子版教程已问世!

Java工程师成神之路~-HollisChuang's Blog1 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 1.1.2. 了解JVM各种参数及调优 1.1.3. 学习使用Java工具 1.1. 立即下载

近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是Java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。

今天给大家带来的是阿里巴巴技术专家和阿里云开发者社区联合出品的【Java工程师成神之路】,相信有不少的朋友都有在各大网站有听说过这个名字,就在最近,这份成神之路的电子版教程终于问世了,历时6个月。从2015年的首次发布,持续更新到了现在。

【Java工程师成神之路】该系列共包含基础篇、底层篇、进阶篇、高级篇、架构篇以及扩展篇,共 6 部分。小编今天展示的是第一部分【基础篇】(由于内容过于精细,只能分开展示)

目录

每个知识点都有左侧导航书签页,看的时候十分方便

面向对象

  1. 面向对象与面向过程
  2. 面向对象的三大基本特征和五大基本原则
  3. Java中的封装、继承、多态
  4. 什么是平台无关性
  5. Java中的值传递

Java语言基础

  1. 基本数据类型
  2. Java中的关键字
  3. String
  4. 自动拆/装箱的实现
  5. 异常处理
  6. 集合类
  7. I/O流反射
  8. 枚举类型和泛型
  9. 动态代理
  10. 序列化
  11. 注解
  12. 单元测试
  13. APl&SPI
  14. 时间处理
  15. 编码方式
  16. 语法糖
  17. lambda表达式

本书里面的大部分内容都是由作者 Hollis 原创,希望这本书里面的内容可以帮助到大家

快速入手通道:(点这里)下载!诚意满满!!!

Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!

java工程师成神之路丨超全知识指南 基础篇.pdf java工程师成神之路丨超全知识指南,适合入门和进阶人员。 立即下载

相关推荐

基于stm32f407VGT6控制WS2812的TIM1+PWM+DMA实现方式

项目中使用到了ws2812灯带,作为产品的外观显示灯,经过开发之后,整理一下,仅供大家参考。 WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。 其外型与一个5050 LED灯珠相同, 每个元件即为一个像素点。 像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 还包含有高精度的内部振荡器和可编程定电流控制部分, 有效保证了像素点光的颜色高度一致。数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素

weixin_43608153的博客 9214

Java工程师成神之路:阿里P8资深架构师耗时一年整理的19年经验

成为一名优秀的Java工程师是很多人的梦想,而在这个过程中,获取经验和知识的重要性不言而喻。今天小编将带领大家探索一位阿里P8资深架构师耗时一年整理的19年经验,为大家揭示成为Java工程师的成神之路。这位资深架构师通过多年的实践和经验积累,将自己的见解和技巧整理成一份宝贵的经验分享。本文将深入探讨Java工程师的成长之路,包括技术能力的提升、项目经验的积累、团队合作的重要性等方面。我们将分享这位架构师在19年的职业生涯中遇到的挑战和解决方案,以及他对于Java工程师成长的独到见解。

jjc4261的博客 1178

帕德伯恩大学轴承数据集(PU)介绍

PU数据集介绍一、帕德伯恩大学轴承数据集故障类别说明二、关于损伤描述2.1 损伤组合:2.2 重复和多重损伤的安排:2.3 几何尺寸2.4 损伤程度2.5损伤特征数据集损伤类别三、人为损坏轴承3.1 最常用的人为损伤制造方法是:3.2 本数据集使用的人工损坏是由三种不同方法引起的四、通过加速寿命试验产生真正的轴承损坏样本 一、帕德伯恩大学轴承数据集 数据集下载地址 从帕德伯恩大学获得的PU数据集是一个6203轴承数据集,包括人为诱发的和真实的损害。采用压电加速度计采集轴承座的振动信号,采样频率为64 kHz

m0_47180208的博客 3万+

【学海无涯】Java成神之路

Java成神之路的汇总,斩妖除魔!

weixin_36001569的博客 2066

一图文带您认识磁编码器

磁编码器是以磁电原理技术生产的编码器。 磁编码器工作原理: 当电流通过一个位于磁场中的导体的时候,磁场会对导体中的电子产生一个垂直于电子运动方向上的的作用力,从而在垂直于导体与磁感线的方向上产生电势差。 如果让施加在这个导体上的磁场以电流流经路径为轴线,按照上图箭头所示的方向旋转,那么这个霍尔电势差就会因为磁场与导体之间角度的改变而发生变化,而这个电势差的变化趋势,与之前一文中次级线圈旋转时的输出电压一样,是一条正弦曲线。因此,基于这个通电导体两侧的电压,就可以反推计算出磁场旋转的角度了。 .

encoder_yang的博客 2万+

java 成神之路——基础篇 1

全书主要分为基础篇、底层篇、进阶篇、高级篇、架构篇以及扩展篇,共 6 部分。主要是介绍 java 基础相关的知识,从面向对象到java语言基础。详细介绍了 java的特性已经一些常见的数据结构和语法。帮忙我们更好的去了解 java。同时对于一些不太容易理解的一些知识点,作者采用通俗易懂的举例来讲解,方便我们更容易去掌握了解。

2404_88107097的博客 1506

linux v3h平台开发系列详解(GMSL摄像头篇):1.12 解串器MAX96712输出4 lane 变 2 lane的配置

本文详细介绍了在Linux v3h平台上,针对Max96712解串器进行MIPI 4lane到2lane配置。内容包括串行器解串器介绍、链路框架、硬件连接、以及软件寄存器如何配值和一些问题的解决方法。

xian18809311584的博客 1095

Alibaba技术专家倾心五年打造 Java成神之路:基础篇

近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是Java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。今天给大家带来的是阿里巴巴技术专家和阿里云开发者社区联合出品的【Java工程师成神之路】,相信有不少的朋友都有在各大网站有听说过这个名字,就在最近,这份成神之路的电子版教程终于问世了,耗时五年。从2015年的首次发布,持续更新到了现在。...

band_mmbx的博客 1128

基于STM32、HAL库的RN8209D电能计量芯片驱动程序设计

/ 假设电压互感器变比为220V:0.5V,电流互感器变比为20A:5mA。// 电压ADC原始值。// 电流ADC原始值。// 有功功率(W)// 电能(kWh)

corlin6688的博客 471

QT+OSG/osgEarth编译之七十六:gltf+Qt编译(一套代码、一套框架,跨平台编译,版本:osgEarth-3.3插件库osgdb_gltf)

通过一套gltf代码和框架,实现osgdb_gltf跨平台编译。 在Qt环境下,集成头文件、库文件,构建跨平台编译的pro文件。 通过构建的一套配置工程,基于Qt Creator IDE,完成跨平台的编译实践。 在Windows、Linux、MacOS等操作系统上进行测试,成功编译,形成的成果(头文件、库文件等)可在不同系统下调用或使用,从而更好地构建跨平台解决方案。 采用的是osgEarth3.3版本。 读者可参考博客中的集成原理,构建不同版本的osgdb_gltf跨平台包。

LuckyHanMo的博客 1802

Alibaba技术专家倾心五年打造!Java成神之路:基础篇

近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是Java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。 今天给大家带来的是阿里巴巴技术专家和阿里云开发者社区联合出品的【Java工程师成神之路】,相信有不少的朋友都有在各大网站有听说过这个名字,就在最近,这份成神之路的电子版教程终于问世了,耗时五年。从2015年的首次发布,持续更新到了现在。 【Java工程师成神之路】该系列共包含基础篇、底层篇、进阶篇、高级

javassb的博客 316

TPM 2.0实例探索2 —— LUKS磁盘加密(1)

本文对LUKS行了系统介绍

phmatthaus的专栏 1701

倾心五年全力打造!一文看完Java知识结构体系,Java基础学习超全知识指南

近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是Java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考。 今天给大家带来的是阿里巴巴技术专家和阿里云开发者社区联合出品的【Java工程师成神之路】,相信有不少的朋友都有在各大网站有听说过这个名字,就在最近,这份成神之路的电子版教程终于问世了,历时6个月。从2015年的首次发布,持续更新到了现在。 【Java工程师成神之路】该系列共包含基础篇、底层篇、进阶篇、高级篇、

资料免费分享,点击名片 1354

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

Alibaba技术专家倾心五年打造,Java成神之路:基础篇

学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路、说话、穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握的知识越来越多,与此同时,我们学习能力却好像越来越差了,习惯了被别人喂饱,似乎忘记了怎么来喂自己了。

知识分享官 165

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

重磅来袭,Alibaba技术专家倾心五年打造,Java成神之路:基础篇

今天给大家带来的是阿里巴巴技术专家和阿里云开发者社区联合出品的【Java工程师成神之路】,相信有不少的朋友都有在各大网站有听说过这个名字,就在最近,这份成神之路的电子版教程终于问世了,耗时五年。近日里,很多人邀请我回答各种Java开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是Java的基础知识?【Java工程师成神之路】该系列共包含基础篇、底层篇、进阶篇、高级篇、架构篇以及扩展篇,共 6 部分。免费领取方式 :点击文末下方传送门即可获得免费领取方式啦!

jjc4261的博客 70

jre9下载 jdk9

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

阿里总结的《Java学习路径》PDF 火了,完整版开放下载!

初学Java的你还在烦恼不知道怎么去学,学习什么内容吗?那么多的技术书籍是否已经让你无从下手?别急,这就附上一份完整的Java学习路径。从头开始,给你一个体系化的学习方案。结合作者多年开发...

技术领导力 243

JAVA成神之路-基础篇——组合和继承

今天看着思维导图想了好久封装继承和多态这里写什么。最后决定写写这个组合和继承吧。这俩货其实在日常开发中还是挺有用的。个人感觉有很多设计上的模式实际都是这两个相护配合产生的。

weixin_45718351的博客 501

SpringCloud入门

一、 什么是 SpringCloud 什么是 SpringCloud:是一个服务治理平台,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心 、负载均衡、数据监控等等。1 概念定义 Spring Cloud 是一个微服务框架,相比 Dubbo 等 RPC 框架, Spring Cloud 提供的全套的分布式系统解决方案。 ...

aaa13268的博客 877

java工程师成神之路从零开始学习(Java对象)

java对象

不想做一只咸鱼的博客 401

java工程师成神之路从零开始学习(面向对象的核心概念)

面向对象的核心概念

不想做一只咸鱼的博客 988

java成神之路-基础篇 (搞定java基础看这一篇就够用)

最近关注了个 主播,Hollis 阿里巴巴的一位专家,该博主总结了一份java成神之路的知识图谱,基于图谱打算出 几期总结文档也有助于自己巩固与学习。于是有了这篇文章。

lw的博客 2107

JAVA成神之路-基础篇——面向对象

面向对象这个问题我们可以从思维和代码两个角度来说。从思维的角度来说,对象是我们生活中所能看到的一切,对象具有两个典型的特征:1.它具有自己的属性2.它具有自己的行为模式比如经常被举得例子,汽车可以在马路上跑。这时候汽车对于我们来说他就是一个对象。它拥有座椅,轮子,发动机等等属性,同时这些属性相护配合,使汽车这个整体可以实现载人,移动这些功能也就是行为模式。也许你会觉得疑惑,那座椅是不是一个对象呢?它当然也是。

weixin_45718351的博客 2167

Java成神之路

Java后端工程师的成神之路,加油,农民工!!!

only1475813080的博客 1778

Java成神之路github

自我管理 谨言慎行 畅销书《影响力》提到,因为影响力的巨大差异,娱乐明星比科学家收入高几万倍。技术经理管理了N个人,影响力就是N倍,如果言行不端,造成的影响是基层人员的N倍。博主有过一个上级,把粗鲁当成豪迈,各种JB、CAO啊脏话挂在嘴边,时不时来个荤段子,有女同事在场也是如此。有些涉世未深的同事有样学样,导致其他部门说我们太黄。某些管理者喜欢享受信息不对称的优越感,传播未经证实的消息(比如要裁员),可能造成基层人员军心不稳。   有一个比喻很恰当:公司是一棵大树,领导是树上面的猴子,树下面的猴子都能看到他

fanzhang_vip0723的博客 674
上一篇: 官方推荐的@Transactional事务,我还是不建议使用!
下一篇: 万万没想到!Java技术最菜的同学,最后却莫名面上了阿里??
「已注销」
博客等级 码龄6年 36粉丝 149原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值