专业的JAVA编程教程与资源

网站首页 > java教程 正文

学Java很久了,但越学越“糊涂”,Java学到什么程度才叫精通呢?

temp10 2024-11-26 08:57:43 java教程 17 ℃ 0 评论

前言

Java到现在,已经是相当的成熟了。而现在的Java程序员更是多不胜数,那目前为止,学Java到什么程度才能叫精通呢?我们来看一下!

首先,学习路线图往往是学习一门技术的入门指南,网上搜到的Java学习路线图也是一抓一大把。

学Java很久了,但越学越“糊涂”,Java学到什么程度才叫精通呢?

而这次,我们只选一张图,仅此一图,足以包罗Java后端技术的知识点。所谓不求最好,只求最全,学习Java后端的同学完全可以参考这张图进行学习路线安排。

当然,有一些知识点是可选的,并不是说上面有的你都要会啦。

闲言少叙,我们还是看看这张图上都包含哪些有价值的信息吧,再次说明,本文只对路线图做一个简单的解读,仅供参考。大家可以根据自身情况来制定合理的学习计划。相信也会大有裨益,

一、计算机基础

这部分内容是计算机相关专业同学的课程,但是非科班的同学就需要花时间恶补了,特别是计算机网络、操作系统、数据结构这三门课程。

至于编译原理嘛,个人认为大概懂一点就行了。我也只看过简单的概念和状态机相关的内容,并不是特别重要。

二、Java编程

这里的Java编程部分包含了很多内容,我们可以分别来看看,大概归纳就是以下的几个部分。

  • 1、Java基础

这里的Java基础包括基本语法、集合类框架以及一些高级特性,例如反射、注解等等。

Java基础的知识点非常的多,所以要真正搞懂也没有那么简单。另外,随着时间的推移,一些新特性也需要得到我们的重视,比如时下流行的JDK8。

  • 2、设计模式

我一直觉得设计模式可以和Java基础一起学,所以我也把它放在这里。当然,一些真正使用到设计模式的地方,例如JDK的集合类、IO流等等,也需要足够的重视。

  • 3、Java Web技术

Java Web技术包括J2EE(现在叫Java EE),以及Web框架。乃至一系列常用的组件。

①、J2EE主要包括的就是Servlet、Jsp这些比较复古的Web开发组件了。虽然现在直接用它们的情况比较少,但是我们还是需要花一些时间去掌握它们的。

②、Web框架常用的就是Spring了,相应的。Hibernate和MyBatis也需要了解一下。

③、同时,Java Web开发时的常用类库,例如Jnuit单元测试、Log4j日志工具以及构建工具Maven,都属于我们要掌握的范畴。

④、最后要注意的是,Web相关的一些基本知识,例如HTTP协议、网络安全基础,也是我们要考虑的部分。

  • 4、Java并发技术

Java的并发技术泛指Java的多线程技术以及JUC包里的并发类,例如线程池、并发工具类、阻塞队列等等。

Java并发技术完全可以独立出来学习,是Java进阶知识的一大重点。

  • 5、Java网络编程和服务器

这一块了内容是Java中比较复杂但也很重要的一块内容。例如BIO、NIO、AIO的一些使用和原理,以及Tomcat这类Web服务器,甚至是Netty这种网络编程框架,都是可以去了解和学习的内容。

  • 6、JVM基础与调优

JVM是提供Java程序运行的一个进程,学习JVM知识也是我们的必经之路。除了看懂《深入理解JVM虚拟机》之外,我们还要学习的内容就是JVM调优,使用合适的工具诊断问题,最后解决问题。

这部分内容在面试中呈现的不仅仅是GC、内存分区以及类加载器,也包括了上述所说的JVM调优问题。

三、Linux

作为后台同学,常年被面试官问Linux相关的问题,所以觉得学好Linux还是蛮重要的,除了基本命令外,最好还能连接一些Shell脚本。甚至是内核相关的知识。

四、数据相关

在这个路线图里,数据部分囊括了非常多的数据源,我们来看看都有哪些是我们需要掌握的。

  • 1、关系数据库MySql

这个不必多说,人手都要会。不管是基础的Crud、索引、亦或是进阶的储存引擎、分布式方案等,我们都需要对应掌握。

  • 2、缓存

如Redis、Memcache一类的缓存,作为后端开发者的我们也需要对应掌握。当然,它们的高级特性以及分布式方案也是必备的知识点。

  • 3、搜索引擎

基于Lucene的Solr、Elasticsarch这类搜索引擎,本质上也是数据源,但并不是后端必备的内容,不过学一学也没有坏处啦!

  • 4、大数据

海量数据处理的场景越来越多,大数据技术如Hadoop、Storm等也越来越火,但大数据应用一般都会由专业的大数据工程师来做。所以我们学一些基本内容也就足够了!

五、算法和数据结构

算法一直是校招同学面前的一座大山,作为后端同学来讲,除了基本的数据结构算法外,也要回一些高级的算法。例如DP,搜索,贪心等等。

另外,通过网上的一些题库来刷题的方式来巩固算法也是公认的好办法。

六、分布式

最后一个部分,也是内容最多、覆盖面最广泛的部分了。分布式相关的技术实在是太多了,我们这里也会做一下简单的归纳。

  • 1、分布式理论

这部分内容包括分布式的发展演化、Base理论和Cap理论等等。学习分布式之前,最好能对这部分概念有一定的了解。

  • 2、一致性问题

强一致性的解决方案:事务和锁。

弱一致性的解决方案:消息队列。

  • 3、分布式Session

一个常见的问题,也有多种解决方案。

  • 4、分布式缓存

和上述的缓存一样,只不过这里侧重缓存的分布式方案。

  • 5、分布式数据库

这里指的是数据库的分布式方案,也包括HBase这种分布式数据库。

  • 6、负载均衡

负载均衡也是一个值得探讨的话题,一般我们讨论的是七层和四层负载均衡。

  • 7、消息队列

消息队列是一个比较复杂的分布式组件,我们可以了解常用消息队列,例如Amq、Kafka等的实现。

  • 8、服务化

服务化的核心包括Rpc、服务注册中心等等。分布式服务相关技术也是后端同学必须掌握的内容。

  • 9、虚拟化

虚拟化同样也是后端同学必须掌握的内容,只不过现在越来越多的服务部署方式使用的是Docker和云服务的方式,所以了解一下也没有什么不好的。


把以上这些内容掌握以后,就可以自诩精通Java后端了!但做到的没有几个!

学习编程是一个漫长而痛苦的过程,需要持之以恒的耐心,千万不可急于求成。

想要入门很容易,但想精通谈何容易呢?


编辑不易,望各位看倌不吝点评指导!!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表