在学习一门新的知识之前,需要先了解它的全貌—>学习目的—>学习顺序—>制定计划—>找到学习资源—>坚持不懈。
我们就按照这个顺序进行下面的分享,希望帮助想要学Java,还在迷茫中的小伙伴。
一、Java概览
Java 语言是美国 Sun 公司(Stanford University Network)在 1995 年推出的计算机语言。后被 Oracle 公司收购。Java 之父:詹姆斯·高斯林(James Gosling)。
Java三大平台
JavaSE、JavaME、JavaEE;
Java SE : Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。
桌面应用 :用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验。
学习 Java SE 的目的 : 为今后要从事的 Java EE 开发,打基础。
Java ME : Java 语言的(小型版),用于嵌入式消费类电子设备
Java EE : Java 语言的(企业版),用于 Web 方向的网站开发。
网页:用于数据展示
网站:网页 + 后台服务器
Java的就业方向
- 1、企业级应用开发:企业级应用开发大可以做全国联网的系统,小到中小企业的应用解决方案。多数没有前端开发的通常是从一个服务器接收数据,处理后发给另一个处理系统。
- 2、网站开发:比如说京东商城、淘宝。
- 3、软件开发:例如Eclipse,MyEclipse,IneteliJIdea和Netbans IDE等知名Java开发工具。
- 4、嵌入式领域:Java因其具有的诸多优点受到了嵌入式领域的青睐,并得到了大量的研究与开发应用。
- 5、大数据:Java大数据的应用领域非常的广泛,可以简单分为几类:基础大数据服务平台,大中型的商业应用包括我们常说的企业级应用、各种类型的网站等。
- 6、科学应用:Java的安全性、便携性让Java在科学应用、金融服务、空间巨大。
二、学习目的
大家学Java大部分都是为了就业,那么学习目的这里就是需要了解当下企业对Java后端开发的招聘标准。如果连个学习概念都没有,就是盲目的乱学了。再了解之前,先看看Java的技术栈。
当下,企业对Java开发的招聘需求:
- 有真实的项目经验,比如毕业设计、实习等等,如果在公司实习过,其实已经强于很多应届生了。如果没有,那么项目经验就非常重要了。
- 什么项目?比如运行通过的项目,要写清楚项目用到的技术。熟悉SpringBoot增删改查,那就尽可能的写上你熟悉的logback、redis等。
尤其是针对自学,我们完全不清楚职场的状况,有工作经验通过招聘需求和业务就知道去了公司大概做什么。但是没有经验的,很难知道真正一个开发到工作中做什么。
- 1、能跑的通一个spring boot项目;
- 2、项目里的各种语言,不要一下就能看懂,但是对于不熟悉的语法和Api能够通过查询资料之后理解含义。
- 3、spring boot项目运行启动之后,能够通过url请求拿到结果,发出url请求后,这个请求经过了哪些模块,是怎么访问的数据库,然后返回,处理中出现了异常怎么办。这些流程要明白。
很多人会质疑2023年了,我就跑通一个SpringBoot项目能找到工作?解释一句,这里针对的是初级开发的工作。非要说去学习各种组件,比如redis或者是spring cloud alibaba组件等等。也没有说错,这些内容是提高竞争力的。
能够达到我说的要求,去参加面试。说实话通过面试都能学到东西,起码知道公司怎么定级的。初级程序员应该掌握什么,高级程序员应该掌握什么。多少工资范围会被问到分布式组件等问题。这样就算面试失败了,也知道方向,知道怎么更有效的学习。绝对要比脱离了实际,光听别人怎么说要强的太多了。
三、Java学习顺序(资源)
简略版Java学习路线图:
(下方链接点开直接进入课程当中)
- 入门:Java SE基础 → Java Web(含数据库+H5+js+vue)
- 中级:Maven → Git → SSM框架 → MybatisPlus → Spring Boot→ 《传智健康》项目实战 → 《瑞吉外卖》项目实战
- 进阶:Spring Cloud(微服务开发,学这一套就够了) 也可以按照以下技术点学:
Dubbo → Zookeeper → RabbitMQ → RocketMQ → Docker → Redis → MongoDB → 搜索技术Elasticsearch → MySQL进阶 - 项目:《SaaSiHRM》企业服务 → 《好客租房》生活服务 → 权限管理一体化解决方案 → 短信网关平台
- 面试:Java大厂面试专题课 → Java百度地图
以上技术,足以支撑大家找到一份好的Java开发工作,如果想工作后再提升,页面底部还有30+套课程。
工作后可以再学习提升的技术:
JDK8-15新特性 → 编程强化 → 数据库强化 → 安全框架SpringSecurity → 报表技术 → 模板引擎VelocityTools → 工作流Activiti7……
黑马程序员:2023年黑马程序员Java学习路线图https://zhuanlan.zhihu.com/p/596422138
四、制定计划
希望大家可以参考黑马程序员这样的计划,根据自己每天学习的时间制定自己的学习计划。给大家作为参考:
笔记 | 包含知识点 |
---|---|
Java-第一天-基础语法 | 人机交互、Java以及发展史、主要特性、JRE和JDK |
Java-第二天-Java基础 | 注释、字面量、变量、数据类型、标识符、键盘录入 |
Java-第三天-IDEA下载安装 | IDEA下载安装、中层级结构介绍、第一个代码、类、模块、项目的相关操作 |
Java-第四天-运算符 | 运算符和表达式、算数运算符、隐式转换、强制转换、字符串相加、算术运算符总结;附习题 |
Java-第五天-流程控制语句 | 流程控制语句、if语句、switch语句、循环结构 |
Java-第六天-回顾+练习 | 相关练习题巩固前五天内容; |
Java-第七天-面向对象 | 类的概念,设计类获得对象,定义类的补充注意事项。内存图,构造器,this关键字,封装,标准JavaBean。成员变量和局部变量区别。 |
Java-第八天-常用API | String的概述,创建对象,常用API-字符串内容比较、遍历、替换、截取、分割操作;ArrayList相关学习; |
Java-第九天-ATM系统 | 以上内容完成后可以联系。 |
Java-第十天-面向对象进阶 | static、单例、代码块、继承 |
Java-第十一天-面向对象进阶 | 包、权限修饰符、final、常量、枚举、抽象类、接口等。 |
Java-第十二天-面向对象进阶 | 多态、内部类、常用API |
Java-第十三天-常用API | 时间与日期、JDK8新增日期类、包装类、正则表达式、Arrays类、常见算法、Lambda表达式 |
Java-第十四天-集合 | 集合的体系特点 Collection的常用方法 集合的遍历方式 集合存储自定义类型的对象 常见数据结构 List系列集合 补充知识:集合的并发修改异常问题 补充知识:泛型深入 |
Java-第十五天-集合 | Set系列集合、、Collection体系的特点、使用场景总结、Collection体系的综合案例、Map集合体系、补充知识:集合的嵌套 |
Java-第十六天-Stream、异常体系 | 创建不可变集合、Stream流、异常处理 |
Java-第十七天-日志框架、阶段项目 | 日志框架、日志技术体系结构、Logback概述 Logback快速入门、Logback配置详解-输出位置、格式设置、Logback配置详解-日志级别设置、阶段项目实战 |
Java-第十八天-File类、IO流 | File类的使用、IO流:概述、IO流:字节流、IO流:资源释放的方式 字符流、字符输出流、缓冲流、转换流、序列化对象、打印流 |
Java-第十九天-多线程 | 多线程的创建 方式一:继承Thread类 方式二:实现Runnable接口 方式三:JDK 5.0新增:实现Callable接口 Thread的常用方法、线程安全、线程同步、线程通信、线程池 补充知识:定时器 补充知识:并发、并行 补充知识:线程的生命周期 |
Java-第二十天-网路编程 | 网络通信三要素、UDP通信-快速入门 UDP通信-广播、组播、TCP通信-快速入门、TCP通信-多发多收消息、TCP通信-同时接受多个客户端消息、TCP通信-使用线程池优化、TCP通信实战案例-即时通信、TCP通信实战案例-模拟BS系统 |
Java-第二十一天-单元测试、反射、注解、动态代理 | 单元测试、单元测试概述、单元测试快速入门、单元测试常用注解、反射、注解、动态代理 |
Java-第二十二天-XML、XML解析、设计模式等 | XML、XML检索技术:Xpath、设计模式:工厂模式、设计模式:装饰模式x |
上述课程表是以每天学习6最少小时为基础设定的学习内容,如果各位小伙伴每天只有4小时学习内容,需要重新设定学习内容。
基础模块的计划定好,还要清楚的知道每一天学什么
如果不知道该怎么做计划的小伙伴,直接后台 @黑马程序员找我,给大家发每一天的学习计划!
五、Java全部学习资源
【基础】
- 黑马程序员:自学Java第一天-认识Java以及JDK的安装和下载
- 黑马程序员:自学Java第二天-Java基础语法以及IDEA安装操作
- 黑马程序员:自学Java第三天-运算符、表达式、字符串的操作等
- 黑马程序员:自学Java第四天-流程控制语句
- 黑马程序员:自学Java第五天-数组全部知识点以及7个练习题
- 黑马程序员:自学Java第六天-循环、条件控制语句、Random(附习题)
- 黑马程序员:自学Java第七天-方法的概述
- 黑马程序员:自学Java第八天:面向对象
【JavaWeb】
- MySQL的安装及登陆基本操作(附图)手把手带你安装
- MySQL基础:通过SQL对数据库进行CRUD
- MySQL基础:通过SQL对表、数据进行CRUD,万字实际案例手把手教程
- MySQL高级:掌握约束的使用
- MySQL高级:掌握表关系及建表原则
- MySQL高级:重点掌握多表查询操作
- MySQL高级:以实际案例掌握事务操作
- JDBC:从CRUD开始,理解JDBC中的各个对象作用,掌握Druid的使用
- Maven从安装到手把手教学进行项目管理
- MyBatis完成代理方式查询数据以及核心文件配置、
- Mybatis:使用映射配置文件实现CRUD操作,能够使用注解实现CRUD操作
- HTML标签大全,存起来总有一天用的上
- Java后端学CSS内容
【SSM】
- SSM框架01:Spring的IoC和DI,以及手把手带你创建Spring核心配置文件
- SSM框架02:从0-1学习Spring配置文件
- 为什么要学Spring?学什么?怎么学?
- Spring到底是如何来实现IOC和DI?案例解析入门篇
- 万字详解Spring之IOC全部知识点
- 详解DI相关内容,一文掌握DI配置与使用
- Spring掌握IOC/DI配置管理第三方bean
- Spring核心容器环境配置、创建、依赖注入等
- Spring掌握IOC/DI注解管理第三方bean
- Spring:IOC/DI注解开发管理第三方bean
- 完成Spring与Mybatis及Junit的整合开发
- Spring:入门AOP案例分析
- 能运用AOP相关知识完成对应的案例编写