信心满满去面美团,结果被JVM9连问怼的一脸懵逼

美团JVM问题定位和排错 立即下载

前言

相信很多人一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮去学。所以很多人对于为什么要学虚拟机这个问题,一致的答案皆是:因为面试。(我也是)‘手动狗头’。

大家先来看看JVM9连问大家能答出几问:

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

反正小编当时被怼的一脸懵逼

其实学习JVM并不仅仅在于面试,而在于更深入地理解 Java 这门语言,以及为未来排查线上问题打下基础。下面我们来看看官方的定义。

随着Java以及Java社区的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。

作为一个平台

Java虚拟机扮演着举足轻重的作用。除了Java语言,任何一种能够被编译成字节码的计算机语言都属于Java这个平台。

作为一种文化

Java 几乎成为了“开源”的代名词。

作为一个社区

Java 拥有无数的开发人员,有数不清的论坛和资料。它已经俨然成为了一个良好而庞大的生态系统。而这个生态系统的核心还是Java 虚拟机。

这篇文章就给大家分享出三份JVM文档,(能吃透这三份文档也能算半个大佬了(手动狗头))

  • 1.JVM故障诊断与性能优化
  • 2.JVM G1源码分析和调优
  • 3.JVM与性能优化知识点整理

JVM故障诊断与性能优化

第1章 初探Java 虚拟机

  • 知根知底:追溯Java的发展历程
  • 跨平台的真相: Java虚拟机来做中介
  • 一切看我的:Java语言规范
  • 一切听我的: Java虚拟机规范
  • 数字编码就是计算机世界的水
  • 抛砖引玉:编译和调试虚拟机

第2章 认识Java虚拟机的基本结构

  • 谋全局者才能成大器: 看穿Java虚拟机的架构
  • 小参数能解决大问题:学会设置Java虚拟机的参数
  • 对象去哪儿: 辨清Java堆
  • 函数如何调用: 出入Java栈
  • 类去哪儿了: 识别方法区

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第3章 常用Java 虚拟机参数

  • 一切运行都有迹可循:掌握跟踪调试参数
  • 让性能飞起来:学习堆的配置参数
  • 别让性能有缺口:了解非堆内存的参数配置
  • Client 和Server二选一:虚拟机的工作模式

第4章垃圾回收概念与算法

  • 内存管理清洁工:认识垃圾
  • 清洁工具大PK:讨论常用的垃圾回收算法
  • 谁才是真正的垃圾: 判断可触及性
  • 垃圾回收时的停顿现象: Stop-The-World 案例实战

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第5章 垃圾收集 器和内存分配

  • 一心一意一件事:串行回收器
  • 人多力量大: 并行回收器
  • 一心多用都不落下: CMS回收器
  • 未来我做主: G1回收器
  • 回眸:有关对象内存分配和回收的一些细节问题
  • 温故又知新: 常用的GC参数
  • 动手才是真英雄:垃圾回收器对Tomcat性能影响的实验

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第6章 性能监控工具

  • 有我更高效: Linux下的性能监控工具
  • 用我更高效: Windows 下的性能监控工具
  • 外科手术刀: JDK性能监控工具
  • 我是你的眼: 图形化虚拟机监控工具JConsole
  • 一目了然:可视化性能监控工具Visual VM
  • 来自JRockit的礼物:虚拟机诊断工具Mission Corto

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第7章 分析Java堆

  • 对症才能下药:找到内存溢出的原因
  • 无处不在的字符串: String 在虚拟机中的实现
  • 虚拟机也有内窥镜: 使用MAT分析Java堆
  • 筛选堆对象: MAT对OQL的支持
  • 更精彩的查找: Visual VM对OQL的支持

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第8章 锁与并发

  • 安全就是锁存在的理由:锁的基本概念和实现
  • 避免残酷的竞争: 锁在Java虚拟机中的实现和优化
  • 应对残酷的竞争: 锁在应用层的优化思路
  • 无招胜有招: 无锁
  • 将随机变为可控: 理解Java内存模型

