不知不觉从初学Java到现在已经8年了,今天在这里给刚入门和入门不久的小伙伴们一些建议。可能总结的不是很详细,但给出了一个大概的学习路线。希望对大家有帮助哈~

如何快速学Java

这里我以Java EE(Jakarta EE)/Java Web的经验来说哦。(都把你们看做是零基础入门的了)

学习Java EE(Jakarta EE)总体来说会有以下三大模块:

  • Java
  • 数据库
  • Web前端

在我看来,无论学习什么技术都好,在学习该项技术的细节之前都得知道:这项技术是什么,为什么我要学习这项技术,学习了这项技术有什么好处

  • 看似好像我在说多余的话,但如果你在学习某项技术的时候无法回答上面的三个问题。再过几天,你很大程度上会忘记这项你所“学过”的技术。
  • 比如说,如何你连“为什么要用多线程”你都无法用通俗的话来解释清楚。即便你当时学习的时候知道多线程可以用xxx方式来创建,多线程的xxx的api。那再过两个月,人家问你”Java多线程有什么用啊?”。你想想你还能答什么,我认为你是记不住“多线程可以用xxx方式来创建、多线程的xxx的api”这些知识点了。
  • 再比如说,如果学习Spring时不知道IOC和new对象有什么区别,那我为啥不直接new对象而要那么麻烦去学Spring呢?

简单来说:如果你不知道学习某项技术是干嘛用的,那先不要学


如果你是零基础学习Java并理解力不是爆棚的话,我建议以视频学习为主。

可能你会看到这样类似的言论:

  • “看视频学习太慢了”
  • “直接看源码啊,源码就是最好的解释”
  • “有问题直接Google啊,用什么百度”
  • “最好的资料是官网文档”
  • .....

但是,那都是对有经验的人或者高智商的人群来讲的。

如果是零基础普通人,看视频学习/看不懂源码/用百度/看中文博客来学习不丢人

ps:如果看的视频讲师的语速不是特别快,建议以1.5或者1.75倍速观看。

1.1 关于视频资源

我在学习Java的时候也收集了很多的视频资源,并不是每个都有看过。只是在混群的时候发现有人发了,就复制下来整理一下罢了。

  • github.com/ZhongFuChen…

其他的视频资源:

  • B站:(bilibili.com)一个神奇的网站。如果你想看哪个视频,可以先搜一下B站有没有。
  • 慕课网:(imooc.com)里头也有挺多的视频资源。
  • 公众号/混qq群/微信群:不少人手里都有几t的资源,如果跟群友的关系不错,一般都会免费给你发的
  • ......

1.2 学习Java基础

零基础学习Java的路线我简单总结为以下:

  • 首先去官网下个JDK,按现在常用的版本JDK1.8就够学习了

    • 下载地址:JDK1.8下载:www.oracle.com/technetwork…
  • 随后去下载现在Java常用的编辑器IDEA(也可以用eclipse,但现在IDEA的确是好用)..
    • 下载地址:IDEA下载:www.jetbrains.com/idea/
  • 1.5/1.75倍速观看Java基础视频(以刘意为例)

在学习Java基础时,我简单来说一下什么东西可以不碰

  • &^|位运算符,++ii++类似这种绕死人的语法
  • 内部类
  • AWT,SWING编程
  • 注解

需要深入理解的知识点:

  • 流程控制
  • 面向对象的概念
  • Java语法
    • this指针、重写和重载、final、static等等这些基础的东西
  • 集合(包括泛型)
    • 常用的集合类
  • IO流
    • IO流代码的编写
  • (理解这些知识点,能够在有提示的情况下码出代码,但不要为了一些细节钻牛角尖)

简单过一遍的知识:

  • 异常
  • 多线程
  • 网络编程
  • 反射机制
  • (你得知道这个知识点是干嘛用的,为什么要学这个知识点,能看懂具体的代码!)

对于上面所说深入理解的知识点,我个人是非常建议在学习期间写笔记(博客)的。如果你想写笔记的话,最好直接就用markdown语法来编写,而不是用word/简单的记事本。

markdown语法非常好学,几分钟跟着就可以学习了,几乎所有的it博客网站都支持markdown

  • markdown学习:www.jianshu.com/p/q81RER

如果喜欢画思维导图的,我这里推荐processOn就可以了。无需下载Xmind这么麻烦了:

  • ProcessOn来画思维导图:www.processon.com/i/5815483ce…

有的时候并不需要使用IDEA打开一个.java或者.xml这样的文件,可以使用notepad++记事本:

  • NotePad++记事本:notepad-plus-plus.org/

学会科学上网和使用Chrome浏览器,比如说下载拦截广告插件,英语翻译插件

  • Chrome浏览器:www.google.com/chrome/
  • 拦截广告插件:chrome.google.com/webstore/se…
  • 英语翻译插件:chrome.google.com/webstore/se…

