搜索
 找回密码
 立即注册

QQ鐧诲綍

鍙渶涓姝ワ紝蹇熷紑濮

扫一扫,访问微社区

耗时3个月整理的全套Java学习路线+教程,月薪25k在向你招手

查看: 1974| 评论: 3| 发布者: crystalelf

??? ??С
简介:文章有点长,请大家耐心看完,话不多说直接上干货!永不过时的编程语言——Java 编程开发。一句话概括:最长寿的语言Java是最典型的面向对象语言。Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承 ...

文章有点长,请大家耐心看完,话不多说直接上干货!

永不过时的编程语言——Java 编程开发。

耗时3个月整理的全套Java学习路线+教程,月薪25k在向你招手


一句话概括:最长寿的语言

Java是最典型的面向对象语言。Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等坑爹概念。今明两年毕业的大学生大多是Java的同龄人(1995年)。

Java的优势:Java平台不断迎来新功能,比如移动互联网时代的Android,大数据时代的Hadoop,人工智能时代的TensorFlow。Java是世界上使用范围最广的语言——Java环境安装时那句“3 Billion Devices Run Java”谁没见过?

职业路线:

(1)招聘网站上常见的“招聘Java开发”指的就是狭义的Java开发——基于JavaEE的后台开发,以前一度流行过SSH框架和SSM框架,现在入门建议学习SpringMVC框架。

(2)在移动互联网时代,Java可用于Android App开发。但Java之于Android的地位可能被Kotlin取代。

(3)在大数据时代,Java可用于Hadoop的开发,前景非常广阔,但可能有泛滥的趋势。

(4)在人工智能时代,Java可用于TensorFlow深度学习的开发。

Java编程语言占比:

据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位!

Java工程师人才缺口:

根据IDC的统计数字:就2017年来说,我国Java人才的缺口已达42.5万,并且以每年20%左右 的速度增长。在未来5年内,合格软件人才的需求将远大于供给。

Java工程师就业

1.通过各大招聘网站统计,全国海量公司都在招聘Java开发工程师2.北京Java开发工程师平均薪资,即18530元3.全国Java开发薪资前三:北京 上海 广州。

Java基础

一:Java开发介绍

1. DOS常用命令

2. JVM、JRE、JDK之间的关系

3. Java开发环境的搭建:安装JDK,配置环境变量

4. Java入门程序(Java的开发流程)

5. Java的注释,标识符、标识符的命名规范

6. Java基本数据类型

7. 变量和常量的定义及初始化

8. Java的运算符

9. 运算符的优先级

10. Java分支语句之if...else

11. 循环的嵌套

12. 方法的定义

13. 方法的形参和实参

14. 方法的压栈

15. 方法的递归调用

二:Java数组

1. Java 数组的定义

2. Java 数组的声明

3. 数组的优势与局限

4. 数组的动态初始化

5. 数组的存储特点(堆和栈)

6. 数组的遍历访问(普通循环,增强for循环)

7. 数组元素的顺序查找

8. 数组元素的二分法查找

9. 数组元素的选择排序

10. 数组元素的冒泡法排序

11. Arrays工具类的使用

12. 二维数组的介绍

13. 二维数组的声明与初始化

14. 二维数组的遍历

15. 二维数组的使用

三:Java面向对象

1. 面向对象设计思想

2. 面向对象的分析与设计

3. Java与面向对象

4. 类中成员变量的定义与意义

5. 构造方法的定义和调用

6. 面向对象的封装特性

7. 局部变量和成员变量的作用域问题

8. 静态属性、静态方法、静态代码块

9. 面向对象的继承特性

10. 继承中构造方法的细节

11. 面向对象的多态特性

12. 抽象方法与抽象类

13. 接口的介绍

14. 通过内部类制作性能检测工具

15. Java的内存分析

四:常用基础类

1. 枚举类型介绍

2. 枚举的定义

3. 结合switch-case使用枚举

4. String字符串

5. 字符串缓冲区StringBuffer和StringBuilder

6. 字符串与缓冲区的区别

7. 基本类型的包装类型

8. Date类的使用

9. SimpleDateFormat类的使用

10. Math类的使用

11. Random类的使用

12. Runtime类的使用

13. System 类的使用

14. Calendar类的使用

