Java知识体系最强总结(2020版)(转载)

转载于: https://blog.csdn.net/ThinkWon/article/details/103592572

更新于2020-01-05 18:08:00

本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽

整理的Java知识体系主要包括基础知识,工具,并发编程,数据结构与算法,数据库,JVM,架构设计,应用框架,中间件,微服务架构,分布式架构,程序员的一些思考,项目管理,运维,权限,推荐书籍,云计算,区块链等,包含了作为一个Java工程师在开发工作学习中需要用到或者可能用到的绝大部分知识。千里之行始于足下,希望大家跟进自己的薄弱点,查缺补漏,根据自己感兴趣的方面多学习,学的精通一点,从现在开始行动起来。路漫漫其修远兮,吾将上下而求索,不管编程开发的路有多么难走,多么艰辛,我们都将百折不挠,不遗余力地去追求和探索

Java面试总结

Java面试总结汇总,欢迎阅读,文章持续更新中…

序号内容链接地址
1Java基础知识面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104390612
2Java集合容器面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104588551
3Java异常面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104390689
4JVM面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104390752
5Spring面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104397516
6Spring MVC面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104397427
7Spring Boot面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104397299
8Spring Cloud面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104397367
9MyBatis面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/101292950
10Redis面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/103522351
11消息中间件MQ与RabbitMQ面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104588612
12Dubbo面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104390006
13Linux面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104588679
14Tomcat面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104397665
15ZooKeeper面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104397719
16Netty面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/104391081

基础知识

Java概述

基础语法

大部分已完成

待整理:

Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)

一文读懂什么是Java中的自动拆装箱

Java的枚举类型用法介绍

类、枚举、接口、数组、可变参数

泛型、序列化

序号内容链接地址
1Java标识符https://blog.csdn.net/ThinkWon/article/details/101637454
2Java关键字(Java 8版本)https://blog.csdn.net/ThinkWon/article/details/101642385
3Java注释https://blog.csdn.net/ThinkWon/article/details/101643185
4Java访问修饰符https://blog.csdn.net/ThinkWon/article/details/101643412
5Java分隔符https://blog.csdn.net/ThinkWon/article/details/101643617
6Java转义字符https://blog.csdn.net/ThinkWon/article/details/101643769
7Java进制https://blog.csdn.net/ThinkWon/article/details/101643936
8Java流程控制语句https://blog.csdn.net/ThinkWon/article/details/101645978
9Java流程控制语句-顺序结构https://blog.csdn.net/ThinkWon/article/details/101644820
10Java流程控制语句-分支结构https://blog.csdn.net/ThinkWon/article/details/101645224
11Java流程控制语句-循环结构https://blog.csdn.net/ThinkWon/article/details/101645757
12Java表达式https://blog.csdn.net/ThinkWon/article/details/101648114
13Java运算符https://blog.csdn.net/ThinkWon/article/details/101649002
14Java变量https://blog.csdn.net/ThinkWon/article/details/101649292
15Java常量https://blog.csdn.net/ThinkWon/article/details/101649446
16Java数据类型https://blog.csdn.net/ThinkWon/article/details/101649568
17Java反射https://blog.csdn.net/ThinkWon/article/details/100128361
18Java语法糖https://blog.csdn.net/ThinkWon/article/details/100103689
19Java注解https://blog.csdn.net/ThinkWon/article/details/100178709
20JSON简介https://blog.csdn.net/ThinkWon/article/details/100642585
21Properties类简介https://blog.csdn.net/ThinkWon/article/details/100667783
22XML简介https://blog.csdn.net/ThinkWon/article/details/100642425
23YML简介https://blog.csdn.net/ThinkWon/article/details/100642870
24Java8新特性-Lambda表达式https://blog.csdn.net/ThinkWon/article/details/100642932
25Java基础语法https://blog.csdn.net/ThinkWon/article/details/94354151

面向对象

待整理:

抽象

继承、封装、多态

接口、抽象类、内部类

序号内容链接地址
1什么是面向对象https://blog.csdn.net/ThinkWon/article/details/100667386

集合框架

迭代器、增强for、泛型

IO流

待整理:

File、递归

字节流、字节缓冲流

编码表、编码方式、转换流、序列化、序列化流、打印流、commons-io

网络编程

网络概述、网络模型

Socket原理机制

UDP

TCP/IP

协议、OSI 七层协议、HTTP、HTTP2.0、HTTPS

