如何高效学习Java?

本回答希望能够把Java高效自学的方法分享给大家,让小伙伴们少走弯路。附:2023年Java课程+讲义+笔记源码,篇幅尽量控制,希望对大家有帮助。

一、准备

这里的准备重点不是准备安装开发环境什么的,而是心里准备。

学Java需要有一定的时间和耐心,能坚持下蛆。起码一天的学习时间有6小时,要是当个兴趣也要有大块的时间进行学习,而不是碎片时间就能搞定了。

另外是30%的理论知识,需要70%的时间来练习。

黑马程序员为大家准备了2023年的入门—>进阶—>就业的课程安排。

如何高效学习Java?_第1张图片

以这份学习路线图为例,建议大家安排好每日学习计划

笔记 包含知识点
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学习路线图:

(下方链接点开直接进入课程当中)
  • 入门: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学习路线图21 赞同 · 4 评论文章正在上传…重新上传取消

链接中超过40+套课程,700+小时学习内容,均有配套笔记可以找黑马程序员领取~

Java相关书籍推荐

基础的时候推荐《Head First Java》和《Java 核心技术卷一》;

《Head First Java》不少人推荐过了,很值得入门看。图文并茂;

《Java 核心技术卷一》没有那么趣味化了,但是深度广度都适中。

如何高效学习Java?_第2张图片

三、Java学习笔记

  • Java零基础01篇:从概述到HelloWorld,含JDK配置、源码_
  • Java零基础03篇:Java基础语法(注释、关键字、常量、变量、数据类型)_
  • Java零基础04篇:Java基础语法运算符_
  • Java零基础05篇:运算符的实际应用_
  • Java零基础06篇:流程控制语句应用篇_
  • Java零基础07篇:switch语句以及案例_
  • Java零基础08篇:for循环和案例_
  • Java零基础09篇:while循环和案例_
  • Java零基础10篇:结合案例学习Random_
  • 保姆级IDEA安装详解:7000字详解IDEA结构以及创建包和类_
  • Java零基础12篇:数组相关基础知识点_
  • Java零基础13篇:内存分配_
  • Java零基础自学14篇:数组中常见问题汇总_
  • Java零基础自学15篇:数组遍历和数组最大值
  • MySQL的安装及登陆基本操作(附图)手把手带你安装
  • MySQL基础:通过SQL对数据库进行CRUD
  • MySQL基础:通过SQL对表、数据进行CRUD,万字实际案例手把手教程
  • MySQL高级:掌握约束的使用
  • MySQL高级:掌握表关系及建表原则
  • MySQL高级:重点掌握多表查询操作
  • MySQL高级:以实际案例掌握事务操作
  • JDBC:从CRUD开始,理解JDBC中的各个对象作用,掌握Druid的使用
  • Maven从安装到手把手教学进行项目管理
  • MyBatis完成代理方式查询数据以及核心文件配置、
  • Mybatis:使用映射配置文件实现CRUD操作,能够使用注解实现CRUD操作
  • HTML标签大全,存起来总有一天用的上
  • Java后端学习之CSS内容
  • JavaWeb学习内容之3万字核心JavaScript笔记
  • 了解JavaWeb开发的技术栈从掌握Tomcat的使用开始,手把手带你用Maven创建web项目
  • JavaWeb:完成用户登录注册案例的实现,SqlSessionFactory工具类的抽取
  • JavaWeb:理解JSP以及原理,能在JSP中使用 EL表达式和JSTL标签
  • JavaWeb::理解MVC模式和三层架构,完成数据的增删改查
  • JavaWeb:什么是会话跟踪技术?实际案例带你掌握Cookie的使用
  • JavaWeb:掌握Session的使用,完善用户登录注册案例的功能
  • JavaWeb:案例学习使用VUE中常用指令和插值表达式,VUE生命周期函数 mounted
  • JavaWeb:能够进行简单的 Element 页面修改
  • JavaWeb:VUE&Element&综合案例

...更多内容看下面专栏:

Java从基础到就业全套内容更新ing_黑马程序员官方的博客-CSDN博客​blog.csdn.net/itcast_cn/category_11651333.html​blog.csdn.net/itcast_cn/category_11651333.html​blog.csdn.net/itcast_cn/category_11651333.html​blog.csdn.net/itcast_cn/category_11651333.html​blog.csdn.net/itcast_cn/category_11651333.html正在上传…重新上传取消

