如何高效学习Java?

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何高效学习Java?相关的知识,希望对你有一定的参考价值。

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

一、准备

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

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

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

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

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

笔记包含知识点
Java-第一天-基础语法人机交互、Java以及发展史、主要特性、JRE和JDK
Java-第二天-Java基础注释、字面量、变量、数据类型、标识符、键盘录入
Java-第三天-IDEA下载安装IDEA下载安装、中层级结构介绍、第一个代码、类、模块、项目的相关操作
Java-第四天-运算符运算符和表达式、算数运算符、隐式转换、强制转换、字符串相加、算术运算符总结;附习题
Java-第五天-流程控制语句流程控制语句、if语句、switch语句、循环结构
Java-第六天-回顾+练习相关练习题巩固前五天内容;
Java-第七天-面向对象类的概念,设计类获得对象,定义类的补充注意事项。内存图,构造器,this关键字,封装,标准JavaBean。成员变量和局部变量区别。
Java-第八天-常用APIString的概述,创建对象,常用API-字符串内容比较、遍历、替换、截取、分割操作;ArrayList相关学习;
Java-第九天-ATM系统以上内容完成后可以联系。
Java-第十天-面向对象进阶static、单例、代码块、继承
Java-第十一天-面向对象进阶包、权限修饰符、final、常量、枚举、抽象类、接口等。
Java-第十二天-面向对象进阶多态、内部类、常用API

这些内容在学习前给大家做一个参考,主要是做好心里准备,要学的内容并不少,针对于自学的同学还会遇到很多坑。

二、课程&书籍

简略版Java学习路线图:

(下方链接点开直接进入课程当中)

以上技术,足以支撑大家找到一份好的Java开发工作,如果想工作后再提升,页面底部还有30+套课程。

工作后可以再学习提升的技术:

JDK8-15新特性 → 编程强化 → 数据库强化 → 安全框架SpringSecurity → 报表技术 → 模板引擎VelocityTools → 工作流Activiti7……

黑马程序员:2023年黑马程序员Java学习路线图21 赞同 · 4 评论文章正在上传…重新上传取消

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

Java相关书籍推荐

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

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

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

三、Java学习笔记

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

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框架文档

框架相关学习经验:

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

我们以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,简历应该怎么写呢?5 赞同 · 0 评论回答6 赞同 · 0 评论回答正在上传…重新上传取消

六、面试前的准备

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

八股文学习经验

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

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

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

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

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

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

以上是关于如何高效学习Java?的主要内容,如果未能解决你的问题,请参考以下文章

如何高效进行Java学习

Github如何使用详细介绍(保姆级教学)

保姆级教程!Golang微服务简洁架构实战

保姆级尚硅谷SpringCloud学习笔记(更新中)

Mysql学习基于Swing+jdbc+mysql的Java图书管理系统保姆级教程

从零到一保姆级Ubuntu深度学习服务器环境配置教程