第9章 Class 文件结构

  • 不仅跨平台,还能跨语言:语言无关性
  • 虚拟机的基石: Class 文件
  • 操作字节码: 走进ASM

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第10章 Class 装载系统

  • 来去都有序: 看懂Class文件的装载流程
  • 一切Class从这里开始:掌握ClassLoader

第11章 字节码执行

  • 代码如何执行: 字节码执行案例
  • 执行的基础: Java虚拟机常用指令
  • 更上一层楼:再看ASM
  • 谁说Java太刻板: Java Agent运行时修改类
  • 与时俱进:动态函数调用
  • 跑得再快点:静态编译优化
  • 提高虚拟机的执行效率: JIT及其相关参数

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

为了更好地了解和使用Java,越来越多的开发人员开始关注Java虚拟机(JVM)的实现技术,其中垃圾回收(也称垃圾收集)是最热门的技术点之一。目前G1作为JVM中最新、最成熟的垃圾回收器受到很多的人关注。

篇幅限制只能以这样的形式展示出来啦,这三份文档已经打包好上传百度网盘了,需要的小伙伴帮忙点赞转发加关注支持小编一下,然后私信【666】即可获取!

JVM G1源码分析和调优

第1章 垃圾回收概述

  • Java发展概述
  • 常见术语
  • 回收算法概述
  • JVM垃圾回收器概述

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第2章 G1的基本概念

  • 分区
  • G1停顿预测模型
  • 卡表和位图
  • 对象头
  • 内存分配和管理
  • 线程
  • 日志解读
  • 参数介绍和调优

第3章 G1的对象分配

  • 对象分配概述
  • 快速分配
  • 慢速分配
  • G1垃圾回收的时机
  • 参数介绍和调优

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第4章 G1的Refine线程

  • 记忆集
  • Refine 线程的功能及原理
  • Refinement Zone
  • RSet 涉及的写屏障
  • 日志解读
  • 参数介绍和调优

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第5章 新生代回收

  • YGC算法概述
  • YGC代码分析
  • YGC算法演示
  • 日志解读
  • 参数介绍和调优

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第6章 混合回收

  • 并发标记算法详解
  • 并发标记算法的难点
  • G1中混合回收的步骤
  • 混合回收中并发标记处理的线程
  • 并发标记算法演示
  • GC活动图
  • 日志解读
  • 参数优化

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第7章 Full GC

  • Evac失败
  • 串行FGC
  • 并行FGC
  • 日志解读
  • 参数介绍和调优

第8章 G1中的引用处理

  • 引用概述
  • 可回收对象发现
  • 在GC时的处理发现列表
  • 重新激活 可达的引用
  • 日志解读
  • 参数介绍和调优

第9章 G1的新特性:字符串去重

  • 字符串去重概述
  • 日志解读
  • 参数介绍和调优
  • 字符串 去重和String.intern的区别
  • String.intern 中的实现

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

第10章 线程中的安全点

  • 安全点的基本概念
  • G1并发线程进人安全点
  • 解释线程进人安全点
  • 编译线程进人安全点
  • 正在执行本地代码的线程进入安全点
  • 安全点小结
  • 日志分析
  • 参数介绍和调优

第11章 垃圾回收器的选择

  • 如何衡量垃圾回收器
  • G1调优的方向

第12章 新一代垃圾回收器

  • Shenandoah
  • ZGC

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

篇幅限制只能以这样的形式展示出来啦,这三份文档已经打包好了,需要的小伙伴帮忙点赞转发加关注支持小编一下,然后私信【666】即可获取!

JVM与性能优化知识点整理

一、JVM内存区域划分

  • 程序计数器(线程私有)
  • Java栈(线程私有)
  • 本地方法栈(线程私有)
  • 堆(线程共享)
  • 方法区(线程共享)
  • 直接内存(线程共享)

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

二、JVM执行子系统

  • Cass类文件结构
  • 字节码指令
  • 类加载机制
  • 类加载器
  • Tomcat类加载机制
  • 方法调用详解

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

三.垃圾回收器和内存分配策略

  • Java中是值传递还是引用传递?
  • 引用类型
  • 基本垃圾回收算法
  • 分代处理垃圾
  • JAVA中垃圾回收GC的类型

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