15. Java8新特性

五:集合

1. 集合的概念和作用

2. 集合和数组的区别

3. 集合框架体系介绍

4. 集合框架之Collection接口

5. 泛型的使用

6. ArrayList和LinkedList的方法使用

7. ArrayList和LinkedList各自的工作原理分析原理分析

8. Vector和Stack使用介绍

9. 使用多种方式遍历集合

10. 迭代器的使用和工作原理

11. HashSet和LinkedHashSet各自的工作原理分析

12. 集合框架之Map接口

13. TreeMap的方法使用和排序方式

14. 分析Set和Map之间的区别与联系

15. Collections工具类的使用

六:IO流

1. File类的作用

2. File类中常用方法的使用介绍

3. 使用File类操作文件和文件夹

4. 相对路径和绝对路径的介绍

5. IO流的概念和工作原理

6. IO流的分类

7. 文件流的使用

8. 转换流的使用

9. 缓冲流的使用

10. 对象流的使用

11. 内存流的使用

12. 使用不同的流实现文件内容的拷贝

13. RandomAccessFile类的使用

14. Properties类的使用

15. 装饰者设计模式

七:多线程

1. 进程和线程的介绍

2. 进程和线程之间的区别与联系

3. 线程实现方式之继承自Thread类

4. 线程实现方式之实现Runnable接口

5. 线程实现方式之线程池

6. 线程的生命周期

7. 线程中常用方法的使用

8. 多线程中的临界资源问题分析

9. 解决临界资源问题之同步代码块

10. 解决临界资源问题之同步方法

11. 解决临界资源问题之ReentrantLock

12. 多线程讲解和理解

13. 多线程在单例中的应用

14. 死锁介绍以及案例演示

15. 生产者与消费者设计模式

八:异常

1. 异常的概念

2. 异常的分类

3. 异常的理解

4. 常见异常介绍

5. 运行时异常

6. 编译时异常

7. 运行和编译异常区别

8. 异常的处理方式之捕获异常

9. 异常的处理方式之抛出异常

10. 异常的处理方式之断点调试

11. 断点调试之引导运行步骤

12. 自定义异常

13. 异常关键字处理

14. 关键字执行流程

15. 异常总结

九:网络

1. 计算机网络和网络编程

2. 网络编程与网页编程的区别

3. IP地址和端口号的介绍

4. 网络通信协议的介绍

5. InetAddress类的方法使用

6. Socket通信模型的介绍

7. 使用UDP实现数据的发送和接收

8. 使用TCP实现数据的发送和接收

9. 使用TCP实现文件的上传和下载

10. 使用TCP实现多人聊天

11. URL和URLConnection使用介绍

12. URLEncoder和URLDecoder的使用介绍

13. 基于HTTP协议访问网络资源

14. Json解析

15. 基于HTTP协议实现网络文件的下载

十:反射

1. 反射机制的概念

2. 反射机制的作用

3. 反射机制的理解

4. Class类的使用

5. Class文件获取的三种方式

6. 获取Constructor对象

7. 获取私有Constructor对象

8. 获取Method对象

9. 获取私有Method对象

10. Constructor的使用

11. Method类的使用

12. Field类的使用

13. Modifier类的介绍

14. 反射使用练习

15. 反射机制在工厂设计模式中的应用

十一:MySQL使用

1. 数据库简介

2. MySQL的安装与使用

3. MySQL客户端和服务器配置

4. 用户权限管理

5. DDL创建数据库和表

6. 约束与外键

7. DML实现添加、修改、删除数据

8. 聚合函数、日期函数等

9. DQL简单查询

10. 排序、分组、筛选

11. 多表查询

12. 子查询

13. in和exists关键字

14. 分页查询

15. Mysql SQL语句优化介绍

十二:JDBC连接池

1. JDBC概述

2. JDBC使用步骤

3. Connection、Statement、ResultSet接口

4. 使用JDBC 完成数据库DML操作

5. PreparedStatement对象

6. 大数据的操作

7. 批量处理与元数据

8. 事务处理

9. 隔离级别

10. 自定义连接池

11. DBCP、C3p0连接池

12. DBUtis工具类

13. QueryRunner

14. 自定义结果集处理

15. 连接池知识总结

十三:Servlet

