学习书籍
书籍
6,7月份实习,时间37分
《JAVA核心技术卷》
《数据结构与算法分析 java语言描述》
《Spring实战》
《mysql必知必会》
《高性能mysql》
《spring cloud微服务实战》
《redis实战》
《redis设计与实现》
《深入理解Java虚拟机》
《JAVA并发编程实战》
《计算机网络自顶向下方法》
《深入理解计算机系统》
《图解HTTP》
java基础
《JAVA核心技术卷》
Java基础知识主要有:
类与对象
面向对象特性
抽象类和接口
数据类型、重写重载、封装继承多态
容器类Map/List/Set等
IO操作:InputStream , OutputStream, Reader/Writer, 文件读取,各种流读取等
异常处理
反射机制
泛型
框架
主流框架主要有:
spring:面向切面、依赖注入,推荐书籍《Spring实战》,通过demo的方式带你一步步搭建Spring应用
springboot:习惯优于配置、自动配置。目前很多公司内部都是使用Spring Boot。书籍推荐《Spring Boot实战》
springmvc:基于MVC架构模式的轻量级Web框架
Mybatis:orm框架,推荐书籍《深入浅出Mybatis》
springcloud:现在面试基本都会问到微服务相关的内容,最好了解下微服务相关的知识。服务注册与发现、负载均衡、服务降级、API网关等。推荐书籍《spring cloud微服务实战》
中间件
rabbitMQ:异步解耦,流量削峰。我是通过博客学习的,没有推荐的书籍
kafaka:一种分布式的,基于发布/订阅的消息系统
JVM
jvm也是面试经常会问的内容。Java开发者不用自己进行内存管理、垃圾回收,jvm帮我们做了,但是还是有必要了解下jvm的工作原理,这样在出现oom等问题的时候,才有思路去排查和解决问题。书籍推荐周老师的《深入理解Java虚拟机》。
jvm的基础知识:
jvm内存结构(程序计数器、虚拟机栈、本地方法栈、堆、方法区、运行时常量池、直接内存)
类加载过程
双亲委派
垃圾回收算法
垃圾回收器
并发
并发编程的相关内容可以看看《JAVA并发编程实战》这本书,主要内容有:
线程池原理
线程间通信方式
锁(synchronized、ReentrantLock)
并发工具类(CountDownLatch/CyclicBarrier/Semaphore)
原子类
AQS
计算机基础知识
平时抽空学习计算机基础知识,巩固基础。
堆结构
计算机网络
推荐《计算机网络自顶向下方法》:
网络分层结构
TCP/IP
三次握手四次挥手
滑动窗口、拥塞控制
HTTP/HTTPS
网络安全问题(CSRF、XSS、SQL注入等)
操作系统
数据库
数据库也是必学的一块内容,主要是Mysql数据库。书籍推荐:
《mysql必知必会》
《高性能mysql》
《mysql必知必会》主要是Mysql的基础语法,很好理解。后面有了基础再看《高性能mysql》,这本书主要讲解索引、SQL优化、高级特性等,很多Mysql相关面试题出自《高性能Mysql》这本书,值得一看。
Mysql基础知识:
增删改查
事务特性、隔离级别
索引原理、优化
b+树
最左匹配原则
存储引擎
MVCC
执行计划
分库分表
日志,bin log/undo log/redo log
...
工具
Git 重构代码时跟新版本
Maven
IDE
Last updated