四、编写高效优雅Java程序

  • 面向对象
  • 方法
  • 通用程序设计

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

五、性能优化

  • 常用的性能评价/测试指标
  • 常用的性能优化手段
  • 应用服务性能优化

信心满满去面美团,结果被JVM9连问怼的一脸懵逼

 

这三份文档可以说包含了JVM的方方面面,篇幅限制只能以这样的形式展示出来啦,这三份文档已经打包好了,需要的小伙伴帮忙点赞转发加关注支持小编一下,然后私信【666】即可获取!

JVM体系结构与GC调优 JVM体系结构与GC调优。。。。。。。。。。。。。。。。。。。。。。。。。 立即下载

相关推荐

JVM基础知识及性能调优.pdf

介绍jvm的基本结构、重要概念、相关参数、jvm工具、垃圾回收算法、垃圾收集器、jvm常见错误及调优示例等相关内容。

JVM G1 源码分析和调优(1)

JVM G1 源码分析和调优jvm常见术语 jvm常见术语 术语 描述 并行(parallelism) 指两个或多个事件在同一时刻发生,在现代计算机中通常指多台处理器上同时处理多个任务 并发(concurrency) 指两个或多个事件在同一时间间隔发生 ParNew 并发收集器 CMS 并发标记清除 JVM中的并行 指多个垃圾回收相关线程在操作系统之上并发运行,这里的并行强调的是只有立即回收线程工作,Java应用都暂停执行,因此parNew工作的时候一定发生STW JVM

1999的博客 583

APM水下机器人实战:从零搭建高精度自主航行系统

本文详细介绍了如何基于开源APM飞控及其水下分支ArduSub,从零搭建高精度自主水下航行器。核心在于集成双天线RTK模块实现厘米级定位与精确航向,并配合MAVROS与ROS构建自主控制系统。文章涵盖了硬件选型、软件配置、自主逻辑开发及水池调试的全流程实战经验,为水下机器人爱好者与研究者提供了一套完整的自主航行系统解决方案。

app77的博客 512

美团一面:OOM后,JVM一定会退出吗?为什么?

OOM相关面试题,是非常常见的面试题。以上的5大方案,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。学习过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。

架构师尼恩 2007

信奥编程启蒙 3068:【例13.3】时间差

现在给出一个时间,单位是秒,要求按照电子表格式输出,输出保证不会超过 2424 小时。3067:【例13.2】 电子表。把时间转化成电子表格式输出。电子表上的时间显示方法形如。

900

自动驾驶开发者必看:nuscenes数据集23类物体标注全解析(附避坑指南)

本文深入解析nuscenes数据集的23类物体标注系统,为自动驾驶开发者提供全面的标注规范解读和实战避坑指南。涵盖多模态数据组织、类别细分规则、属性系统应用技巧以及标注质量验证方法,帮助开发者高效利用这一标杆数据集提升模型性能。

weixin_29041767的博客 255

JVM G1

http://youzhixueyuan.com/detailed-explanation-of-jvm-g1.html JVM垃圾收集器发展历程 第一阶段,Serial(串行)收集器 在jdk1.3.1之前,java虚拟机仅仅能使用Serial收集器。 Serial收集器是一个单线程的收集器,但它的“单线程”的意义并不仅仅是说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是...

qq_38007708的博客 478

k8s部署 普罗米修斯(Prometheus)监控

Prometheus是一个开源的服务监控系统和时序数据库其提供了通用的数据模型和快捷数据采集、存储和查询接口它的核心组件Prometheus服务器定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉 取数据新拉取到啊的 数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。

D2961953033的博客 3854

资源分享 | 深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)

原文链接:资源分享 | 深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理) 群里又有小伙伴要 jvm 调优的视频,我又吭哧吭哧地找了一番。 就找到了这个 价值 799! 课程简介 搬运下网上的介绍。 本套课程从虚拟机的发展历史,虚拟机的内存结构,对象的分配与回收以及字节码,类加载等多个方面深入地对Java虚拟机进行了剖析。内容详实,语言通俗易懂。 理论结合实践,让学习本套视频的朋友...

生命在于折腾 2288

华为OD机试 - 跳房子I(Java 双机位A卷 100分)