四、Java框架文档

  • Spring 官方社区(https://spring.io/projects/spring-boot)
  • Mybatis官网文档 (https://mybatis.org/mybatis-3/zh/index.html)
  • Mybatis-Spring文档介绍 (http://mybatis.org/spring/zh/index.html)
  • Mybatis中文社区(非官方) (http://www.mybatis.cn/)
  • SpringBoot中文社区(非官方)(https://springboot.io/)
  • 方志明的个人博客(SpringBoot,SpringCloud教程) https://www.fangzhipeng.com/)
  • 孤傲苍狼的Mybatis专栏:(https://www.cnblogs.com/xdp-gacl/category/655890.html)
  • 纯洁的微信SpringBoot Github仓库:(https://github.com/ityouknow/spring-boot-examples)

框架相关学习经验:

首先是了解框架相关的基本概念,学习基础知识(如构造器,方法,对象等),通过课程或者是官方文档了解使用方法和详细功能。然后是通过实践,了解如果实现需求。

我们以SpringBoot为例,看黑马程序员的【传智健康】这个项目即可,后续需要一定项目经验扩充简历的时候,可以到GitHub上面找到热门项目。

⭐找到合适的项目后,根据说明优先搭建环境,比如选对JDK版本,搭建好MySQL数据库环境,创建好MySQL表,搭建好IDEA集成开发环境,必要的话还有分布式组件,再通过pom.xml文件引入依赖包。系统跑通了,这个项目就成功50%了。

⭐先理解源码的含义,再结合一个业务流程,跑通增删改查的流程。注意别多跑业务流程,因为大多数业务的流程很相似,跑一个就ok

⭐从界面上跑通一个流程之后再去看代码,从前端到后端再到数据库流程,请求经过了哪些类,这些类是怎么处理的,最后怎么落到数据库的。

⭐现在大多数Java项目都是Springboot,从控制器到业务逻辑类再到repo层,外带Spring Cloud Alibaba组件,或者nginx,netty,redis等组件。当你跑通一个流程后,你就知道请求怎么被控制器方法处理,控制器方法怎么做参数验证,控制器方法如何调用业务方法,业务方法怎么通过JPA(或其它ORM)访问数据库。总之先理解流程,再理解sprign cloud alibaba组件等。

五、简历的编写

先来看看错误简历示范:

如何高效学习Java?_第3张图片

至于应该怎么写简历,大家可以参考这篇内容。有关项目经验应该参考什么原则:

自学的java,简历应该怎么写呢?5 赞同 · 0 评论回答6 赞同 · 0 评论回答正在上传…重新上传取消

六、面试前的准备

这份10w+字数的Java最新高频面试八股文分享给大家:

  • Java大厂高频面试:并发篇
  • Java大厂高频面试:虚拟机篇
  • Java大厂高频面试:框架篇
  • Java面试系列文:算法、数据结构、基础设计模式
  • 微服务高频面试题:答案+源码+图解,一篇就够了
  • redis 面试常被问到问题有哪些?
  • 互联网大厂(字节、华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文

八股文学习经验

  • 计算机基础知识:计算机网络、操作系统、数据结构、算法。
  • Java基础八股文:Java基础、Java多线程、Java JUC、JVM虚拟机、java容器、Java 8
  • Java高级八股文:SpringMVC、SpringBoot
  • 数据库八股文:Mysql、Redis
  • 中间件八股文:消息队列MQ(任意一种推荐RabbitMQ)
  • 场景问题八股文:缓存一致性解决、4G数据找系统记录(大数据题)

除了背思考也很重要,还能发现自己有什么没掌握的内容。

常见知识点的内部原理以及构造,,比如HashMap的基本原理。需要知道这个东西由什么组成,一些内部方法是怎么实现的,甚至要去看看源代码。 已经为大家准备了:

  • 黑马程序员:HashMap源码分析
  • 高阶源码分析:ConcurrentHashMap
  • 黑马程序员:dubbo源码解析-服务暴露与发现
  • 黑马程序员:Dubbo源码解析-高可用集群
  • 黑马程序员:Dubbo源码解析:网络通信
  • 黑马程序员:Dubbo源码解析-SPI机制

知识点之间的比较,比如:TCP和UDP的区别、堆和栈的区别(从数据结构和操作系统两个维度出发)。当复习到某个知识点时,需要想下是否有同类能去比较的知识点。

常见知识点的再次复习,比如:http和TCP哪个更快(初次看会以为面试官问的是煞笔问题,http不是含有tcp吗?但其实考究的是看你知不知道http3.0是用UDP实现的,即对http要了解得更多一些)。这个只能多看面经多百度,去了解比较偏的知识点。

面试官总喜欢问怎么选?为什么?❓❓ 比如:多线程多任务的情况下,怎么选择String、StringBuffer、StringBuilder,然后为什么?。所以在遇到同类知识点时要注意他们之间的优劣势,以及使用场景等等。

你可能感兴趣的:(java,学习,开发语言)