前言:很多小伙伴在学习java的时候,总会遇到以下问题:
1.怎么从零开始学java?
2.怎么能系统学习java,满足工作和面试要求?
3.有没有免费系统java教程(不确定自己适不适合学java,想自学看看)?等等
这里附上java零基础最全学习指南,大家可以按照思维导图一步一步学习,下面我会详细介绍每个阶段该怎么学,从哪儿学等各方面的知识!
如果有不明白的地方,可以在评论区留言告诉我。
一、预科阶段:确定自己是否可以坚持学习java
程序员的素养:
为什么要学编程,什么样的人才可以做程序员。要明白自己想要什么,做程序员要具备那些条件。我们才能放心学习。
视频资料:为什么需要学编程
职业规划:
为自己做一个5年的职业规划和奋斗目标
了解自己所在行业,是否可以转换IT行业(针对在职的朋友)
编程语言很多,如何选择适合自己的开发语言(不确定学什么语言的朋友)
35岁危机,程序员是不是吃青春饭?如何提升自己,迈向更到年薪?
视频教程:职业规划
java的技术思想
- 零基础学java的秘诀
- 十分钟秒懂编程,程序员就是现实逻辑表达
- 表格思想,理解数据库存储数据
- 表格思想,理解数据库存储对象
- 表格思想,理解java类和对象
笔试和面试的重点
- 面试前,三大让步让你秒杀90%的竞争者
- 面试中,十大要点吸引面试官!
- 面试中,不该问的4个问题
职场软实力:
二、JAVASE阶段
变量、数据类型、运算符
- 二进制和十进制的转化
- 注释、单行注释、多行注释、文本注释、注释内容和字节码的关系
- 标识符、关键字、驼峰原则
- 变量的本质、内存画图、变量声明和初始化
- 变量的分类和作用域(局部变量、成员变量、静态变量)
- 常量和Final
- 基本数据类型介绍
- 整型变量和整型常量
- 浮点类型、float、double
- char字符型、转义字符
- boolean布尔型、if语句使用要点、布尔类型占用空间问题
- 运算符介绍
- 算数运算符(二元、自增、自减)
- 赋值和赋值运算符
- 关系运算符详解
- 逻辑运算符、短路运算符详解
- 位运算符详解
- 字符串连接符
- 条件运算符(三元运算符)
- 运算符优先级问题
- 自动类型转换详解
- 强制类型装换详解
- 基本数据类型装换常见错误、溢出、L问题
- 使用Scanner获取键盘输入
控制语句
- 控制语句和实现逻辑对应
- if单选结构
- if_elseif_else多选结构
- switch语句_IDEA更换主题
- 循环_while
- 循环_for循环_dowhile
- 嵌套循环
- break和continue语句_标签_控制语句底层原理
- 写一个年薪计算机_百度查问题的秘诀(重要)
- 个人所得税计算器软件
- 方法核心详解_天才思维模型教你高手学习思维模式
- 方法的重载
- 递归结构讲解_递归头_递归体
面向对象编程-基础
视频资料:Java基础与进阶
- 面向过程和面向对象的区别
- 类和对象的概述
- 类的属性和方法
- 创建对象内存分析
- 构造方法(Construtor)及重载
- 对象类型的参数传递
- this关键字
- static关键字详解
- 局部代码块、构造代码块和静态代码块
- package和import详解
- JavaDoc生成API文档
面向对象编程-进阶
- 面向对象的三大特性
- 面向对象之【封装(Encapsulation)】
- 访问权限修饰符
- 面向对象之【继承(Inheritance)】
- Object类
- 方法重写Override
- super关键字详解
- 重写equals()和toString()
- 继承中对象创建的内存分析
- 面向对象之【多态(Polymorphism)】
- 向上转型
- 向下转型
- instanceof运算符
- 编译时和运行时详解
- final修饰符
- 抽象类和抽象方法(abstrct)
- 接口的定义和实现
- JDK8的接口新特性
- 接口应用:内部类比较器Comparable
- 内部类详解
- Java的内存管理与垃圾回收
异常机制
- 异常的概述
- 异常的执行过程与分析
- try-catch-finally捕捉异常
- throw抛出异常
- throws声明异常
- 异常继承体系
- 运行时异常和编译异常
- 自定义异常
Java常用类
视频资料:Java常用类
- Wrapper包装类
- 自动装箱和自动拆箱
- 包装类的源码分析
- String类的使用与内存原理
- String类的源码分析
- StringBuffer
- StringBuilder
- 字符串处理类性能分析
- Date类
- System类
- DateFormat类
- Calendat类
- Math类
- BigInteger类和BigDecimal类
- Random类
- 枚举类
- File类
- 常见的面试题讲述与分析
数据结构算法
- 数据结构的概述
- 线性表
- 顺序表
- 链表
- 栈和队列
- 树
- 二叉树
- 二叉查找树
- 二叉平衡树
- 黑红树
- 图
- 冒泡排序
- 选择排序
- 递归
- 折半查找
集合(容器)
- 集合和数组的联系和区别
- 集合框架体系
- ArrayList的使用和源码分析
- 集合中使用泛型
- LinkedList的使用和源码分析
- HashSet的使用和源码分析
- 哈希表及原理
- TreeSet的使用和源码分析
- 比较器Comparable和Comparator
- HashMap的使用和源码分析
- TreeMap的使用和源码分析
- Iterator于ListIterator
- Collections工具类
- 旧集合类Vector、Hashtable
- 集合总结和选择依据
- 泛型接口
- 泛型类
- 泛型方法
IO流
- IO流的概念
- IO流的分类及其原理分析
- 文件流FlieInputStream、FileOutputStream
- 缓冲流BufferedInputStream、BufferedOutputStream
- 数据流ObjectInputStream、ObjectOutputStream
- 序列化和反序列化
- 转换流InputStreamReader、OutputStreamWriter
- 打印流PrintWrite和PrintStream
- 数组流ByteArrayOutputStream、ByteArrayInputStream
- 使用IO复制文件夹
多线程
- 进程和线程
- 线程的创建与启动
- 创建线程的三种方式对比
- 线程的生命周期
- 线程控制
- 多线程的安全问题与解决办法
- 线程的同步:同步代码块
- 线程的同步:同步方法
- 线程的同步:Lock锁
- 线程的死锁问题
- 线程通信
- Condition
- 线程的完整生命周期
- 线程池ThreadPoolExecutor
- ForkJoin框架
- ThreadLocal类
网络编程
- 计算机网络基础知识
- 网络通信协议
- OSI参考模型
- TCP/IP参考模型
- 数据的封装与拆封原理解析
- TCP协议
- UDP协议
- IP地址和端口号
- URL和Socket
- 使用TCP编程实现登录功能
- 使用UDP编程实现客服系统
- 使用TCP编程实现文件上传
集合提升寻训练
- 手写ArrayList
- 手写单链表
- 手写Linkedlist
- 手写HashMap
- 手写HashSet
- 最新并发集合类
多线程提升训练
- 生产者消费者模式扩展
- Lock锁和Condition
- ReadWriteLock
- BlockingQueue
- volatile关键字
- 多线程题目练习
- JDK新特征
- 面试题详解
三、数据库阶段
视频教程
四、JDBC和MyBatis
视频教程
五、WEB前端必须知识
视频教程
今天先给大家分享第1-5节的内容,下期再给大家分享第6-10节的内容,朋友们一定要认真学习,反复研读,肯定会有很大的收获的。