可行的两步组合有 [1, 2] (索引和 0+3=3)、[1, 2] (索引和 0+4=4)、[4, 2] (索引和 1+3=4)、[4, 2] (索引和 1+4=5)、[5, 2] (索引和 2+3=5)、[5, 2] (索引和 2+4=6)。此样例有多种组合满足两回合跳到最后,譬如[-1,9], [2,6],其中[-1,9]的索引和为0+3=3, [2,6]的索引和为1+4=5, 所以索引和最小的步数组合为[-1,9].[3, 2] 和 [1, 4] 都满足和等于 5,且索引和均为 3。

学Java,找哪吒 4508

Unreal Engine开发:多人联机与网络同步_延迟补偿与预测

通过延迟补偿和预测技术,我们可以显著减少网络延迟对多人在线动作游戏的影响,提升玩家的体验。延迟补偿主要在服务器端实现,通过回溯时间点来更准确地处理输入和事件。预测技术主要在客户端实现,通过预先计算玩家的动作结果来减少延迟感。结合这两种技术,可以实现更平滑、更公平的多人游戏体验。

chenlz2007的博客 1191

引用计数法和可达性分析法

引用计数法 引用计数法优缺点 引用计数法的简单缺点实例 可达性分析法 可以作为GCRoot的对象

Funny_Ma的博客 1261

053、坏点校正(DPC)进阶:静态坏点标定与动态坏点检测算法对比

文章摘要: 本文深入探讨了图像传感器坏点校正(DPC)技术,重点对比静态坏点标定与动态坏点检测算法。作者结合真实案例,指出静态标定在高增益场景下的局限性,并详细解析动态检测的核心算法、参数调优及常见误检问题(如边缘/纹理干扰)。提出“静态为主+动态为辅”的混合方案,强调阈值需随增益、亮度和温度自适应调整。文末总结六条工程建议,包括避免固定阈值、优先使用中值替换、定期更新坏点表等,强调DPC是图像质量的基础防线,需结合传感器特性综合优化。

zzfmlxs的博客 263

秋招信心满满去面美团,一连串的spring/并发/JVM把我直接问懵, 怀疑人生了!

二面大概50分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜~)。回来之后把这些题目做了一个分类并整理出答案(强迫症的我~狂补知识~)分为spring,jvm,并发编程等,接下来分享一下我的这美团面试面经+一些我的学习笔记。 美团关于spring部分面试问题: Spring bean的生命周期能不能结合源码回答一下这个问题 Spring容器当中包含了哪些常用组件(至少说5个),作用是什么,场景是什么; Spring自动注入的原理是什么?能不能从源码来说明一下这个问

weixin_50205273的博客 204

题解:洛谷 P14357 [CSP-J 2025] 拼数

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 X 给了小 R 一个字符串。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。中的任意多个数字,按任意顺序拼成一个正整数。,表示小 X 给小 R 的字符串。#普及-# #其他排序#洛谷:[P14357。

团爸讲算法 1394

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

1 年 Java 经验,信心满满出去面试,被问麻了...

近期的面试是越来越难了,要背的八股文也越来越多,互联网公司考察得越来越细,越来越底层(不信你看下面)

weixin_50205273的博客 210

WINCC7.3破解文件

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

MySQL学了一个月,信心满满准备吊打面试官

(消息队列、Springcloud、jvm、spring、数据结构、数据库、线程池)mysql 优化会不会,mycat 分库,垂直分库,水平分库?mysql 数据库中,什么情况下设置了索引但无法使用?SpringBoot,SpringCloud面试汇总。Netty常被问到的那些面试题汇总。RabbitMQ常见面试题汇总。Mybatis常见面试题汇总。Zookeeper面试题汇总。Tomcat面试题整理汇总。Nginx那些面试题汇总。Redis常见面试题汇总。Mysql面试题汇总。Kafka面试题汇总。

m0_63102527的博客 374

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MySQL学了一个月,信心满满准备吊打面试官,竟然还是被阿里的大佬虐了!

由于篇幅原因,就不多做展示了加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0)][外链图片转存中…(img-nSeIyubP-1725701419079)][外链图片转存中…(img-JnbYcbbS-1725701419080)]由于篇幅原因,就不多做展示了加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0。

