我会从Java基础部分、主流框架、计算机基础以及Java工程实践这四个方面来进行叙述,还会给大家推荐一些比较经典的书籍配合学习,都是我自己亲自阅读过的,有很强的提升作用。
一、Java 基础部分
- 基础语法
- 流程控制
- 数组
- 面向对象
- 异常处理
- 集合与队列
- I/O
- 多线程
- 网络编程
- 虚拟机
推荐书籍:
四、计算机基础原理
想要进大厂,不仅仅需要你把Java语言学好,还会考察你的计算机基础掌握的如何,对于想要进大厂的同学、计算机网络,计算机组成,操作系统,算法,数据结构是必须要熟练掌握的。对基础知识的掌握程度决定着技术这条路将来能走多远,且新技术不断产生,根本学不完,而掌握基础原理可以以不变应万变。
1、算法与数据结构
建议你每周都去牛客和力扣上刷几道题,做到常见的算法和数据结构的问题都可以对答如流。如果你是应届生,毕业求职的时候可以轻松拿到一些大厂的offer,走社招的话,这部分也是非常重要的加分项。
推荐书籍:
想要成为Java高级工程师,除了以上要求外,还要熟悉高可用 MySQL、主从同步、读写分离、分表分库等技术,它们是你成为高级技术专家的必备知识。我在实际面试中,在讨论高可用服务方案时,一般面试者也会和我讨论到这些,但是大多数面试者只知道大致思想,细节往往都不懂。
推荐书籍:
5、计算机组成原理
我推荐去看《编译系统透视:图解编译原理》和《计算机组成与设计:硬件软件接口》这两本就够了。
五、Java 工程实践与代码规范
Java 是一门面向对象的编程语言,会使用大量的设计模式,如果你想写出道高效的代码,只有基础知识是不够的,建议你还得学习一些 Java编码技巧和工程实践方面的知识。
推荐书籍:
代码规范与风格优化
《重构:改善既有代码设计》《代码整洁之道》这两本书大家一定要去看一下,绝对可以大幅度提高你实际编码的技巧和编码的风格。
那么以上就是我的一些经验分享,希望可以帮助到大家。
- 《Java核心技术1》
- 《Java核心技术2》
- 《Java并发编程实战》
- 《Java并发编程的艺术》
- 《Java网络编程》
- 《Java网络编程精解》
- 《深入理解Java虚拟机》
- 《深入分析Java Web技术内幕 修订版》
二、Java 框架
1. Netty
做Java开发的如果不了解Netty框架,那基本很难成为高级开发者,我们平时虽然不会直接用到Netty,但是我们常用的框架底层基本都是Netty,所以学习Java的同学,必须首先要熟练了解Netty。
2. SSM 框架
目前Java开发的主要流行框架就是SSM整合框架,就是Spring + SpringMVC + MyBatis。SSM框架的书籍没什么好推荐的,我建议大家结合一些视频进行学习三、学习 Java 注意事项
- 尽量不要机械式的死记硬背知识点,想要卷的过别人,就要深挖一些Java背后运行的原理。
- 建议多看看Java经典项目的源码,XXXX管理系统已经烂大街了,面试基本没什么竞争力。
- 多写代码才是能学好Java的关键,光看视频没有用,跟着书上的代码都敲下来,代码写的多了,水平自然就会上去。
- 不要一个人闭门造车,你遇到的问题,在之前都已经被解决过,多跟比你强的人沟通交流,才会使你快速的进步。
- 《数据结构与算法分析》
- 《算法导论》
- 《大话数据结构》
- 《编程之美》
- 《剑指offer》
2、操作系统
我的建议学习操作系统知识时,不一定要看完所有操作系统书籍,但一定要将一些基础概念,如进程、线程、内存模式等看懂理清。推荐去看一下《现代操作系统》,这本书同时涉及到了 Windows 和 Linux 两个操作系统平台,用各种辅助工具剖析了程序从源码到二进制文件再到装载到进程地址空间里面的各个细节,甚至连进程地址空间中的堆结构、栈结构也分析得清清楚楚,同时也分析了 C Runtime(CRT)、glibc 这样的操作系统接口库的原理和执行逻辑,是一本实实在在帮你实战操作系统原理的好书。3、计算机网络
我们现在学习计算机网络,除了要掌握网络的基础知识外,还要熟悉网络编程。推荐你去看《计算机网络:自顶向下方法》这本书。网络编程方面的实战书我推荐《TCP/IP 网络编程》,这本书也适合无任何 Socket API 编程经验的小白,这本书涵盖从基础的 Socket API 到高级的 IO 网络模型,有非常详细和生动的例子。4、数据库
- 熟悉基本 SQL 操作 包括增删改查(insert、delete、update、select语句),排序 order,条件查询(where 子语句),限制查询结果数量(LIMIT语句)等
- 稍微高级一点的 SQL 操作(如 Group by,in,join,left join,多表联合查询,别名的使用,select 子语句等)
- 索引的概念、索引的原理、索引的创建技巧
- 数据库本身的操作,建库建表,数据的导入导出
- 数据库用户权限控制(权限机制)
- MySQL的两种数据库引擎的区别
- SQL 优化技巧
以上属于对开发的基本的数据库知识要求,推荐一本入门级的数据库书籍《MySQL技术内幕》 - 《高性能 MySQL》
- 《MySQL 排错指南》
- 《数据库索引设计与优化》
- 《Effective Java》
- 《阿里Java开发手册》
- 《重构_改善既有代码的设计》
- 《大话设计模式》