网络安全

​ XSS、CSRF、SQL注入、Hash Dos、脚本注入、漏洞扫描工具、验证码

​ DDoS防范、用户隐私信息保护、序列化漏洞

​ 加密解密、对称加密、哈希算法、非对称加密

​ 服务安全、数据安全、数据备份

​ 网络隔离、登录跳板机、非外网分离

​ 认证、授权

常用API

Date、DateFormat、Calendar

String、StringBuffer、StringBuilder、正则表达式

Number、Radom、Math、System、包装类

Arrays、Collections

常用工具类库

待整理:OkHttp、commons-lang3

序号内容链接地址
1HttpClient工具类https://blog.csdn.net/ThinkWon/article/details/101391489
2WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换https://blog.csdn.net/ThinkWon/article/details/101392187
3Lombok简介、使用、工作原理、优缺点https://blog.csdn.net/ThinkWon/article/details/101392808
4Java几种常用JSON库性能比较https://blog.csdn.net/ThinkWon/article/details/94354358

单元测试

JUnit

异常

日志

序号内容链接地址
1常用日志框架Log4j,Logback,Log4j2性能比较与日志门面SLF4J简介https://blog.csdn.net/ThinkWon/article/details/101621135
2日志作用https://blog.csdn.net/ThinkWon/article/details/101619725
3Apache Log4j2详解https://blog.csdn.net/ThinkWon/article/details/95043111
4Log4j2同步日志,混合日志和异步日志配置详解https://blog.csdn.net/ThinkWon/article/details/101625124
5Log4j2配置文件详解https://blog.csdn.net/ThinkWon/article/details/101629302
6Log4j2的Appenders配置详解https://blog.csdn.net/ThinkWon/article/details/101625820
7Log4j2的Filters配置详解https://blog.csdn.net/ThinkWon/article/details/101627162
8Log4j2的Policy触发策略与Strategy滚动策略配置详解https://blog.csdn.net/ThinkWon/article/details/101628222
9Log4j2的Loggers配置详解https://blog.csdn.net/ThinkWon/article/details/101628736

工具

IDEA

序号内容链接地址
1IDEA常用配置和常用插件https://blog.csdn.net/ThinkWon/article/details/101020481
2IDEA中Maven依赖下载失败解决方案https://blog.csdn.net/ThinkWon/article/details/101312918

Eclipse & STS

序号内容链接地址
1Eclipse & Spring Tool Suite常用配置https://blog.csdn.net/ThinkWon/article/details/101025543

Maven

Docker

序号内容链接地址
1使用Docker安装GitLabhttps://blog.csdn.net/ThinkWon/article/details/95042797

Git

GitLab

GitKraken

Navicat

并发编程

基础知识

并发理论

并发关键字

序号内容链接地址
1Java并发关键字-synchronizedhttps://blog.csdn.net/ThinkWon/article/details/102243189
2Java并发关键字-volatilehttps://blog.csdn.net/ThinkWon/article/details/102243670
3Java并发关键字-finalhttps://blog.csdn.net/ThinkWon/article/details/102244477

Lock体系

待整理:

公平锁 & 非公平锁

乐观锁 & 悲观锁

可重入锁 & 不可重入锁

互斥锁 & 共享锁

死锁

序号内容链接地址
1Lock简介与初识AQShttps://blog.csdn.net/ThinkWon/article/details/102468837
2AQS(AbstractQueuedSynchronizer)详解与源码分析https://blog.csdn.net/ThinkWon/article/details/102469112
3ReentrantLock(重入锁)实现原理与公平锁非公平锁区别https://blog.csdn.net/ThinkWon/article/details/102469388
4读写锁ReentrantReadWriteLock源码分析https://blog.csdn.net/ThinkWon/article/details/102469598
5Condition源码分析与等待通知机制https://blog.csdn.net/ThinkWon/article/details/102469889
6LockSupport详解https://blog.csdn.net/ThinkWon/article/details/102469993

并发容器