2401_86400247的博客 900

普通二本的辛酸Android面试之路,满满干货指导

一、自我介绍 应该算是起点比较高吧!985大学毕业后面一直在国外读研。之前准备面试微软但是可能经验不够,没有通过。经过朋友介绍我准备回国,积累一些开发经验。于是我面试了国内大厂BATJ,还有一些其他比较知名的公司,一共报了11家。我朋友说这叫广撒网多捞鱼! 其他就不说了BATJ都过了,但是由于地区还有待遇问题,我选择了讯飞一家不大不小的公司。一开始做的挺好的,没想到… Flutter是谷歌公司发布的一款快速跨平台开发框架 有uni-app等其他框架为什么选flutter? 1、同为跨平台开发框架,flutt

m0_57081562的博客 127

论程序员成长的正确姿势,满满干货指导

前言 大家应该看过不少人分享的面试成功的面经,是不是觉得自己“说不定也可以”呢? 这里重提一个理论:幸存者偏差。当取得资讯的渠道,仅来自于幸存者时(因为死人不会说话),此资讯可能会存在与实际情况不同的偏差。 所以,今天要分享的是凉经。 一.想要分享的内容 开篇我也表达了我对“面经”的看法,所以我就不罗列具体的题目了,而且每次面试的题目都大同小异,其他专栏已经列举的足够多了,再列举也没有太多的意义,这里我想着重分享以下五点:面试前的准备,学习方法,面试风格,面试后的感受,以及职业规划。 二.面试前你应该做的准

m0_57081140的博客 73

2024想进大厂?高手面经送给你:Java基础笔记+面试手册+项目+高并发架构设计攻略

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。本文已被。

2401_84584817的博客 388

移动开发技术总结!论程序员成长的正确姿势,满满干货指导

前言 大家应该看过不少人分享的面试成功的面经,是不是觉得自己“说不定也可以”呢? 这里重提一个理论:幸存者偏差。当取得资讯的渠道,仅来自于幸存者时(因为死人不会说话),此资讯可能会存在与实际情况不同的偏差。 所以,今天要分享的是凉经。 一.想要分享的内容 开篇我也表达了我对“面经”的看法,所以我就不罗列具体的题目了,而且每次面试的题目都大同小异,其他专栏已经列举的足够多了,再列举也没有太多的意义,这里我想着重分享以下五点:面试前的准备,学习方法,面试风格,面试后的感受,以及职业规划。 二.面试前你应该做的准

m0_57205294的博客 132

Android高级工程师必看系列,看完直接跪服

前言 事情是这样的,今年年初,在某个大博主那里拿到一份Android面试宝典合集,然后就一直躺在盘里吃灰,直到5月份的时候,有了要跳槽的计划和打算,就想着要刷刷面试题,所以就把这套“积灰”的面试宝典拿出看了看,因为这份文档是一位Alibaba资深架构师给我的,文档多达938页,这一看就看了一个多月才算是完整的吃透。吃透之后更是对自己信心满满。接着7月中旬开始面试,一口气 投了差不多十份简历,一直不停的面试,之后没让自己失望,接受收到了滴滴,美团,腾讯等 offer,接下来我们就一起来学习这份多达938页的面

m0_56530263的博客 113

45天啃透这本阿里P8架构师整理的Java核心学习笔记,连收7个Offer

一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。而我比较幸运,有幸获得了来自阿里P8架构师分享的Java核心学习笔记,花了一个半月的时间学习,之后面试信心满满,陆续拿到了京东,美团,阿里等大厂的七个Offer。在此把笔记分享出来,希望能帮到更多爱学习的人,也助更多的人能在面试当中顺利拿到Offer,进自己所钟意的大厂,做更好的自己。某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大道,成就另外一个全新的自我。

jcc4261的博客 952
上一篇: 多亏阿里学长的这份Java多线程笔记,让我轻松拿下阿里一面
下一篇: 面经分享:美团面试也太难了!4面美团终成Offer
java架构师小芷
博客等级 码龄6年 216粉丝 519原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值