1. Tomcat与Eclipse的集成开发

2. 什么是Servlet

3. Servlet的进化史

4. Servlet的优化过程

5. Servlet中应用的多线程概念

6. Servlet接收客户端请求信息

7. Servlet响应客户端信息

8. Servlet的生命周期

9. 重定向写法

10. 转发写法

11. 转发和重定向区别

12. HttpServletRequest获取中文乱码问题

13. HttpServletResponse响应中文乱码问题

14. Servlet路径映射问题

15. Servlet多路径映射

十四:JSP

1. 什么是JSP

2. JSP的内置对象

3. 透析JSP的本质

4. JSTL+EL

5. MVC介绍

6. 分层的重要性

7. Web工程中事务实现

8. Session的使用

9. Cookie的使用

10. web工程中连接池的使用

11. 实现用户的自动登录

12. 文件的上传、下载

13. 过滤器、 监听器

14. 反射、注解、泛型

15. 综合案例练习

十五:AJAX

1. Ajax技术背景

2. Ajax技术的理解

3. XMLHttpRequest使用步骤

4. XMLHttpRequest GET/POST的区别

5. 同步请求&异步请求

6. 同步请求&异步请求的区别

7. Ajax获取不同的返回值类型

8. Ajax使用原生JavaScript和Jquery的区别

9. Ajax响应状态处理

10. JSON语法

11. Java JSON 解析

12. Java JSON 生成

13. Java JSON 第三方工具快速解析

14. JavaScript JSON转换

15. Jquery JSON转换

十六:jQuery

1. jQuery介绍

2. jQuery版本介绍

3. jQuery对象和原生js对象介绍

4. jQuery对象和原生js对象互相转化

5. jQuery快速入门

6. jQuery语法详解

7. jQuery核心函数

8. jQuery onload处理

9. jQuery选择器

10. jQuery 文档处理

11. jQuery事件

12. jQuery遍历操作

13. jQuery自定义函数

14. jQuery动画效果

15. jQueryAJAX操作

十七:Bootstrap

1. Bootstrap介绍

2. Bootstrap开发环境搭建

3. Bootstrap的基本模板

4. Bootstrap快速入门

5. Bootstrap组成

6. 栅格系统

7. 利用栅格系统进行移动端页面适配

8. Bootstrap全局Css样式

9. Bootstrap修改原Css样式进行自定义

10. Bootstrap的js组件

11. Bootstrap的js组件样式修改

12. 集成Bootstrapjs插件之导航条

13. 集成Bootstrapjs插件之轮播图

14. 集成Bootstrapjs插件之弹出框

15. Bootstrap进行项目整合

Java框架

十八:Maven

1. Maven环境搭建

2. Maven构建项目

3. Maven本地仓库配置

4. Maven中央仓库配置

5. Maven基本概念

6. Maven基本命令介绍

7. Maven于Eclipse整合

8. Maven于Idea整合

9. Maven创建web工程

10. pom.xml、依赖管理

11. 坐标、依赖、生命周期等

12. Eclipse下的Maven使用

13. Maven中 继承、聚合

14. Maven构建SSH/SSM应用

15. 自动部署、持续集成、持续部署

十九:Hibernate

1. Hibernate框架介绍

2. Hibernate于其他框架和DBUtil工具类对比

3. ORM思想

4. Hibernate5与JPA关系介绍

5. Hibernate.cfg.xml配置

6. hbm.xml映射文件详解

7. 主键生成策略 PO对象三种状态分析与切换

8. Hibernate5一级缓存分析与测试

9. Hibernate5高级映射技术

10. 一对多映射

11. 多对多映射

12. Hibernate5多表联合查询

13. Hibernate5延迟加载

14. Hibernate5加载策略

15. 二级缓存

二十:Spring

1. 框架原理介绍

2. 框架环境搭建

3. 快速入门

4. 创建Bean的方式及实现原理

5. Bean种类

6. Bean生命周期

7. Bean的作用域

8. Bean的注值方式

9. SpEL

10. 整合Junit测试

11. Web项目集成Spring

12. 注解装配Bean

13. AOP思想、原理解剖

14. 传统方式实现AOP开发

15. AspectJ介绍及实现AOP开发

二十一:Spring MVC

1. Spring MVC 概述

