本回答希望能够把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从基础到就业全套内容更新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,简历应该怎么写呢?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?相关推荐

  1. 如何高效学习java课程

    想要快速进入到java行业,进行系统的培训和有效的学习是非常重要的,那么短时间内如何高效学习java课程呢?来看看下面小编的详细介绍吧. ​ 如何高效学习java课程? 1. 克服自身惰性,学习环境更 ...

  2. 【26天高效学习Java编程】Day22:Java中的属性集-缓冲流-转换流-序列化流详解

    本专栏将从基础开始,循序渐进,由浅入深讲解Java的基本使用,希望大家都能够从中有所收获,也请大家多多支持. 专栏地址:26天高效学习Java编程 相关软件地址:软件地址 所有代码地址:代码地址 如果 ...

  3. 【26天高效学习Java编程】Day19:60 多个实例讲解,彻底搞懂Java 多线程 【可查阅,可复习,可面试】

    本专栏将从基础开始,循序渐进,由浅入深讲解Java的基本使用,希望大家都能够从中有所收获,也请大家多多支持. 专栏地址:26天高效学习Java编程 相关软件地址:软件地址 所有代码地址:代码地址 如果 ...

  4. 如何高效学习java呢?

    1.基础阶段的学习 在这个学习阶段你应该找一个好的基础学习视频,对着视频认真进行学习,每天自己要逼着自己学习,大学很容易让人颓废.边看还要变敲代码,不要用ide用记事本有利于后期的代码编写习惯,还要做 ...

  5. 零基础如何高效学习Java 成就我的10个编程学习实用小技巧

    这几天有很多小伙伴私信问我:我最近开始学习编程,但是感觉自己的学习效率特别的低,你是怎么学习编程的呢,有什么好的学习方法,如何高效的学习编程,学习编程有什么方法论吗? 我回顾了一下自己从学习编程到一直 ...

  6. 如何高效学习Java?本文给你一些建议!

    Java编程是一个技术活,没有专业知识,那是行不通的.这也决定了程序员的不可替代性,不是你随便招一个人就可以立马开工.很多人在转行跨界去接触一个自己从来不懂的行业时往往内心充满了恐惧,也许会高估了这个 ...

  7. 20 个快速高效学习 Java 编程在线资源

    1.MKyong:许多开发者在这里可以找到带文字说明和图解的示例代码.这是一个探索各种框架的平台.不管是否用于商业使用,你都可以从这里下载免费的工具.链接:(http://www.mkyong.com ...

  8. 程序员要怎么高效学习Java,大学生or小白的你看完这篇的你离BAT又近了一大步

    这篇文章大体上会从以下几个部分展开: 认清自己. 学习目的. 时间管理. 学习方法. 学习的步骤. 获取知识的途径 影响学习的几个因素 自己的心态. 外物的影响. 其他想说的 大学生的学习 一些感悟 ...

  9. 如何高效的学习JAVA?

    如果你想成为一名优秀的JAVA程序员,那么高效学习JAVA是必不可少的.以下是一些可以帮助你更好地学习JAVA的方法和技巧,其中包括: 确定自己的学习目标和计划.这将帮助你集中精力,并确保你在学习过程 ...

最新文章

  1. C#调用Mail发送QQ邮件
  2. 手机没电了 鸿蒙还有用吗,记住这几个技巧,手机没电时可以有效延长使用时间...
  3. boost解析xml文件
  4. Day02-变量_数据类型和运算符
  5. 如何启动MongoDB数据库 - 基础篇
  6. 【Linux入门学习之】vi/vim编辑器必知必会
  7. 【Elasticsearch】Elasticsearch CPU高排查思路
  8. fullgc多久一次正常_多久排便一次算正常?提醒:出现3种情况,可能是胃肠“生病”了...
  9. 一款小工具DeskPinsEx开发笔记
  10. 实现写邮箱html页面,HTML写的第一个邮箱登陆界面
  11. 7-2 矮冬瓜火锅店周年庆“冬瓜会员”查询
  12. mysql5.7 1698 28000,MYSQL教程MySql Error 1698(28000)问题的解决方法
  13. 2021年中国网络安全硬件市场竞争格局分析:深信服、新华三、启明星辰优势明显[图]
  14. 处理器与大力神杯,夺冠或许并不需要11人
  15. 什么是内部类?有什么作用?静态内部类和非静态内部类的区别?
  16. 短距离激光测距仪方案模块
  17. 如何将ES6转换成ES5?
  18. 汇编电话本 15pb
  19. 我的流水账---城市浅薄记忆(三)
  20. 南京大学声学基础(第三版)杜功焕第一章

热门文章

  1. 谷歌地球(Google Earth)入门技巧
  2. 26(2)Spring 核心功能演示 + 面试题
  3. 解决微信开发者工具报错:当前开发者未绑定此AppID,请到小程序后台操作重试
  4. 寻找开发技术合伙人- VC水平中等水平即可
  5. 一个十分弱智的弱智bug
  6. android调用微信程序,Android如何测试微信小游戏小程序?
  7. 前端高级网页弹幕的实现,兼容播放器(可悬停,碰撞监测,特殊弹幕自定义)js,vue,nuxt均可集成
  8. 详解 JS 中 a.x = a = {} 到底发生了啥?(图文并茂,包你看懂)
  9. 苹果电脑python编程里面怎么切到中文_电脑语言怎么切换中文,AdobeInDesignCCforMac苹果笔记本上,怎样转换页面语言为中文英语?...
  10. 上手 buildroot