培养意识
- 制定好一下系统的学习规划,每天定量,学完什么知识点就掌握,能自己应用,而不是能看懂,写不出来东西。因为现在有很多人都是这样,表面上我是学会了,但是一上手去写但是怎么也写不出来。
- 不要自己一个人闷头学,找一套质量不错的视频教程跟着去学习,听课的过程当中一定要把笔记记录下来。笔记当中只记忆重点的结论。把不懂的地方记下来,有时间就去解决。要学会在学习中记好笔记,一定要记得去复习。
- 机会都是留给有准备的人,坚持每天学习也考验你的耐性和毅力,中途如果没有什么事情千万不能松懈,一天都不可以,保持一周6天的学习状态,周日可以休息一下。所以说,如果自己的自制力不够一定要考虑清楚,如果自己的自制力不够,那你在这条路一定走不远。
- 学这个就是为了做项目,学完了做不了项目的,趁早停止,技术的成长都是在项目中提升的,所以一定多接触项目。不要怕遇到问题,因为只有遇到问题解决问题,经验才会积累下来。一定要前后去做项目,如果你不上手去做。只是看项目,只是在脑中思想,这样肯定是不行的。一定要记着,一定要亲自上手去做项目。
- 掌握得当的学习方法,初期自己别盲目,多跟别人去请教一下学习方法,。一定要找一套适合自己的学习方法以及学习路线。
- 一定要锻炼自己的编程思想。在学习的过程中千万不要去抄代码,因为没用。或者说作用很小,如此下去可能会导致你对学习的厌烦
学习计划
- 在课堂上学习的知识点课下尝试编写属于自己的程序,想尽一切方法去推翻这个结论,如果你无法推翻,那么只能选择接受这个结论,采用这种方式测试之后,发现结论记住了。并且同时也锻炼了编程的思路
- 买一些技术性的Java书籍去阅读了,初学初期是不推荐看书
- 多看一些博客以及技术的文章,想方法自己去尝试写文章,写的文章一定要发表,这样一些大佬也能看到或许也有大佬去指正你写的文章,这样你能学到更多的知识同时也能加深自己的记忆。
学习流程
Java核心库
JavaSE的内容包括:Java开发介绍、Java数组、Java面向对象、常用基础类、集合、IO流、多线程、异常、反射。
第一部分:Java开发介绍
- DOS常用命令
- JVM、JRE、JDK之间的关系
- Java开发环境的搭建:安装JDK,配置环境变量
- Java入门程序(Java的开发流程)
- Java的注释,标识符、标识符的命名规范
- Java基本数据类型
- 变量和常量的定义及初始化
- Java的运算符
- 运算符的优先级
- Java分支语句之if…else
- 循环的嵌套
- 方法的定义
- 方法的形参和实参
- 方法的递归调用
第二部分:Java数组
- Java 数组的定义
- Java 数组的声明
- 数组的优势与局限
- 数组的遍历访问(普通循环,增强for循环)
- 数组元素的顺序查找
- 数组元素的冒泡法排序
- Arrays工具类的使用
- 二维数组
第三部分:Java面向对象
- 面向对象设计思想
- 面向对象的分析与设计
- Java与面向对象
- 类中成员变量的定义与意义
- 构造方法的定义和调用
- 面向对象的封装特性
- 局部变量和成员变量的作用域问题
- 静态属性、静态方法、静态代码块
- 面向对象的继承特性
- 继承中构造方法的细节
- 面向对象的多态特性
- 抽象方法与抽象类
- 接口
第四部分:异常
异常的概念
异常的分类
异常的理解
常见异常介绍
运行时异常
编译时异常
运行和编译异常区别
异常的处理方式之捕获异常
异常的处理方式之抛出异常
异常的处理方式之断点调试
断点调试之引导运行步骤
自定义异常
异常关键字处理
关键字执行流程
异常总结
第五部分:集合
集合的概念和作用
集合和数组的区别
集合框架体系介绍
集合框架之Collection接口
ArrayList和LinkedList的方法使用
ArrayList和LinkedList各自的工作原理分析原理分析
使用多种方式遍历集合
HashSet和LinkedHashSet各自的工作原理分析
集合框架之Map接口
泛型的使用
Collections工具类的使用
第六部分:IO流
File类的作用
File类中常用方法的使用介绍
使用File类操作文件和文件夹
相对路径和绝对路径的介绍
IO流的概念和工作原理
IO流的分类
文件流的使用
转换流的使用
缓冲流的使用
对象流的使用
内存流的使用
使用不同的流实现文件内容的拷贝
第七部分:多线程
进程和线程的介绍
进程和线程之间的区别与联系
线程实现方式之继承自Thread类
线程实现方式之实现Runnable接口
线程实现方式之线程池
线程的生命周期
线程中常用方法的使用
MySQL数据库
数据库简介
MySQL的安装与使用
MySQL客户端和服务器配置
用户权限管理
DDL创建数据库和表
约束与外键
DML实现添加、修改、删除数据
聚合函数、日期函数等
DQL简单查询
排序、分组、筛选
多表查询
子查询
in和exists关键字
分页查询
Mysql SQL语句优化介绍
WEB后端(JavaWEB)
第一部分:Servlet
Tomcat与Eclipse的集成开发
什么是Servlet
Servlet的进化史
Servlet的优化过程
Servlet中应用的多线程概念
Servlet接收客户端请求信息
Servlet响应客户端信息
Servlet的生命周期
重定向写法
转发写法
转发和重定向区别
HttpServletRequest获取中文乱码问题
HttpServletResponse响应中文乱码问题
Servlet路径映射问题
Servlet多路径映射
第二部分:Filter与Listener
- Filter&Listener-过滤器的执行原理
- Filter&Listener-过滤器创建步骤
- Filter&Listener-过滤器对于请求的放行_响应经过过滤器
- Filter&Listener-过滤器的生命周期
- Filter&Listener-过滤器的url-pattern
- Filter&Listener-过滤器链的作用
- Filter&Listener-实战_拦截请求
- Filter&Listener-监听器
第三部分:JDBC连接池
JDBC概述
JDBC使用步骤
Connection、Statement、ResultSet接口
使用JDBC 完成数据库DML操作
PreparedStatement对象
大数据的操作
批量处理与元数据
事务处理
隔离级别
自定义连接池
DBCP、C3p0连接池
DBUtis工具类
QueryRunner
自定义结果集处理
连接池知识总结
第四部分:AJAX
Ajax技术背景
Ajax技术的理解
XMLHttpRequest使用步骤
XMLHttpRequest GET/POST的区别
同步请求&异步请求
同步请求&异步请求的区别
Ajax获取不同的返回值类型
Ajax使用原生JavaScript和Jquery的区别
Ajax响应状态处理
JSON语法
Java JSON 解析
Java JSON 生成
Java JSON 第三方工具快速解析
JavaScript JSON转换
Jquery JSON转换
学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。
第五:最好能够停留下来,做一个项目。
这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)
这个项目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL….
管理工具
第一部分:SVN
SVN简介
SVN和Git对比
SVN服务器搭建
SVN创建仓库
SVN创建用户以及分配权限
SVN签出、提交、更新
Eclipse整合svn插件
Idea整合svn插件
使用SVN更新提交
SVN仓库分析
SVN协同修改&冲突解决
SVN代码整合注意事项
SVN权限管理
SVN数据回滚
TortoiseSVN
第二部分:Git
Git概述
Git环境搭建
Git常用操作
Git分支
Git远程仓库
Git标签
Gitee仓库
IDEA整合Git
第三部分:Maven
Maven环境搭建
Maven构建项目
Maven本地仓库配置
Maven中央仓库配置
Maven基本概念
Maven基本命令介绍
Maven于Eclipse整合
Maven于Idea整合
Maven创建web工程
pom.xml、依赖管理
坐标、依赖、生命周期等
Eclipse下的Maven使用
Maven中 继承、聚合
Maven构建SSH/SSM应用
自动部署、持续集成、持续部署
高级框架
第一部分:Spring
框架原理介绍
框架环境搭建
快速入门
创建Bean的方式及实现原理
Bean种类
Bean生命周期
Bean的作用域
Bean的注值方式
整合Junit测试
注解装配Bean
注解装配Bean
AOP思想、原理解剖
AOP底层JDK动态代理
AOP编程
AspectJ介绍及实现AOP开发
事务
Web项目集成Spring
第二部分:Spring MVC
Spring MVC 概述
使用 @RequestMapping映射请求
请求处理方法签名概述
处理方法签名详细说明
使用 HttpMessageConverter
处理模型数据
数据绑定流程剖析
数据格式化
数据校验
视图和视图解析器
处理方法的数据绑定
视图和视图解析器
文件上传下载
JSON处理
拦截器
第三部分:MyBatis
MyBatis数据框架介绍
MyBatis对比Hibernate框架
MyBatis配置、查询数据
MyBatis全局配置文件
MyBatis全局配置文件元素详细介绍
Mapper映射文件
MyBatis两种开发方式
MyBatis中别名配置
MyBatis # 和 $ 拼接参数区别
关联查询,动态sql
MyBatis缓存机制、整合ehcache
MyBatis二级缓存处理
MyBatis、Spring、SpringMVC整合
分页插件
MyBatis逆向工程
最后如果你的薪资想达到15K的话,你可能需要还要学习一些分布式相关的一些技术。
能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis……
我是一个小小的技术小白,我知道想要在技术这个方向走的很远,不仅需要扎实的基础,还有一个长久的目标,这篇文章主要是讲怎么学习Java以及Java相关的基础知识,我也会在以后的文章里面按顺序更新,将看到的学到的以及相关的代码通通写下来,一是为了加强自己的记忆,而是希望有更多的小伙伴一块为了我们自己加入进来学习。
转载:https://www.zhihu.com/question/413277383/answer/1400664720