如何高效学习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-第八天-常用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学习笔记
- 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框架文档
- 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,简历应该怎么写呢?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?的主要内容,如果未能解决你的问题,请参考以下文章