序号内容链接地址
1并发容器之ConcurrentHashMap详解(JDK1.8版本)与源码分析https://blog.csdn.net/ThinkWon/article/details/102506447
2并发容器之ConcurrentLinkedQueue详解与源码分析https://blog.csdn.net/ThinkWon/article/details/102508089
3并发容器之CopyOnWriteArrayList详解https://blog.csdn.net/ThinkWon/article/details/102508258
4并发容器之ThreadLocal详解https://blog.csdn.net/ThinkWon/article/details/102508381
5ThreadLocal内存泄漏分析与解决方案https://blog.csdn.net/ThinkWon/article/details/102508721
6并发容器之BlockingQueue详解https://blog.csdn.net/ThinkWon/article/details/102508901
7并发容器之ArrayBlockingQueue与LinkedBlockingQueue详解https://blog.csdn.net/ThinkWon/article/details/102508971

线程池

序号内容链接地址
1线程池ThreadPoolExecutor详解https://blog.csdn.net/ThinkWon/article/details/102541900
2Executors类创建四种常见线程池https://blog.csdn.net/ThinkWon/article/details/102541990
3线程池之ScheduledThreadPoolExecutor详解https://blog.csdn.net/ThinkWon/article/details/102542299
4FutureTask详解https://blog.csdn.net/ThinkWon/article/details/102542404

原子操作类

序号内容链接地址
1原子操作类总结https://blog.csdn.net/ThinkWon/article/details/102556910

并发工具

序号内容链接地址
1并发工具之CountDownLatch与CyclicBarrierhttps://blog.csdn.net/ThinkWon/article/details/102556958
2并发工具之Semaphore与Exchangerhttps://blog.csdn.net/ThinkWon/article/details/102557034

并发实践

序号内容链接地址
1实现生产者消费者的三种方式https://blog.csdn.net/ThinkWon/article/details/102557126

数据结构与算法

数据结构

序号内容链接地址
1红黑树详细分析(图文详解),看了都说好https://blog.csdn.net/ThinkWon/article/details/102571535
1、数组
2、栈
3、队列
4、链表
5、树
	二叉树
    完全二叉树
    平衡二叉树
    二叉查找树(BST)
    红黑树
    B,B+,B*树
    LSM 树

字段是不是数据结构

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

算法

语言只是编程工具,算法才是编程之魂!

1、排序算法:快速排序、归并排序、计数排序
2、搜索算法:回溯、递归、剪枝
3、图论:最短路径、最小生成树、网络流建模
4、动态规划:背包问题、最长子序列、计数问题
5、基础技巧:分治、倍增、二分法、贪心算法

宽度优先搜索
深度优先搜索
广度优先
双指针
扫描线

朴素贝叶斯
推荐算法

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

排序算法

LeetCode

序号内容链接地址
1LeetCode第1题 两数之和(Two Sum)https://blog.csdn.net/ThinkWon/article/details/103113049
2LeetCode第3题 无重复字符的最长子串(Longest Substring Without Repeating Characters)https://blog.csdn.net/ThinkWon/article/details/103113969
3LeetCode第7题 整数反转(Reverse Integer)https://blog.csdn.net/ThinkWon/article/details/103113167
4LeetCode第9题 回文数(Palindrome Number)https://blog.csdn.net/ThinkWon/article/details/103113151
5LeetCode第13题 罗马数字转整数(Roman to Integer)https://blog.csdn.net/ThinkWon/article/details/103113519
6LeetCode第14题 最长公共前缀(Longest Common Prefix)https://blog.csdn.net/ThinkWon/article/details/103113700
7LeetCode第20题 有效的括号(Valid Parentheses)https://blog.csdn.net/ThinkWon/article/details/103113848
8LeetCode第26题 删除排序数组中的重复项(Remove Duplicates from Sorted Array)https://blog.csdn.net/ThinkWon/article/details/103113097

数据库

Oracle

MySQL

数据库基础知识

数据类型

引擎

索引

三大范式

常用SQL语句

存储过程与函数

视图

MySQL优化

事务

数据备份与还原

Redis

Java虚拟机

深入理解Java虚拟机

序号内容链接地址
1深入理解Java虚拟机-走近Javahttps://blog.csdn.net/ThinkWon/article/details/103804387
2深入理解Java虚拟机-Java内存区域与内存溢出异常https://blog.csdn.net/ThinkWon/article/details/103827387
3深入理解Java虚拟机-垃圾回收器与内存分配策略https://blog.csdn.net/ThinkWon/article/details/103831676
4深入理解Java虚拟机-虚拟机执行子系统https://blog.csdn.net/ThinkWon/article/details/103835168
5深入理解Java虚拟机-程序编译与代码优化https://blog.csdn.net/ThinkWon/article/details/103835883
6深入理解Java虚拟机-高效并发https://blog.csdn.net/ThinkWon/article/details/103836167

