本文旨在梳理服务端开发技术栈,希望帮助后端开发同学更全面了解Java服务端主要涉及的知识点
1. 语言相关
1.1 Java
核心知识点
- Java的类加载机制
- JVM相关:JVM内存模型和结构,GC原理,性能调优
- 泛型
- 集合体系
- 异常体系
- IO体系
- 多线程编程
- 反射
- Servlet
推荐书籍
《Java编程思想》
《Effective Java》
《深入理解Java虚拟机》
1.2 Shell、Python等脚本语言
介绍
此类脚本语言的意义在于辅助后端开发,包括系统运维,工具集成(借助管道、重定向),文本处理,数据计算等工作,提升后端工作效率
核心知识点(Shell)
常用的linux操作和运维命令
管道、重定向
awk、sed等文本处理工具
推荐书籍
《linux与unix shell编程指南》
《鸟哥的Linux私房菜》
《Python编程 从入门到实践》
1.3 SQL 语言
介绍
通用于传统关系型数据库和大数据场景的结构化查询模型语言。传统数据库方面要精通mysql的sql语法;大数据场景主要掌握Hive SQL(Impala和Spark SQL等均在兼容Hive SQL)
核心知识点
区分DDL和DML
经典查询语句主要结构
表连接(内连接,左外连接,右外连接,全连接)
函数(普通函数,聚合函数)
索引
分区
适用场景
传统数据库,传统SQL:用于事务性数据操作,通常用于系统的业务库;
大数据场景下的SQL:用于数据分析,交互式查询,批量数据处理等。
推荐书籍
MySQL:《高性能MySQL》
Hive SQL:《Hive编程指南》