无论你是否想自学Java,认真看完本文,你以后的职场生涯至少少走1年弯路

在网上经常有同学私聊我询问 “如何自学 Java”、“想转行 Java 靠谱吗” 等问题,因为自己也是在大学时自学的 Java,所以我能理解这些同学的痛苦和迷茫。

写这篇文章前,我看了一些网上 Java 自学的文章,很多我都不太满意,有的甚至让我感到愤怒,要么是站在现有的视角侃侃而谈,要么是纯粹的瞎编骗小白。

很多文章都有一个老毛病:完全没有从小白的视角去思考,内容太多,什么微服务、架构、大数据都来了,这根本不是自学阶段该去看的东西,小白看了这些文章,只会越看越懵逼,根本没法下手。

其实我在19年写过一篇“0基础Java自学之路”,但是现在来看,当时那篇文章写的过于简单,只是提供了一个思路,但是很多内容没有写。

如今已经过去了3年,我对于这个话题又有了一些新的思考,同时为了拯救广大正处于水深火热的同学们,于是,我决定重新写一篇自学教程。

2023年Java零基础学习路线(超详细)


自我介绍
在写本文前有必要介绍下我自己,让大家更好地去比较和参考。

我大学是普通本科,大三开始自学的 Java,自学了一年,但是我是计算机专业的,所以有C语言基础,但是我这一年的自学走了不少弯路,花了很多时间学了很多后面根本没用到的东西:Oracle、Hibernate、Struct2、JBPM 等等,还有就是缺少有经验的人的指导,所以容易抓不到重点,所以也浪费了不少时间。

不过当时还没有现在这么内卷,所以我在大四秋招刚开始就找到工作了。

行业现状
程序员现状
由于程序员的薪水比较高,最近几年有很多其他专业的人涌进了程序员行业,加速了这个行业的内卷,但是据某招聘网上的数据统计,程序员当前的需求量还是远高于全行业的平均线的。所以,程序员的现状我觉得是不错的,至少几年内是无需担心的。
众多大厂:阿里、美团、快手、拼多多、滴滴、网易等,都是以 Java 为公司的主语言,部分大厂:腾讯、百度、字节等,虽然以其他语言为主语言,但是多多少少也会有一些 Java 岗。
所以,Java 的现状及未来,我觉得都是比较不错的。岗位多也代表着机会多,对于新人来说比较友好,所以我个人是比较推荐新人学 Java 的。

自学预估周期
自学的周期我给大家定了一个参考时间:6个月,平均每天3-4小时左右,大致安排:

第01周:预科和入门

周一:预科阶段(程序员基本素养、JAVA技术体系、就业和找工作要点)
周二:JAVA入门和开发环境配置
周三:变量和数据类型
周四:IDEA的使用
周五:第一个java小游戏项目

第02周:控制语句

周一:if、switch语句、while、for循环
周二:嵌套循环、break、continue语句
周三:控制语句深入练习
周四:方法
周五:递归算法

第03周面向对象和JVM底层内存分析

周一:对象和类的基本知识
周二:JVM底层内存分析、垃圾回收机制和JVM内存模型
周三:JVM底层分析深化、this、static、package、import
周四:继承、方法重写、Object类
周五:封装、访问控制符、多态、final

第04周:面向对象收尾和数组

周一:抽象类、接口、内部类
周二:面向对象回顾总结
周三:数组初步和内存分析
周四:数组深化、二维数组
周五:冒泡算法、优化冒泡、二分法

第05周:项目开发(数组和飞机小项目)

​周一:游戏主窗口、飞机类设计
周二:键盘控制飞机八个方向
周三:炮弹类设计、双缓冲、矩阵检测、碰撞检测
周四:爆炸类、数组轮播、计时功能
周五:异常机制

第06周:常用类和容器

周一:包装类、字符串(String/StringBuilder/StringBuffer)
周二:时间相关类、File、枚举
周三:泛型、List接口、ArrayList、LinkedList、Vector的用法和底层实现
周四:Map接口、HashMap用法和底层实现分析
周五:Set接口、HashSet用法和底层实现分析、迭代器、Collections用法

第07周:IO流、多线程、网络编程

周一:IO流
周二:序列化和反序列化、设计模式(装饰器模式)、Apache IOUtils和FileUtils
周三:多线程基本知识
周四:死锁、同步、线程协作、生产者和消费者模式、任务定时调度
周五:网络编程(TCP通讯、UDP通讯)

第08周:XML、反射机制、并发编程

周一:XML技术、XML数据解析
周二:反射原理、Class对象和用法
周三:注解、反射读取注解
周四:并发编程模型、JAVA内存模型、线程同步和通讯、锁机制、
周五:阻塞队列、线程池、ThreadLocal

第09周:项目开发(手写WEB服务器)

周一:网络编程回顾、多线程实现聊天室代码
周二:HTML入门、HTTP协议入门、Tomcat服务器快速使用、http查看工具
周三:手写服务器_整体架构和接口、Response、Request
周四:Request储存参数和处理中文、分发器
周五:多请求处理(多态、反射)、XML文件配置和解析

第10周:数据库和SQL语言

周一:Mysql、Oracle安装以及相关客户端
周二:SQL语言基础、select查询、where、orderby、group by、having分
周三:DML、外连接、数据库表和约束条件
周四:子查询、序列、索引、视图、事务
周五:rowid和rownum、分页查询、面试题中的SQL语句

第11周:数据库设计范式_JDBC查询

周一:数据库设计三范式
周二:数据库表的设计
周三:JDBC数据库连接的基本用法(PreparedStatement/ResultSet)
周四:事务处理、时间处理、Clob和Blob大对象
周五:ORM基本原理、Apache DBUtils的使用

第12周:网页编程和设计

周一:HTML5基础、CSS3基础
周二:JavaScript基础
周三:DOM对象处理
周四:Jquery基础
周五:Vue基础

第13周:JAVAEE服务器编程 Ajax

周一:Serlvet入门(Tomcat服务器、Request、Response)
周二:Servlet入门(Session、Cookie、Context、Config)
周三:JSP基础和JSTL标签库
周四:AJAX技术
周五:注册和登录项目综合练习

第14周:Mybatis框架的使用

周一:Mybatis环境搭建和映射文件
周二:查询实现
周三:缓存和动态SQL
周四:Mybatis运行核心原理和常用注解
周五:使用Mybatis实现单表和多表的增删改查

第15周:SSM框架

周一:spring 框架入门、IOC
周二:AOP面向切面等
周三:spring MVC
周四:spring MVC
周五:SSM框架整合

后面还有10周Java学习计划表,因文章有限,大家能学到这里的可以找我要后面学习路线,我后期也会分享出来。

最后我想说,之前整理了好多Java教程,有10个G左右,有需要的小伙伴可以下面自取,祝大家早日上岸!

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值