# Java零基础入行课程大纲详解
内容有点多,你忍一下!
前言
越来越多的人选择软件编程行业了,对于很多软件专业的学生或是跨专业或是转行的同学来说,都比较迷茫,不知道方向,不知道如何下手,怎样才能入门,或者说怎样才能学习好软件编程。 读大一的时候我感觉很简单,到了大二大三之后好像跳级了一样,老师在上面讲,我在下面听,不知所云。久而久之,感觉自己不适合这个专业了,随后便放弃了。对于跨专业或者是转行的同学而言,刚开始的我兴致勃勃,学习一两个月或者一两个星期甚至一两天之后就失去了信心,随便也是草草结束。 但是如果有了方向,不管是看书,看博客,逛论坛,看视频,至少有了方向,只要方向没有问题,即使前进的路走了慢了些,但至少路选对了,不说到达终点,至少会离目标越来越近。下面我就给大家分享一下学习Java的课程大纲。有用的可以多多借鉴,无用的也可以多提提建议。- 基础语法
- 面向对象
- Java API
- 数据库
- Java web – 金刚境
- SSM框架 – 指玄境
- spring boot – 天象境
- spring cloud alibaba – 陆地神仙
- 天人境?
不管学习哪个部分,以下三个步骤都是必须的:
第一步:理解语法
不管学习语法基础还是框架部分,理解是重中之重,如果不能够理解,那学了也是白学。比如说以下代码:
int a;
a = 1;
int b;
a = b;
这里如果你不知道"="为赋值运算符,那就不知道为什么会报错。
String str = null;
if(str == null & String.equals("admin"))
System.out.println(str);
这里如果不理解"&“和没有”&&"的区别,那你也不知道为什么会报错。
所以,不管多简单的语法,一定要先理解。
第二步:语法应用
如果单凭学习,不做练习也是没有用处的,一定要有配套的练习让知识得以巩固。可能对于同学们来说这个才是最大的问题,为什么呢?如果只是简单的练习其实达不到学习的效果,最好是有配套的练习,配套的练习可以帮你承上启下,让你虽然只是简单的做这一节课的练习,但是也是提前学习下节课的内容。所以,有配套的练习也可以让你学习起来事半功倍。
第三步:面试题练习
面试题的练习方式有两种:第一种是学完全套知识练习,第二种是学完对应知识点做练习。那你觉得那种方式更好呢?当然是后者!
可能有些同学会觉得,我学习一个基础语法还能有面试题?答案是必然的,甚至有些公司在出面试题是就喜欢给你出一些基础的题目。尤其是五六年前开始,网上面试题一刷一大把,如果不能剑走偏锋,可能浪费了很多公司资源结果招进来的还只是啥也不会的二傻子。
以下是我总结出来的要掌握的知识点,仅供参考,如有不同见解,欢迎各位同学多提意见
一、基础语法:
这一部分是必不可少的,也是基础中的基础。既然是基础中的基础,那是不是很简单呢?恰好就是你的这种想法,当你学习到循环和嵌套循环的时候,就会打你一个措手不及,甚至导致你后续学习提不起任何兴趣。而对于基础部分而言,也只有这部分相对比较难理解。只要你基础语法部分搞定这些知识点,后面学习起来也会事半功倍。一、程序入门
- 计算机语言的发展历史
- Java特性和优势
- Java跨平台原理
- JDK的下载_安装_卸载
- 系统环境变量path
- classpath环境变量
- JAVA_HOME环境变量
- 第一个Java程序hello world编写、编译、执行
- 程序中常见错误
- Java注释
- 标识符
二、数据类型
- 变量的声明、赋值、使用
- 关键字
- 变量的作用域
- int类型
- double类型
- String
- char
- boolean
- 编码与字符集
- 乱码问题
- 类型转换
- Scanner类
三、运算符
- 运算符概述
- 算术运算符
- 赋值运算符
- 扩展赋值运算符
- 关系运算符
- 逻辑运算符
- 三元运算符
- 位运算符
四、流程控制语句
- 分支结构_if单分支
- 分支结构_if多分支
- 分支结构_if双分支
- 随机数
- 分支结构_嵌套if
- 分支结构_switch
- 循环结构_while循环
- 循环结构_do-while循环
- 循环结构_for循环
- break关键字
- continue关键字
- return关键字
- 嵌套循环
五、数组
- 数组的初始化
- 数组的遍历
- 数组的增删改查
- 数组的复制
- 二维数组的定义
- 二维数组的遍历
- 冒泡排序
- 选择排序
- 插入排序
- 快速排序
- 多维数组
二、面向对象
面向对象作为Java的核心思想当然是必须要理解的,但是很多同学在学习面向对象的知识点的时候都会很惆怅,不理解其中的为什么要面向对象。其实很简单,举个例子,你明明可以自己去饭店吃饭,为什么要点外卖呢?最简单的理解就是不管做什么事情我都可以直接掉方法,不用管内部是怎么实现的。一、类和对象
- 面向过程与面向对象的区别
- 类和对象
- 创建类
- 创建对象
二、方法
- 局部变量与成员变量的区别
- 方法的定义
- 方法的调用
- 方法的重载
- 可变参数
- 构造方法
- 构造方法的重载
三、面向对象关键字
- this
- static
- 代码块
- 包
- import
四、面向对象的三大基本特征
- 封装
- 继承
- super
- 多态
- 方法的重写
- final
- 抽象类
- 接口
五、面向对象扩展
- 单例模式
- 工厂模式
- 内部类
三、Java API
什么是API,应用程序接口,说白了,就是一堆已经写好的Java代码,只需要你拿过来用即可。在学习这个部分的同学,很容易就两极分化了,为什么呢?如果你初中英语甚至是高中英语学的还不错,在学习这个部分的时候会更加得心应手,毕竟还是需要一点点英语基础的。而英语较差的同学会因为在这个部分出现太多的英语单词而感到苦恼。但是如果你稍加练习其实也是很简单的。 TIP:在API部分多线程、网络编程、反射前期应用相对较少,如果没有对应的练习和项目,很容易忘记,也可以放在Javaweb部分之后学习,但是至少要了解相关概念。一、异常
- 使用if-else处理异常
- try-catch捕获异常
- catch中处理异常
- finally
- 多重catch
- 异常的分类
- throw与throws的区别
- 重载与重写异常的区别
- 自定义异常
二、常用类
- 包装类的常用属性
- 包装类常用构造器
- 包装类自动装箱与自动拆箱
- 包装类常用方法
- java.util.Date
- java.sql.Date
- SimpleDateFormat
- Calendar
- Math
- Random
- String类的不变性
- String的常用方法
- String内存分析
- StringBuffer
- StringBuilder
- StringBuffer与StringBuilder的区别
三、集合
- 什么是算法
- 什么是数据结构
- 紧密结构
- 跳转结构
- 集合结构图
- Collecitons
- 比较器
- Arrays
- Collection接口常用方法
- Collection接口遍历方式
- List接口
- ArrayList
- 泛型
- 泛型方法
- 泛型参数
- 泛型通配符
- 泛型受限
- LinkedList
- LinkedList底层原理
- Vector
- Iterator迭代器
- Set接口
- HashSet
- HashSet原理
- LinkedHashSet
- TreeSet使用及原理
- Map接口
- HashMap原理
- HashMap使用
- HashMap属性与方法
- HashMap构造器
- HashMap底层源码底层原理
- TreeMap的使用
- HashTable
- LinkedHashMap
四、IO流
- File类对文件的操作
- File类对目录的操作
- IO流
- FileInputStream
- FileOutputStream
- FileReader
- FileWriter
- 文本文件复制
- 非文本文件复制
- BufferedInputStream
- BufferedOutputStream
- BufferedReader
- BufferedWriter
- InputStreamReader
- OutputStreamWriter
- System类对IO流的支持
- DataInputStream
- DataOutputStream
- 序列化与反序列化
- Serializable接口
五、多线程
- 进程与线程
- 单核CPU与多核CPU执行任务
- 并行和并发
- 创建线程的方式
- 线程的生命周期
- 设置优先级
- join与yield
- sleep
- 精灵线程、守护线程、后台线程
- 同步代码快
- 同步方法
- 生产者与消费者
六、网络编程
- InetAddress
- InetSocketAddress
- 网络通信原理
- 套接字
- TCP_单项通信
- TCP_双向通信
- TCP_对象流传送
- UDP_单向通信
- UDP_双向通信
- UDP_正常通信
- 多线程聊天
七、反射
- 反射的概念
- Class类14
- 获取字节码信息的四种方式
- Class类实例种类
- 获取构造器
- 创建对象
- 获取属性
- 对属性赋值
- 获取方法
- 调用方法
- 获取类的接口、包、注解
- 请求静态资源关联
四、数据库
TIP:数据库推荐大家使用MySQL数据库一、MySQL数据库
- 数据库概念
- 三大范式
- 数据库类型
- 常见关系型数据库
- 数据库安装与卸载
- MySQL登录
- Navicat链接数据库
- 创建数据库
- 数据库列类型
- 创建表
- 数据的增删改查
- 数据库非外键约束
- 数据库外键约束
- MySQL函数
- 分组查询
- 多表查询
- 子查询
- 事务
- 存储过程
二、JDBC
- JDBC概念
- 导入与移除jar包
- 驱动类加载方式
- 增删改功能
- 查询操作
- 实体类封装结果集
- sql注入
- 预编译语句对象
- 批处理
- JDBC控制事务
- 设置回滚点
- DAO模式
- 高级结果集
- 元数据
五、Java Web
Java web部分分为前端和web两个部分,对于Java开发工程师而言,即使是前端的知识也是需要掌握的,但是没有后端部分要求那么严格,做到理解,应用为主,不需要在原理部分深究。web部分依然需要掌握并且部分知识需要理解原理。 如果能把这部分理解透,那后面的框架部分学习起来也会更得心应手一、前端–HTML
- HTML标准结构
- HBuilder或VS Code工具的使用
- 基本标签
- 文本标签
- 多媒体标签
- 超链接标签
- 列表标签
- 表格标签
- 内嵌框架
- 框架集合
- form表单
- 表单元素
- HTML新增属性
二、前端–CSS
- CSS的使用的三种方式
- 选择器_基本选择器
- 选择器_关系选择器
- 选择器_属性选择器
- 选择器_伪类选择器
- 浮动样式
- 定位样式
- 盒子模型
三、前端–JS
- JS的引入方式
- JS中的数据类型
- JS中的运算符
- JS流程控制
- JS函数
- JS数组
- JS - String
- JS - Number
- JS - Math
- JS - Date
- 自定义对象
- 查看原型
- 操作原型
- 原型链
- JS事件
- BOM和DOM
- window对象弹窗
- window对象定时器
- window对象的open和close方法
- location对象
- history对象
- navigator和screen
- document对象
- 直接获取元素的方式
- 操作属性和样式
- 操作标签文本
- 增加删除节点
- echarts快速上手
四、前端–JQuery
- 页面加载函数
- jQuery选择器
- 操作元素属性
- 操作样式
- 操作文本
- 增删元素
- 事件处理
- jQuery对象和DOM对象的转换
- jQuery迭代方式
- JQuery动画
- 表单校验
- JQuery正则表达式
- Bootstrap
- 固定容器和流容器
- 栅格系统
五、前端–Vue
- Vue的基本使用
- Vue的插值语法
- Vue的常用指令
- 修饰符
- vue-cli脚手架
- Vue的组件
六、web–tomcat
- Tomcat下载
- Tomcat安装和启动
- Tomcat目录
- Tomcat部署项目
- Tomcat配置
- Tomcat配置host-Manager
- Tomcat组件
七、web–JavaEE入门
- HTTP协议介绍
- HTTP请求
- HTTP响应
- 请求静态资源关联
- JAVAWEB项目结构
- 使用idea创建WEB项目
- idea中运行JAVAWEB项目
- Tomcat日志乱码问题
- idea运行项目模式
- idea热部署项目
八、web–servlet
- Servlet引入
- Servlet简单开发
- Request获取请求行和请求头
- Request获取请求参数
- Response设置响应
- 乱码问题
- Servlet的继承结构
- Servlet的生命周期
- ServletContext对象
- ServletConfig对象
- urlpattern匹配规则
- 注解模式开发Servlet
- forward请求转发
- include请求转发
- 请求与转发区别
- 响应重定向处理
- 会话管理
- Cookie
- Session
- Cokkie与session的区别
- HttpSession单次会话面登录案例
- 作用域
九、web–JSP
- JSP小脚本
- JSP的原理
- JSP执行过程
- JSP性能
- JSP的继承结构
- JSP中的变量
- JSP的注释
- page指令标签
- include指令标签
- 九大内置对象
- 作用域传数据
- EL表达式
- JSTL标签
- MVC模式
- 过滤器编写与配置
- 过滤器生命周期
- 过滤器链
- 过滤器初始化参数配置
- 过滤器注解
- 过滤器处理post乱码
- 过滤器控制登录
- 监听器
- request监听器
- session特殊监听器
- 分页
- 文件上传下载
十、web–Ajax
- 同步和异步的概念
- 异步验证用户名案例
- json格式
- Jquery实现异步校验
- 前后端数据格式处理
- ajax方法属性
- JQuery中ajax方法的使用
- ajax跨域
- 跨域原理
- JSONP实现跨域
- getJSON简化跨域请求
- 二级联动
六、总结
将上面部分学完,如果还能将原理理解透彻,对于Java而言,可以说是已经入门了。后面的框架部分其实也就是用前面的内容进行了封装。所以想要轻松的学好后面的框架部分,势必就要把前面的基础打牢。
后续继续分享框架部分的课程大纲,如果觉得楼主写的还不错,可以收藏关注,同学们的每一个点赞收藏关注也是对楼主的肯定,谢谢。
各位同学有什么建议也可以私信楼主,谢谢!