本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~
大家好,我是小满~
我根据自己的自学经历,整理了一些学习过程中踩坑总结的经验,希望自学的小伙伴可以少走弯路:
- 注重实践,不要只是埋头看书,一定要多动手写代码。
- 刚开始自学的时候,可以不用太深究细节,不然可能会怀疑自己的学习能力。等到后面有了一定的基础,回过头来重新回顾,可能会恍然大悟,没有当初想的那么难。
- 可以适当加一些交流群,遇到不懂的知识点,多与其他人交流。
好了,下面给大家分享一下我的自学经验。
自学路线
首先看一下Java学习路线图:
在这里也给大家分享一份精心整理的大厂高频面试题PDF,小伙伴靠着这份手册拿过阿里offer,需要的小伙伴可以自行下载:
Java
推荐书籍:
- 《head first java》
- 《JAVA核心技术卷》
head first系列的书籍讲解比较有趣,比较好理解。《JAVA核心技术卷》难度相对适中,内容也比较全面,部分章节(如Swing)可以跳过。
这些书籍,我已经整理了电子版,放到github上了,总共200多本经典的计算机书籍,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,可以star一下,下次找书直接在上面搜索,仓库持续更新中(花了一个多月的时间整理的,希望对大家有帮助,欢迎star)
仓库持续更新中~
有需要的自取:
视频推荐动力节点老杜的视频教程,1000w的播放量!视频总体上质量很不错,讲解挺详细,适合新手。跟着老杜的视频学下来,可以学到很多知识!
Java零基础教程视频(适合Java 0基础,Java初学入门)_哔哩哔哩_bilibili
再次强调:多敲代码!多敲代码!多敲代码!
学习编程就是看书加实践,要多动手,不然看过的知识点很快就会忘,而且多实践也会遇到很多坑,丰富经验。 可以到github上找一些项目练练手,通过做项目巩固知识,而且每实现一个功能之后,会有满满的成就感,也会激励你不断去学习。
Java基础知识主要有:
-
面向对象特性
-
Java语言基础、循环、数组 ; 了解类和对象
- 掌握强制数据类型转换和自动类型提升规则;
- 常量如何声明及赋值;
- 循环的语法及作用;
- 数组的声明及定义;
- 掌握类的概念以及什么是对象。
-
抽象类和接口
-
数据类型、重写重载、封装继承多态
-
容器类Map/List/Set等
-
异常处理
-
反射机制
-
泛型
-
常用类:String、时间类
-
函数式编程
-
Stream API
-
Lambda 表达式
-
IO流操作,多线程及Socket
- 掌握IO读写流相关的类,了解字节流,字符流和字符流缓冲区;
- 掌握线程的概念,多线程的创建、启动方式,锁和同步的概念及运用;
- 掌握Socket通信的概念,如何声明客户端服务端,如何完成双端数据通信。
Java Web
Java Web是一系列技术的综合,也是大多数Java开发者的技术方向。有必要学习一下。这部分可以看看视频教程。
视频推荐尚硅谷的JavaWeb全套教程,HTML/CSS/JavaScript等跟前端相关的可以倍速观看。
尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版_哔哩哔哩_bilibili
黑马程序员的Java web教程总体也不错
黑马程序员JavaWeb全套基础教程,java web从入门到项目实战(IDEA版javaweb)_哔哩哔哩_bilibili
下面列举Java web需要掌握的知识点。
HTML:
- 掌握网页的基本构成;
- 掌握HTML的基本语法;
- 表格的作用以及合并行、合并列;
- 表单标签的使用,提交方式get/post的区别;
- 框架布局的使用
CSS:
- 掌握CSS的语法及作用,在html中的声明方式;
- 掌握CSS布局的函数使用;
- 掌握CSS外部样式的引入。
JavaScript: