java学习路线

java路线

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

在这里插入图片描述

规划一下学习java这一路的路线,方便自己总结和大家观看

目前我大三,越学习越感觉才入门,这些基本是我大学学习的跟java相关的内容

  • 大一:高数、线性代数、C语言基础、英语

  • 大二:Java基础、HTML、CSS、JavaScript、MySQL、Python、软件测试、数据结构与算法、操作系统、离散数学

  • 大三:JQuery、javaWeb、Spring、SpringMVC、Mybaits、Springboot、计算机网络、设计模式、算法设计与分析

  • 自学:SpringCloud-Netflix、Linux、Mybatis-Plus、Git、Redis、Nginx、Vue等

自己也走了不少弯路,Java基础没学好,再学JavaWeb的时候连List和Map都不知道,深感当时的无力写了本篇文章

一、打基础

数学这东西一点要打牢基础,高数、线性代数、离散数学要在前期打基础(大学学到的可能用不到,但算法都是基于数学,要有逻辑思维),英语的重要不言而喻,idea、postman等产品,java、python、c、c#等语言都是外国人编写的,GitHub上面的很多资料也是英文的,翻译也不全面,这些都要靠自己的积累

二、JavaSE基础、Java多线程、MySQL学习(JavaGUI编程看你有没有兴趣学习,因为这个技术已经有些过时了)

学习这部分的时候,不要走捷径,java入门不容易,但入门后会变得轻松,java也是适合新手学习的一门语言,不需要C语言基础打底也可以上手来使用,MySQL数据库的重要性就像:java是一条非洲肺鱼,不需要水可以在图里休眠,有了MySQL这场雨后,才能醒过来活动,数据是页面的灵魂,没有灵魂,光有个空架子是没用的。

三、基础四大件

学习玩java基础就可以接触这些了,学习着实是枯燥的,但软考和面试中这四大件的地位是不可撼动的

1、数据结构与算法

关于这个,我相信一些工作中的程序员都知道其重要性,可以说直接决定了你面试的成败,像什么队列,栈,二叉树等等,它们大概长什么样,自己的脑海里必须要有一个模型;而对于算法方面,我觉得本质上,还是得把数学学好,像什么微积分,线性代数,数理统计等,很多人在编程时,总是不知道该怎么去编这个程序,其实是自己的思维没有get到那个点,而如果你想要研究人工智能,大数据等这些领域,那这些对数理知识的要求更高。所以,想要编好程序,数学方面的知识是不可或缺的。

2、计算机网络

大家都知道,编程属于互联网方面的,提到互联网,那就离不开我们身边的网络了。计算机网络主要介绍了在我们应用网络的过程中,需要运用到的一些协议,例如:TCP协议,IP协议,ARP协议,MAC协议等等;你看,像我们平时所玩的王者荣耀,吃鸡这些游戏,都是通过网络连接起来的,所以程序员在做开发时是离不开这些协议的。

3、操作系统

平时我们开发程序,虽然我们可能都是在IDE里编写的,但实际运行是要借助我们的操作系统的,多进程,多线程,内存管理等这些概念,也是程序员在做开发时所离不开的知识。

4、设计模式

关于这点,我们只需记住一些常见的设计模式,例如:单例,工厂,代理等。

语言本身固然重要,但其实在学习的过程中,我们只要学精通一门语言就足够啦,而对于这基础四大件,是每一位想要学习编程的同学都必须掌握的。此外,在学习基础的过程中,我们还要多多实战,这样才能更好地理解并运用这些基础知识。

三、Java基础复习、Java注解和反射、JUC并发编程、HTML、CSS、JavaScript、Jquery

HTML、CSS、JavaScript、JQuery是早些年前端要学习的,但学习Java就想要走全栈一样,什么都要会,所以HTML、CSS、JavaScript、JQuery这些也不需要我们太深入的学习,会用且知道在网上怎么搜索就行,在这基础上可以去了解一下LayUI、Bootstrap这些前端的框架。

多线程也是要通过加锁来实现线程安全,JUC并发编程就显得重要了。

我们学习到框架的时候会发现,别人把类和方法都给你写好了,只需要加一个注解就可以了,使用学习注解和反射也是挺重要的。

四、MySQL复习、JavaWeb、Maven、Mybatis、Spring、SpringMVC、Mybatis-Plus、SpringBoot、Vue

JavaWeb是Java企业级应用的基础,虽然不学JavaWeb和SSM框架,直接去学SpringBoot我觉得也可以会用,注意这里我说的是会用,想要知道原理要从JavaWeb学起走,这是基础,不能落下

Maven是一个包库,挺简单的,但十分重要

Mybatis、Spring、SpringMVC成为SSM框架,这三个框架是合在一起使用的,学习的目的是要观看历史,为什么Spring被称为配置地狱,才衍生出了SpringBoot框架

Mybatis-Plus(简称MP)和Mybatis是好兄弟,MP极大减轻了Mybaits的SQL写入压力,让开发变得非常简单

SpringBoot、Vue是现在前后端分离用的最多的两个框架,SpringBoot是后端框架,Vue是前端框架,正如我之前所说学习Java几乎是走一个全栈的路线,所以掌握Vue的简单使用也是非常重要的

五、JVM学习、Git、Linux、宝塔面板、服务器、Redis、mongoDB、Nginx、Docker、Jenkins、Kubernetes

JVM就是要研究一下Java虚拟机的实现和底层的挖掘

Git代码管理工具是每个程序员工作时都要接触的工具、GitHub是全球最大的社交编程及代码托管网站、Gitee是开源中国推出的代码托管服务,是一个具有安全、稳定、高效的云端软件开发协作平台,这些都要去了解

Linux、服务器、宝塔面板的学习,学习完这些就可以搭建自己的网页了

Redis、mongoDB两个NoSQL数据库要配合MySQL数据库使用,光是MySQL的吞吐量太少了,做不到实时更新,如果你是个土豪还可以去学习一下Oracle数据库

Nginx是一个高性能的HTTP和反向代理web服务器,可以把域名和你的服务器联系起来

Docker开源的应用容器引擎

Jenkis一种持续集成工具

Kubernetes开源容器集群管理系统

六、Dubbo、Zookeeper、SpringCloud-Netflix、SpringCloud-Alibaba、RabbitMQ、ElasticSearch、Kafka、ShardingJDBC、MyCat、分布式的一切东西

Dubbo+Zookeeper了解

SpringCloud-Netflix、SpringCloud-Alibaba跟Dubbo+Zookeeper一样是做分布式的,但是SpringCloud采用的是基于 HTTP 的 REST 方式。Dubbo是使用的RPC 通信。很明显,Spring Cloud 的功能比 Dubbo 更加强大,涵盖面更广,而且作为 Spring 的拳头项目,它也能够与 Spring Framework、Spring Boot、Spring Data、Spring Batch 等其他 Spring 项目完美融合,这些对于微服务而言是至关重要的。

RabbitMQ、ElasticSearch、Kafka常用中间件

ShardingJDBC、MyCat数据库中间件

分布式的很多东西很难很难,学习成本也挺高,要搭建几台服务器,要考虑版本问题、熔断、降级等

七、企业常用第三方技术(POI、第三方短信接入、视频点播技术、视频直播技术、CDN技术、第三方登录技术、第三方支付技术)

八、源码研究

九、学习其他热门语言,或者学习新的java技术

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我认不到你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值