2. 使用 @RequestMapping映射请求

3. 请求处理方法签名概述

4. 处理方法签名详细说明

5. 使用 HttpMessageConverter

6. 处理模型数据

7. 数据绑定流程剖析

8. 数据格式化

9. 数据校验

10. 视图和视图解析器

11. 处理方法的数据绑定

12. 视图和视图解析器

13. 文件上传下载

14. JSON处理

15. 拦截器

二十二:MyBatis

1. MyBatis数据框架介绍

2. MyBatis对比Hibernate框架

3. MyBatis配置、查询数据

4. MyBatis全局配置文件

5. MyBatis全局配置文件元素详细介绍

6. Mapper映射文件

7. MyBatis两种开发方式

8. MyBatis中别名配置

9. MyBatis # 和 $ 拼接参数区别

10. 关联查询,动态sql

11. MyBatis缓存机制、整合ehcache

12. MyBatis二级缓存处理

13. MyBatis、Spring、SpringMVC整合

14. 分页插件

15. MyBatis逆向工程

二十三:WebService

1. WebService简介

2. WebService主流框架

3. SOAP协议

4. WSDL讲解

5. JAX-WS

6. WebService与Spring整合

7. JAXB

8. JAX-RS

9. WebService各种调用方式

10. cxf的介绍

11. cxf+jaxws基本

12. cxf+jaxws+spring

13. cxf+JAX-RS基本

14. cxf+JAX-RS+spring

15. 综合案例

二十四:SVN

1. SVN简介

2. SVN和Git对比

3. SVN服务器搭建

4. SVN创建仓库

5. SVN创建用户以及分配权限

6. SVN签出、提交、更新

7. Eclipse整合svn插件

8. Idea整合svn插件

9. 使用SVN更新提交

10. SVN仓库分析

11. SVN协同修改&冲突解决

12. SVN代码整合注意事项

13. SVN权限管理

14. SVN数据回滚

15. TortoiseSVN

二十五:Activiti

1. 工作流介绍

2. 工作流引擎

3. 工作流使用步骤

4. BPMN2.0规范

5. Activiti5框架表结构

6. Activiti5核心组件&服务接口

7. Activiti5插件安装&整合Spring

8. 流程定义

9. 流程实例、任务、历史

10. 任务领取、流程变量

11. 排他网关、并行网关

12. 流程事件

13. 流程控制

14. 监听器

15. 简单整合shiro

Java + 云数据

二十六:Linux版本

1.Linux简介和安装

2.Linux和Windows的区别

3.Linux远程登录

4.Linux常用命令

5.Linux文件管理

6.Linux用户管理

7.Linux用户组管理

8.Linux磁盘管理

9.Linux系统管理

10.Linux常用文件

11.Linux JDK安装

12.Linux Tomcat安装

13.Linux MySQL安装

二十七:FastDFS

1.FastDFS简介

2.FastDFS单节点安装

3.FastDFS Tracker和Storage节点操作

4.FastDFS 配置Tracker服务器

5.FastDFS 配置Storage服务器

6.FastDFS JavaClient端 文件上传

7.FastDFS JavaClient端 文件下载

二十八:MySQL优化

1.优化数据访问

2.重构查询的方式

3.查询缓存

4.切分查询

5.MySQL索引

6.MySQL锁

7.MySQL执行计划

8.MySQL存储引擎

9.Schema与数据类型优化

二十九:Nginx反向代理

1.Nginx反向代理介绍

2.Nginx 下载和安装

3.Nginx 编译和启动、访问

4.在Linux下搭建Nginx集群

5.在Windows搭建Nginx集群

6.解决Session共享问题

三十:Quartz 作业调度

1.Quartz作业调度简介

2.Quartz作业调度执行以及持久性

3.Quartz基本使用

4.Quartz核心类讲解

5.Quartz Trigger 触发器

6.Quartz Job&JobDetail

7.Quartz Calendars日历讲解

8.JobListener监听器和TriggerListener监听器

9.Spring整合Quartz

三十一:Redis 高性能(Key-Value)数据库

1.NoSQL 发展史简介

2.Redis 简介

3.Redis 安装以及调试

4.Redis 常用指令

5.Redis 高级使用(主从复制、哨兵模式、持久化机制)