架构设计

高可用架构

高并发架构

可伸缩架构

集群

设计模式

常用设计模式

创建型:
单例模式、工厂模式、抽象工厂模式

结构型:
适配器模式、外观模式、代理模式、装饰器模式

行为型:
观察者模式、策略模式、模板模式

序号内容链接地址
1设计模式https://blog.csdn.net/ThinkWon/article/details/96829572

创建型模式

结构型模式

行为型模式

J2EE模式

实践应用

序号内容链接地址
1业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们!https://blog.csdn.net/ThinkWon/article/details/102924813

应用框架

如何学习一个框架或者技术

  • 是什么,简介,概述

  • 有什么用,用途,使用场景

  • 怎么用,在实际开发中的应用,注意事项

  • 优缺点

  • 框架原理,工作流程,工作原理

  • 常见面试题

  • 源码分析,核心类,核心方法,设计模式

  • 发布博客,在开发和实践中,博客反馈中持续改进

  • 与同事朋友交流,技术论坛,技术分享中持续丰富知识

常用框架

  • 集成开发工具(IDE):Eclipse、MyEclipse、Spring Tool Suite(STS)、Intellij IDEA、NetBeans、JBuilder、JCreator

  • JAVA服务器:tomcat、jboss、websphere、weblogic、resin、jetty、apusic、apache

  • 负载均衡:nginx、lvs

  • web层框架:Spring MVC、Struts2、Struts1、Google Web Toolkit(GWT)、JQWEB

  • 服务层框架:Spring、EJB

  • 持久层框架:Hibernate、MyBatis、JPA、TopLink

  • 数据库:Oracle、MySql、MSSQL、Redis

  • 项目构建:maven、ant

  • 持续集成:Jenkins

  • 版本控制:SVN、CVS、VSS、GIT

  • 私服:Nexus

  • 消息组件:IBM MQ、RabbitMQ、ActiveMQ、RocketMq

  • 日志框架:Commons Logging、log4j 、slf4j、IOC

  • 缓存框架:memcache、redis、ehcache、jboss cache

  • RPC框架:Hessian、Dubbo

  • 规则引擎:Drools

  • 工作流:Activiti

  • 批处理:Spring Batch

  • 通用查询框架:Query DSL

  • JAVA安全框架:shiro、Spring Security

  • 代码静态检查工具:FindBugs、PMD

  • Linux操作系统:CentOS、Ubuntu、SUSE Linux、

  • 常用工具:PLSQL Developer(Oracle)、Navicat(MySql)、FileZilla(FTP)、Xshell(SSH)、putty(SSH)、SecureCRT(SSH)、jd-gui(反编译)

Spring

序号内容链接地址
1Spring简介、设计理念、优缺点、应用场景https://blog.csdn.net/ThinkWon/article/details/102810748
2Spring模块组成(框架组成、整体架构、体系架构、体系结构)https://blog.csdn.net/ThinkWon/article/details/102810819
3Spring容器中bean的生命周期https://blog.csdn.net/ThinkWon/article/details/102866432
4控制反转(IoC)与依赖注入(DI)详解https://blog.csdn.net/ThinkWon/article/details/102912332

《Spring实战》读书笔记

序号内容链接地址
1《Spring实战》读书笔记-第1章 Spring之旅https://blog.csdn.net/ThinkWon/article/details/103097364
2《Spring实战》读书笔记-第2章 装配Beanhttps://blog.csdn.net/ThinkWon/article/details/103527675
3《Spring实战》读书笔记-第3章 高级装配https://blog.csdn.net/ThinkWon/article/details/103536621
4《Spring实战》读书笔记-第4章 面向切面的Springhttps://blog.csdn.net/ThinkWon/article/details/103541166
5《Spring实战》读书笔记-第5章 构建Spring Web应用程序https://blog.csdn.net/ThinkWon/article/details/103550083
6《Spring实战》读书笔记-第6章 渲染Web视图https://blog.csdn.net/ThinkWon/article/details/103559672
7《Spring实战》读书笔记-第7章 Spring MVC的高级技术https://blog.csdn.net/ThinkWon/article/details/103562467

Spring MVC

MyBatis

Hibernate

Shiro

Spring Security

Netty

搜索引擎

Lucene/Solr

Elasticsearch

ELK

中间件

消息中间件

RabbitMQ

RocketMQ