虽然是快速学习Java,但学完上面的估计得一个月了(:..

一个月发现都是面向控制台编程(console),输入输出一些数据来玩。

期间可能就学习IO的时候可以复制文件,修改文件名有点意思。但好日子就要来临了

1.3 学习Java Web基础

首先我们可以学习一下Web前端的知识(此部分都简单过一下就好了)

  • HTML/CSS/JavaScript/jQuery
  • CSS框架(都有中文手册,很快就上手了,选一个自己喜欢的就好了):
    • BootStrap:www.bootcss.com/
    • Materialize:www.materializecss.cn/

到目前为止,学完上面这些可以搭建“能看”的静态网页了。曾经看过一段话来总结上面的技术:

  • HTML是名词,CSS是形容词,JavaScript是动词

随后学习JavaWeb的路线如下:

  • Tomcat(简单过一下)
  • XML/注解(简单过一下)
  • Servlet(重点理解)
  • HTTP协议(重点理解)
  • Filter过滤器(重点理解)
  • Listener监听器(简单过一下)
  • JSP(简单过一下)
  • AJAX、JSON(简单过一下)

基于上面的学习,起码已经可以使用request对象来接收前端发送过来的数据,使用response对象将Java后端的数据返回给前端,使用Filter拦截器来处理中文乱码问题(Tomcat默认的编码是ISO-88591)。总的来说已经可以实现前后端交互了

1.4 学习数据库

数据库这里指的是关系型数据库,一般我们以MySQL来入门就足够了。

在学习期间,其实很多时间都耗费在配置环境上面,比如我之前安装JDK,安装MySQL,安装Oracle就耗费了不少时间。后来我也将其写成博客,需要重新安装的时候翻一下博客就好了。

  • 比如MySQL安装教程:segmentfault.com/a/119000001…

主要学习SQL的基本使用吧:

  • 创建表(create table)
  • 增删改查(insert,delete,update,select)
  • 对于存储过程、触发器这些了解一下即可
  • 对于索引、锁后面再学(此部分很重要,但以快速入门来说,可以先不看)

1.5 学习Java连接数据库(JDBC)

到这里,我们Java Web、数据库、Web前端的基础都已经基本学完了,但此时Java和数据库是相互独立的。我们想要以程序的方式来对数据库的数据进行操作,那就要学习一下Java连接数据库(JDBC)。

JDBC这项技术并不难呀,就是模板代码,来来去去就几个步骤:

  • 导入MySQL或者Oracle驱动包
  • 装载数据库驱动程序
  • 获取到与数据库连接
  • 获取可以执行SQL语句的对象
  • 执行SQL语句
  • 关闭连接

由于这些代码可能会重复出现,那我们可以学习一下DbUtils这个组件:可以帮我们减少编写JDBC的模板代码。

1.6项目管理和框架的学习

经过上面的学习,已经是可以在本地写一个Web项目了。

  • 页面框架使用BootStrap/Materialize框架来搭好
  • 请求处理交由Servlet,返回的数据可以通过AJAX或者使用JSP,DAO层可以使用DbUtils。
  • 数据保存在MySQL中

为了让写代码变得更爽,我建议用半天学一下Maven(项目管理工具),用几天学一下SpringBoot

  • 从Servlet直接跳到SpringBoot可能有点难理解,但多搞几天我相信还是可以的..

1.7Linux学习

最后,我们在本地上写完的项目想要让其他人都看得见,一般都会部署在Linux环境下的。(此部分的学习可以等到将项目写完,想要部署项目才学习)

我是不推荐使用虚拟机再搞Linux的,直接买一台方便很多

  • 如果是学生的话,一个月的学生版也就10块一个月。
  • 如果是转行的大哥话,现在阿里云双十一有优惠,买起来就很便宜了。

优惠链接:m.aliyun.com/act/team111…

总结

总结一下我认为学习Java的路线:

  • Java基础-->流程控制-->面向对象(包括Java语法)-->Java集合-->Java IO流-->异常-->多线程-->网络编程-->反射
  • JavaWeb基础-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/注解->Servlet-->HTTP-->Filter过滤器和监听器-->JSP-->AJAX/JSON-->数据库(MySQL)-->JDBC和DbUtils
  • 项目管理和框架-->Maven-->SpringBoot
  • Linux基本命令

最后我们的项目是这样的:

  • 以Maven来管理我们的项目
  • 前端通过BootStrap来搭建页面框架
  • SpringBoot来搭建Java后端环境,SpringMVC处理前端请求(SpringBoot整合了)
  • DAO层使用DbUtils组件来完成,MySQL作为数据库

当然了,我的Java路线不一定就是对的,我这里只是给出一种路线。

再次说明:这套路线是以“快速”学习Java的,如果你想要找到一份好工作,上面的知识点是不够的

我有一个微信公众号,经常会分享一些Java技术相关的干货;如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

参考:

  • 一位资深程序员大牛给予Java初学者的学习路线建议
  • Java教程,Java学习路线图(全网最详细)
  • JAVA学习路线图

Java学习路线图(如何快速学Java)相关推荐

  1. Java学习路线图,内附完整Java自学视频教程+工具经验

    Java学习路线图更新日志:         增加视频<2016最新视频struts2> 密码:vhfp(2016.11.10) 增加视频<6天玩转mysql视频> 密码:a8 ...

  2. 动力节点『lol版』Java学习路线图(八)Java选学技术

    八.失落之地的辉煌 这里曾经繁华一片,被世人称作福光,搁在古老的东方就叫洞天福地!但现在一切都烟消云散,一场魔法灾难让此地化作焦土,沦为人间炼狱.此地长年被黑暗浓雾笼罩,即便世界被同化之后也没能改变土 ...

  3. 动力节点『lol版』Java学习路线图(五)Java框架阶段

    五.框架之路-丛林沙漠巨神峰 框架技术 送君千里终须一别,拜别了厄运小姐和格雷福斯的盛情挽留,在目送了崔斯特开大消失后,ez在哈雷尔港驻足了片刻便启程前往以绪奥肯.他摸了摸纳袋(空间口袋),里面是菲兹 ...

  4. 传智教育|2022最新版Java学习路线图全集汇总——Java学习到底学什么?一文详解

    2022版Java学习路线图来了! 每一年的Java学习路线图都会根据当前市场趋势做调整,也能更有针对性的对小伙伴的Java学习之旅提供帮助,这次小智给大家带来了2022最新版的Java学习路线图,内 ...

  5. 超硬核Java学习路线图+学习资源+实战项目汇总,看完以后不用再问我怎么学Java了!

    之前写过很多次关于Java学习指南.Java技术路线图的文章.但是总还是有小伙伴来问我,Java怎么学,项目怎么做,资源怎么找,真是让人头秃. 于是这次黄小斜决定来一波狠的,把所有这些内容都整理起来, ...

  6. 适合零基础学习者的Java学习路线图到底长啥样?一篇文章带你学会Java

    很多小伙伴在转行互联网的时候,都担心自己不能坚持,不知道Java适不适合自己. 那最好的方式就是先不要着急直接转行,自己可以先去试着学习一些基础知识,看看对Java的学习难度能否适应以及自己是否真心喜 ...

  7. 你们要的Java学习路线图,来喽

    来源:七哥爱编程 你们要的Java学习路线图来了,七哥结合目前工作以及各大主流公司面试和使用的技术整理出了2020最新版Java学习路线图,适合于初.中.高级别的Java程序员,我自己也是按照这个路线 ...

  8. 【转】2023年Java学习路线图-黑马程序员

    PS:注意收藏,此套路线图会不定期更新! Java学习路线图(2023版,视频已更新) 入门: Java SE基础 → Java Web(含数据库+H5+js+vue) 中级: Maven → Git ...

  9. 2023年Java学习路线图(适合自学详细版)

    这里小千作为资深的教育培训机构,特意为大家整理分享一套零基础自学Java学习路线图,此学习路线一共分为Java基础.数据库.Javaweb.企业级框架.分布式微服务架构.高手进阶.项目实战七大阶段,希 ...

  10. Java学习路线图分享(含项目+面试提升)最全整理

    为大家整理了2022最新的Java学习路线图,从学前准备.学习路线.项目实战.面试提升等四个方面给大家分享一些经验,希望可以给学习Java的小伙伴们一些帮助. 个人学习经验: 我本人是计算机科班出身, ...

最新文章

  1. 第六章 Realm及相关对象(四) PrincipalCollection
  2. 什么是 Java 对象深拷贝?面试必问!
  3. 《英语语法新思维初级教程》学习笔记(二)名词
  4. python在租房过程中的应用
  5. 如何将联系人导入Windows联系人文件夹和从中导出联系人
  6. WYSIWYG的意思。
  7. M1 MacBook Air值不值得买?使用体验分享
  8. C代码编译过程,cmakelist基础步骤
  9. 单片机与PC通信:USB转TTL、USB转RS232、RS232转TTL等情况的分析
  10. 关于航模的几点总结积累
  11. JDY-16 蓝牙4.2模块串口测试方法
  12. 计算机网络与通信之计算机网络体系结构
  13. VMware12虚拟机中安装win7(安装好的解压版Win7_64-cl1.vmdk)
  14. 16进制ff转化为二进制_二进制与十六进制的转换与应用
  15. python图像平移,Python 图像扩充之旋转、平移、缩放、裁剪
  16. msxml3.dll 错误'800c0005' 系统未找到指定的资源错误
  17. 程序猿生存指南-43 温柔以待
  18. vue实现下拉表单二级联动
  19. 备赛笔记:Opencv学习:颜色识别
  20. 一个简单的100以内的猜字游戏

热门文章

  1. C语言汉诺塔问题的递归算法
  2. PDF格式分析(六十五) Text 文字——字体数据结构
  3. 固定资产中计算机软件类型,固定资产国标分类1.doc
  4. 中国铁塔行业市场企业投资及运营策略分析报告2022-2028年版
  5. p2p网络终结者最高权限使用教程
  6. 汇编语言 王爽 第四版 第三章 检测点3.1
  7. MybatisPlus
  8. java项目源码分享网_分享二十套Java项目源码
  9. 关于cnode react的一比一实现
  10. (附源码)基于Android的订餐app 毕业设计 190711