6.Jedis的基本使用

7.SSM框架基于Redis实现缓存

8.Redis 连接单机版

9.Redis 连接单机版使用连接池

10.封装和整合Spring

11.Redis 集群搭建

三十二:Shiro 安全(权限)框架

1.Shiro功能简介

2.Shiro框架介绍

3.ShiroFilter工作原理

4.Shiro 身份认证

5.Shiro Realm以及Authenticator

6.Shiro拦截器和Permissions(授权)

7.Shiro 自定义拦截器

8.Shiro Session会话

9.Shiro RememberMe功能

10.SSM集成Shiro综合权限菜单

三十三:Lucene&Solr全文检索

1.Lucene 搜索引擎介绍

2.Lucene 中文分词器配置

3.Lucene 索引的维护包括创建、删除、修改操作

4.Lucene Query 各种查询方法

5.Lucene 高亮显示

6.Lucene Facet分面检索

7.Solr简介

8.Solr 安装和配置

9.Solr 索引库管理

10.什么是SolrCloud

11.Solr集群的系统架构

12.将搜索功能切换到集群版

三十四:Zookeeper 分布式系统

1.Zookeeper 简介

2.Zookeeper 特点

3.Zookeeper 安装和配置

4.Zookeeper数据类型

5.Zookeeper服务中操作

6.Zookeeper Wacth触发器

7.Zookeeper分布式应用

三十五:MyCAT 大数据集群

1.MyCat 简介

2.MyCat的下载和安装

3.MyCat分片配置

4.MyCat分片使用和测试

5.MyCat读写分离

6.MyCat 实现从MySQL主从复制

三十六:Dubbo实现分布式架构

1.Dubbo简介

2.单一应用框架

3.垂直应用框架

4.分布式应用框架

5.流动计算机架构

6.Dubbo 能做什么

7.Dubbo 实现原理

8.Dubbo 分布式集群模型

9.Dubbo管理控制台安装

10.Dubbo 集成 SSM

三十七:ActiveMQ 消息队列

1.ActiveMQ简介

2.JMS简介

3.MQ 消息中间件

4.ActiveMQ 安装和使用

5.ActiveMQ 消息过滤

6.ActiveMQ 消息发布和订阅模式

7.ActiveMQ消息持久化

8.ActiveMQ与Spring 整合

三十八:分布式事务和单点登录

1.阶段提交协议讲解

2.使用消息队列来避免分布式事务

3.如何可靠保存凭证

4.业务与消息解耦方式

5.如何解决消息重复投递的问题

6.什么是单点登录

7.单点登录技术的实现机制

三十九:分布式框架原理

1.传统垂直mvc项目

2.垂直架构的缺点

3.RPC架构

4.RPC架构的核心技术点

5.RPC架构的问题

6.SOA服务化架构

7.框架设计原理

8.框架性能、可靠性、功能

9.协议栈(通信模型、协议消息定义、安全性设计)

10.服务路由

11.集群容错

四十:基于SpringMVC的集成单元测试MockMVC

1.Mock测试框架的介绍

2.SpringMVC Mock 配置的步骤

3.基于SpringMVC单元测试实战案例

4.基于SpringMVC+JPA单元测试实战案例

四十一:SpringBoot 快速构建JavaEE项目

1.基于SpringBoot 的thymeleaf 模板引擎

2.基于SpringBoot 多模块实战开发

3.基于SpringBoot 文件上传

4.基于SpringBoot Data Solr搜索引擎开发

5.基于SpringBoot Email邮件发送

6.基于SpringBoot 的Redis实战开发

7.基于SpringBoot 的WebSocket实战开发

8.基于SpringBoot 的ActiveMQ消息队列

希望这些对大家有所帮助。

以上这些资料教程,小编已经为大家全部打包整理好了,希望对大家有所帮助!


耗时3个月整理的全套Java学习路线+教程,月薪25k在向你招手


耗时3个月整理的全套Java学习路线+教程,月薪25k在向你招手


耗时3个月整理的全套Java学习路线+教程,月薪25k在向你招手


获取资料方式:转发本文+关注小编+私信小编(资料)即可免费领取哦!