ActiveMQ

Kafka

远程过程调用中间件

Dubbo

数据访问中间件

Sharding JDBC

MyCat

Web应用服务器

Tomcat

待整理:Tomcat各组件作用 Tomcat集群 Tomcat面试题

序号内容链接地址
1Win10安装Tomcat服务器与配置环境变量https://blog.csdn.net/ThinkWon/article/details/102622905
2Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项https://blog.csdn.net/ThinkWon/article/details/102717537
3Tomcat与JDK版本对应关系,Tomcat各版本特性https://blog.csdn.net/ThinkWon/article/details/102622738
4Tomcat目录结构https://blog.csdn.net/ThinkWon/article/details/102619466
5Tomcat乱码与端口占用的解决方案https://blog.csdn.net/ThinkWon/article/details/102622824
6Tomcat系统架构与请求处理流程https://blog.csdn.net/ThinkWon/article/details/102676442
7史上最强Tomcat8性能优化https://blog.csdn.net/ThinkWon/article/details/102744033

Nginx

缓存

本地缓存

客户端缓存

服务端缓存

​ web缓存,Redis,Memcached,Ehcache

其他

Zookeeper

微服务与分布式

Spring Boot

序号内容链接地址
1application.yml与bootstrap.yml的区别https://blog.csdn.net/ThinkWon/article/details/100007093
2一分钟了解约定优于配置https://blog.csdn.net/ThinkWon/article/details/101703815

Spring Cloud

序号内容链接地址
1Spring Cloud入门-十分钟了解Spring Cloudhttps://blog.csdn.net/ThinkWon/article/details/103715146
2Spring Cloud入门-Eureka服务注册与发现(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103726655
3Spring Cloud入门-Ribbon服务消费者(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103729080
4Spring Cloud入门-Hystrix断路器(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103732497
5Spring Cloud入门-Hystrix Dashboard与Turbine断路器监控(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103734664
6Spring Cloud入门-OpenFeign服务消费者(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103735751
7Spring Cloud入门-Zuul服务网关(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103738851
8Spring Cloud入门-Config分布式配置中心(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103739628
9Spring Cloud入门-Bus消息总线(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103753372
10Spring Cloud入门-Sleuth服务链路跟踪(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103753896
11Spring Cloud入门-Consul服务注册发现与配置中心(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103756139
12Spring Cloud入门-Gateway服务网关(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103757927
13Spring Cloud入门-Admin服务监控中心(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103758697
14Spring Cloud入门-Oauth2授权的使用(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103761687
15Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103763364
16Spring Cloud入门-Oauth2授权之基于JWT完成单点登录(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103766368
17Spring Cloud入门-Nacos实现注册和配置中心(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103769680
18Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103770879
19Spring Cloud入门-Seata处理分布式事务问题(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103786102
20Spring Cloud入门-汇总篇(Hoxton版本)https://blog.csdn.net/ThinkWon/article/details/103786588

服务注册发现

服务配置

负载均衡

服务调用

服务限流

熔断降级

网关路由

服务权限

链路追踪

分布式事务

分布式缓存

分布式会话

日志收集

服务监控

消息驱动

数据处理流

自动化测试与部署

第三方支持

分布式协调服务Zookeeper

程序员的一些思考

序号内容链接地址
1程序员写个人技术博客的价值与意义https://blog.csdn.net/ThinkWon/article/details/102980571
2Java知识体系最强总结(2020版)https://blog.csdn.net/ThinkWon/article/details/103592572

项目管理

需求调研

项目管理

代码管理

文档管理

测试

运维

常规监控

APM

持续集成(CI/CD):Jenkins,环境分离

自动化运维:Ansible,puppet,chef

测试:TDD 理论,单元测试,压力测试,全链路压测,A/B 、灰度、蓝绿测试

虚拟化:KVM,Xen,OpenVZ

容器技术:Docker

云技术:OpenStack

DevOps

文档管理

操作系统

计算机操作系统

计算机原理

Linux

CPU

进程,线程,协程

推荐书籍

云计算

IaaS、SaaS、PaaS、虚拟化技术、openstack、Serverlsess

搜索引擎

Solr、Lucene、Nutch、Elasticsearch

权限管理

Shiro、Spring Security

区块链

哈希算法、Merkle树、公钥密码算法、共识算法、Raft协议、Paxos 算法与 Raft 算法、拜占庭问题与算法、消息认证码与数字签名

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页