学习书籍

书籍

6,7月份实习,时间37分

  • 《JAVA核心技术卷》

  • 《数据结构与算法分析 java语言描述》

  • 《Spring实战》

  • 《mysql必知必会》

  • 《高性能mysql》

  • **Spring Boot**
  • **Mybatis**                         
  • 《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微服务实战》

中间件

  • redis:缓存热点数据、分布式锁。推荐书籍《redis实战》和《redis设计与实现》

  • rabbitMQ:异步解耦,流量削峰。我是通过博客学习的,没有推荐的书籍

  • kafaka:一种分布式的,基于发布/订阅的消息系统

JVM

jvm也是面试经常会问的内容。Java开发者不用自己进行内存管理、垃圾回收,jvm帮我们做了,但是还是有必要了解下jvm的工作原理,这样在出现oom等问题的时候,才有思路去排查和解决问题。书籍推荐周老师的《深入理解Java虚拟机》。

jvm的基础知识:

  • jvm内存结构(程序计数器、虚拟机栈、本地方法栈、堆、方法区、运行时常量池、直接内存)

  • 类加载过程

  • 双亲委派

  • 垃圾回收算法

  • 垃圾回收器

并发

并发编程的相关内容可以看看《JAVA并发编程实战》这本书,主要内容有:

  • 线程池原理

  • 线程间通信方式

  • 锁(synchronized、ReentrantLock)

  • 并发工具类(CountDownLatch/CyclicBarrier/Semaphore)

  • 原子类

  • AQS

计算机基础知识

平时抽空学习计算机基础知识,巩固基础。

数据结构和算法

推荐书籍《数据结构与算法分析 java语言描述》,用Java语言描述各种数据结构和算法,对于Java开发者来说,更容易理解,主要学习以下内容:

计算机网络

推荐《计算机网络自顶向下方法》:

  • 网络分层结构

  • TCP/IP

  • 三次握手四次挥手

  • 滑动窗口、拥塞控制

  • HTTP/HTTPS

  • 网络安全问题(CSRF、XSS、SQL注入等)

操作系统

学起来比较头大,可以到b站找找视频看,推荐清华大学的公开课。书籍推荐《深入理解计算机系统》,大部头,经典书籍,值得多读几遍。

数据库

数据库也是必学的一块内容,主要是Mysql数据库。书籍推荐:

  • 《mysql必知必会》

  • 《高性能mysql》

《mysql必知必会》主要是Mysql的基础语法,很好理解。后面有了基础再看《高性能mysql》,这本书主要讲解索引、SQL优化、高级特性等,很多Mysql相关面试题出自《高性能Mysql》这本书,值得一看。

Mysql基础知识:

  • 增删改查

  • 事务特性、隔离级别

  • 索引原理、优化

  • b+树

  • 最左匹配原则

  • 存储引擎

  • MVCC

  • 执行计划

  • 分库分表

  • 日志,bin log/undo log/redo log

  • ...

工具

Git 重构代码时跟新版本

Maven

IDE

Last updated