本文仅代表作者个人观点,不代表SEO研究协会网(www.seoxiehui.cn)官方发声,对观点有疑义请先联系作者本人进行修改,若内容侵权或非法,请先联系发布者或作者删除,若需平台协助请联系平台管理员,邮箱cxb5918@163.com。学习互联网营销技术请到巨推学院www.jutuiedu.com。

鸡蛋

鲜花

握手

雷人

路过
已有 3 人参与

会员评论

推荐阅读

    2019-12-10 16:20
  • 作者:苏彦

    购物商城抖音代运营怎么进行抖音短视频带货?

    抖音运营带着产品的才干很强,因为进入抖音渠道之前的用户的心思状况很无聊,为了消磨时刻,这也决定了抖音用户的心态是放松的和无意识的,而且天然用户也很简单接纳广告客户想要栽培的信息。

  • 2019-12-10 15:59
  • 作者:苏彦

    辅导机构微信代运营公司告知你如何打造高质量的文章?

    现在有许多的企业为了能够在行业内站住脚跟都纷繁注册微信公众号,但是关于一开始还没有摸清出微信公众号运营套路的时候,就会在运营一段时间之后就夭折了,

  • 2019-12-10 15:54
  • 作者:苏彦

    保险公司微信公众号代运营的核心步骤有哪些?

    微信的到来,已经敏捷的融入到了咱们的生活,并且他的到来不仅仅该个人提供了社交便利,同时也给企业带来了很大的协助,自微信推出公众号之后就给企业带来了很好的运营途径,

  • 2019-12-10 15:45
  • 作者:苏彦

    购物中心微信公众号代运营公司哪些因素决定收费规范?

    现在咱们能够看到有许多的职业都将微信公众号平台作为职业品牌营销的综合性服务平台,像咱们专业做微信公众号代运营的服务型公司首要代运营的便是微信订阅号和服务号,

  • 2019-12-10 15:42
  • 作者:tensionwei

    父母经常在家玩手机,孩子失去安全感怎么办?做好三件事共同成长

    科技的出现,让手机代替了书信,让汽车、飞机等交通工具改变了出行,让网络缩小了整个世界……我们可以毫无疑问地说:科技改变了人类的生存方式。在生活中,我们时时刻刻都能感受到科技的存在,它给我们带来了精神和

  • 2019-12-10 15:39
  • 作者:seoandsem

    微信账号出现被冻结、忘记密码、安全提示等问题怎么办?官方给出

    站长之家(ChinaZ.com) 11月8日 消息:日常生活中,我们在使用微信过程中,常常会出现各种问题。比如,忘记登录密码、安全提醒、冻结账号、恢复聊天记录等问题,今日,微信官方给整理出了一份这些高频提问提问的答疑帖

  • 2019-12-10 15:37
  • 作者:苏彦

    早教机构怎么抓到抖音代运营中的中心要害点?

    随意抖音短视频的火爆,也相继的呈现了一些相关职业,抖音运营是一个职位,有些公司为了防止一些没必要的麻烦和小事,不直接招抖音运营团队,而是找抖音代运营的公司,有些公司或行业的确不适合自己找抖音团队做,以

  • 2019-12-10 15:27
  • 作者:seoere

    苹果的手机并不是假的“真香”而是真正的香,你我都无法避免

    我觉得讲这些为时尚早,要认认真真的正视差距才能赶上对手。苹果毕竟是世界第一的高端智能机企业,虽然目前苹果已经失去了世界第一的称号,但是如果仅仅算高端机而言,苹果还是世界第一的。比如华为的任正非总就说过

  • 2019-12-10 15:24
  • 作者:苏彦

    教育行业抖音代运营六大涨粉技巧来了

    抖音现已成为大江南北盛行的在线视频平台。现在是“粉丝经济”的时代,怎么才干让我们的抖音快速涨粉呢?抖音涨粉的技巧有哪些?

  • 2019-12-10 15:11
  • 作者:小鬼彪彪

    暖暖过冬!南方多地也开始供暖了,有你家吗?

    (央视财经《经济信息联播》)入冬以后,北方城市开始集中供暖,家有暖气温暖舒适。而南方一些地区,由于历史原因和气候特点,冬季就些难过了。但这几年冬天,在贵阳市的一些小区,使用了一种被称为“水空调”的供暖

文章排行

TOP ARTICLES

返回顶部