当前位置: 首页 > news >正文

Java学习路线图//Java、Java学习路线、Java自学、Java经验分享、经验分享、资源分享

今天整理了群里大佬们的实践经验成文为学习路线图,目的是帮助后来者高效的学习Java。

该路线图在保留了文章的核心架构外,也做了一些优化,包括:

  1. 更详细的学习内容。
  2. 更精确的学习时间。
  3. 优化学习方法,避开前端知识。
  4. 及时引入Jar包管理(Maven)。

下面是具体的 “Java学习路线图”:

在图中,我们可以把Java学习分成3个阶段:

  1. 基础知识
  2. Spring
  3. 应用服务

阶段划分的原则是“由浅入深”,利于读者层层递进的学习。

内容选编的原则是 “有用”,有利于读者理解Java原理,对实际工作有用。

下面是各个阶段的简要介绍。

基础知识

学习Java基础知识,可供选择的书很多,但它们大都有着一个缺点,那就是内容庞杂,有些内容脱离实际,甚至是过时。

对此,在这一阶段,我精选了Java的基础知识,核心原则就是“有用”。并调整了章节顺序,从而有利于读者循序渐进的学习。

关于学习资料,建议阅读《Java核心技术 卷I》,并辅于上网搜索。

Spring 

目前,Spring已经成为Java开发的基础设施,是任何一个Java程序员都必须掌握的内容。因此,在掌握了Java基础知识后,接下来应转入Spring的学习。

但在正式开始学习Spring之前,还有两个问题要解决:

  1. Spring相关jar包的管理。
  2. 测试程序的编写及管理。

所以,在正式接触Spring知识之前,路线图首先安排了 Maven和Junit的学习。

Maven和Junit,从实用角度看都不难理解,上网搜索就可以满足学习的需要。

Spring的学习又分为两个阶段:Spring Core和Spring MVC。

Spring MVC是建立在Spring Core之上,在Web MVC领域的具体应用。因此,在学习Spring MVC之前,除了学习Spring Core,还必须掌握与Java Web相关的知识,其中最核心的就是Servlet。

在通常的Java学习中,会建议学生要掌握一定的前端知识,从而便于对Spring MVC进行测试。但前端知识庞杂,且边界不好界定,从而就给Java学习者带来很大的负担。

为此,在本学习大纲中,借鉴与行业通用做法,我推荐学生通过junt和HttpClient组合,用单元测试来满足Spring MVC的测试需求。

这样,在Java学习中,就完全避免了对前端知识的接触,极大的提高了学习效率。

特别提醒一下,Spring是Java学习中最难的部分。但是,一旦跨过这个门槛,从此之后,你基本就踏上了Java学习的通途。因此,对Spring学习一定有决心,要敢于迎难而上,不轻言放弃。

关于Spring的学习资料,推荐《Spring实战》,虽然我个人对它并不十分满意,但已是我读过的最好的书。阅读的过程中,真遇到不理解的东西,记着随时上网搜索。

应用服务

在这一部分,我列举了Java开发中最常用的“中间件”。这些中间件涵盖了各个领域,包括持久化、缓存、队列、反向代理等。

其中列举的东西,虽然涉及广泛,但内容都相对独立,难度也有限。因此通过上网搜索,就可以满足学习的需求。

在掌握了这些中间件之后,你就会成长为一个能够独立编写Java后端程序,并对架构有一定理解的初级Java软件工程师。

最后,该“Java学习路线图”完全来自于群中的一线开发经验,学习的节奏也经过实践的检验。因此,后来者只需“按图索骥”,自会以最少的投入,取得最好的学习效果。

祝你学习顺利!


需要更详细路线图和学习规划以及学习资料的,加我微信,备注999(记得备注,不然可能会忘记送你资源了)

或者加QQ群我们一起交流:731892759
免费领取三套价值3000元的Java资料
1、Java自学超详细电子书
2、自录优质网络直播课
3、大厂Java面试题,优质项目练习题

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35206.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

Linux高级存储管理

Linux高级存储管理1.lvm定义1.1 逻辑卷2.lvm的建立3.lvm的拉伸4. lvm缩减5.lvm快照6.lvm设备的删除7.管理vdo设备1.lvm定义 1.1 逻辑卷 逻辑卷主要适用于解决存储空间扩展问题,逻辑卷可以利用软件实现无限扩展。LVM可以实现把新的物理分区重组成物理卷&#xff0c…...

2021-06-11 VMware centos7 无线网络配置

一、虚拟机设置 VMware界面最上面,选择虚拟机->设置:将网络连接改为桥接模式,如下图所示: 二、查看主机DNS地址 winR 输入cmd,启动命令行界面,输入ipconfig/all,查看主机DNS服务器地址&#…...

Anime+Vue<svg画线动画>从安装到入门使用

1.安装Anime并全局使用 npm install animejs --saveimport anime from "animejs";2.在阿里巴巴矢量图标库复制&#xff08;或者下载&#xff09;svg到页面中,注意&#xff1a;画线动画svg图标stroke属性必须有颜色值。不然看到个毛线! <template> <div> …...

2021多校第二场F 简单计算几何模板(球体相交体积)

简单板子题题意代码题意 [原题链接](https://ac.nowcoder.com/acm/contest/11253/F) 大致题意&#xff1a; 有A&#xff0c;B&#xff0c;C&#xff0c;D四个点&#xff08;三维坐标&#xff09;和k1&#xff0c;k2两个常数 在空间上取一点P1使 |AP1|/|BP1|k1 &#xff08;所有…...

解决Ambari启用Kerberos后HDFS/YARN/SPARK等页面无法打开问题

Ambari启用Kerberos认证后HDFS/YARN/SPARK等相关的组件的web页面都无访问了&#xff0c;提示要登录&#xff0c;401: Authorization required。 Ambari版本2.7.3.0 这个问题&#xff0c;可以通过两个办法解决 配置本机的kerberos认证&#xff0c;登录可以访问的user配置组件服…...

NoSQL NewSQL

OldSQLNewSQLNoSQL分类关系型关系型非关系型非关系型应用场景交易型&#xff1a;实时&#xff0c;面向应用&#xff0c;关注热数据交易型&#xff1a;实时&#xff0c;面向应用&#xff0c;关注热数据分析型&#xff1a;非实时&#xff0c;面向统计分析&#xff0c;关注全部数据…...

BUUCTF 逆向工程(reverse)之Java逆向解密

程序员小张不小心弄丢了加密文件用的秘钥&#xff0c;已知还好小张曾经编写了一个秘钥验证算法&#xff0c;聪明的你能帮小张找到秘钥吗&#xff1f; 注意&#xff1a;得到的 flag 请包上 flag{} 提交 下载好题目后&#xff0c;发现它是个以.class为后缀的。所以用JD-GUI打开这…...

Javascript ES6中export与import指令使用说明

javascript ES6 支持模块化编程&#xff0c;模块是独立的文件js文件&#xff0c;该文件内部的所有的变量与函数都是局限在该模块内部&#xff0c;外部模块无法访问&#xff0c;如果需要在调用的模块之内使用这些符号&#xff0c;模块内部的变量与函数必须设置为输出。符号的输出…...

用 Python 进行游戏开发

1. pgzero python在各个领域都有着丰富的第三方库,pygame是python在游戏领域的应用库,可以用来开发各种不同的游戏。但是对于初学者来说,还是存在一定的门槛。 而今天要和大家分享的pgzero(pygame zero)是在pygame基础上做了进一步的封装,使得设计一款游戏十分的方便,…...

Centos7启动Eclipse Ditto项目

Centos7启动Eclipse Ditto项目1.安装Oracle VM VirtualBox虚拟机&#xff0c;并安装centos7详细安装记录2.安装Docker3.Eclipse Ditto1.安装Oracle VM VirtualBox虚拟机&#xff0c;并安装centos7详细安装记录 详见win10安装oracle vm virtualbox&#xff0c;并安装centos7详细…...

C语言之重定向和文件(更新中)

一、C程序中要包含stdio.h头文件才可以直接使用putchar()、getchar()函数、printf()函数&#xff0c;scanf()函数&#xff0c;它们都是C语言标准I/O包的成员。 二、ANSI C 和后续的C标准都规定输入是缓冲的。缓冲区的大小取决于系统&#xff0c;常见大小512字节和4096字节。 缓…...

开发手札:git日常抽风记录

今天一大早代码提交不上github&#xff0c;各种方法解决不了&#xff0c;虽然最终不知道是否根治解决了&#xff0c;但是起码目前没问题&#xff0c;所以记录一下。 今天来公司三台开发机&#xff08;两台window、一台macos&#xff09;全部ssh connect timeout errorcode 22或…...

链表 + 数组模拟链表

链表的指针实现 1.指针 #include<iostream> using namespace std; int main(){int a 5;int *p; // int 型的指针double *q; //double 型的指针p &a;// cout << p 指向 acout << *p << endl; //间接输出 areturn 0; }2.申请动态内存&#xff08…...

vue 实现两级表头表格下载

首先需要引用两个js Blob.js 对应第一个 Export2Excel.js 对应第二个 /* eslint-disable */ /* Blob.js* A Blob implementation.* 2014-05-27** By Eli Grey, http://eligrey.com* By Devin Samarin, https://github.com/eboyjr* License: X11/MIT* See LICENSE.md*//*glo…...

Laravel ORM 订单 分表

Laravel ORM 订单 分表创建数据 简介数据库表用户表订单表订单商品表示例ORM新建 `_Model.php`文件。作为基类`Order.php` 订单模型继承_Model`OrderGoods.php` 订单商品继承_Model控制器订单入库访问简介 开发项目,经常碰到订单量暴增的问题,简单点处理,需要给订单表做分表…...

第一次动手构建 Linux 内核(未完待续)

目录背景机器参数参考链接操作流程步骤1&#xff1a;下载 Linux 内核源码步骤 2&#xff1a;解压源码步骤 3&#xff1a;下载所需软件包步骤 4&#xff1a;内核配置步骤 5&#xff1a;开始构建&#xff01;未完待续背景 这两天读《UNIX传奇&#xff1a;历史与回忆》这本书&…...

Spring学习:工厂方法创建 Bean

目录通过调用静态工厂方法创建 Bean通过调用实例工厂方法创建 Bean通过调用静态工厂方法创建 Bean 调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中。当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节。 要声明通过静态方法创建的 Bean:…...

运行时数据区-虚拟机栈

文章目录谈谈你对虚拟机栈的理解栈帧什么是栈帧&#xff08;Stack Frame)当前栈帧栈帧的内部结构局部变量表Slot操作数栈Operand Stack动态链接方法返回地址一些附加信息虚方法和非虚方法方法的调用&#xff1a;虚方法表面试题方法中定义的局部变量是否线程安全&#xff1f;运行…...

常见运维问题(打印机、重装系统、IE)

连接打印机与驱动安装 制作U盘系统盘 新系统没有网卡时离线驱动安装 IE浏览器安全级别设置 IP地址的查询 处理操作来源于网络资源&#xff08;尊重原创&#xff09;&#xff1a;原创博客链接...

活动目录备份和灾难恢复之自动备份与授权还原

前言 由于服务器系统状态总在变化&#xff0c;因该增加对系统状态备份的频率&#xff0c;来减少备份对服务器工作环境的影响&#xff0c;所以最好是每天晚上对服务器系统状态进行备份&#xff0c;但是单独使用wbadmin命令无法创建系统状态的自动备份计划&#xff0c;此时可以使…...

简单介绍下Python解释器

当我们编写Python代码时&#xff0c;我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码&#xff0c;就需要Python解释器去执行.py文件。 由于整个Python语言从规范到解释器都是开源的&#xff0c;所以理论上&#xff0c;只要水平够高&#xff0c;任何人都…...

静态ip域名怎么设置?

要想在互联网上进行正常的联网使用&#xff0c;分别是&#xff1a;网站源码&#xff0c;服务器&#xff0c;域名。服务器就是用来在后台存储网站数据并支撑运行的平台&#xff0c;大家对服务器以及域名都不是很了解&#xff0c;因此&#xff0c;想要对此有了解的小伙伴&#xf…...

Linux 文件系统 整理

独栋别墅&#xff0c;容积率低 root 用户 高层。 用户组 用户 $more 预览 文件名 more /etc/group a.txt 文本 .java Java文件 Linux中不以后缀作为区分&#xff0c; 回车 &#xff1a;换行 空格&#xff1a;换页 q&#xff1a;退出 $tail&#xff1a; 尾巴 $tail -10 /etc/gr…...

PHP_JavaScript高级编程(2)

二、今日目标 1、理解什么是面向对象&#xff08;编程&#xff09; 2、掌握定义对象的多种方式&#xff0c;并知道各种方式的优缺点 3、掌握什么是原型对象&#xff08;难点&#xff09; 4、理解原型链的概念&#xff08;或原型链的查找方式&#xff09; 5、掌握什么是回调…...

Linux企业运维——Kubernetes(十六)容器资源监控

Linux企业运维——Kubernetes&#xff08;十六&#xff09;容器资源监控 文章目录Linux企业运维——Kubernetes&#xff08;十六&#xff09;容器资源监控1、Metrics-Server1.1、Metrics-Server简介1.2、Metrics-Server部署2、Dashboard2.1、Dashboard部署2.2、Dashboard可视化…...

IFRS17改造记录

一&#xff0c;为什么要推行IFRS17&#xff08;简称&#xff1a;I17&#xff09; 不同国家&#xff0c;不同的保险产品采用不同的会计计量方法&#xff08;中国保险业现行的会计准则是基于IFRS4准则&#xff09;保险行业的财务报告难于理解对风险没有明确的量化计量部分国家由…...

Java学习推荐书目

一、基础类 1、《Thinkinginjava》&#xff0c;入门第一位是建立正确的概念。 2、《CoreJava》&#xff0c;我没系统读过&#xff0c;这本书更贴近实践&#xff0c;更多API的介绍&#xff0c;同样&#xff0c;更新也更频繁。 二、进阶类 1、《EffectiveJava》&#xff0c;在熟…...

2021-08-23 arm开发板上执行程序报错:-sh: ./uart_app: No such file or directory

问题前提描述: 使用的是正点原子 arm alpha 开发板存在这个文件 其他相关问题: 刚出现这个问题时,我在csdn上搜到的其他造成原因: “doc格式(windows系统)、mac(苹果系统)在上传到xshell(unix系统)后, unix系统是不支持doc&#xff08;mac&#xff09;格式的” 如果是这种情况…...

PTA 基础编程题目集 7-2 然后是几点

目录 题目&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 分析&#xff1a; 答案&#xff1a; 题目&#xff1a; 有时候人们用四位数字表示一个时间&#xff0c;比如 1106 表示 11 点零 6 分。现在&#xff0c;你…...

springboot整合阿里云Oss文件服务器实现上传下载

1.登录阿里云官网获取四样东西 阿里云官网&#xff1a;https://oss.console.aliyun.com/ //不明白具体怎么操作的百度endpoint accessKeyId accessKeySecret bucket2.代码实现 2.1 导入依赖 <dependency><groupId>org.springframework.boot</groupId><a…...

dbc2000 注册机|dbc2000 注册码注册机下载

点击下载来源&#xff1a;dbc2000 注册机 dbc2000 注册机是同名源程序软件的注册机软件&#xff0c;该源程序软件是一款应用于数据库搭建以及数据写入的数据库架设工具&#xff0c;它拥有强大的数据写入功能&#xff0c;在作为应用程序使用时&#xff0c;它不仅可以充当数据属性…...

秋招面经第八弹:网易二面-数据开发工程师

秋招第八弹&#xff1a;网易二面-数据开发工程师 写在最前&#xff1a;秋招以来一直在冲&#xff0c;因为事情比较多&#xff0c;对于笔试面试一直没有复盘&#xff0c;现在靠仅存的记忆把面试的一些问题记录下来&#xff0c;尽可能记录出能回忆到的问题&#xff0c;但可能记的…...

安卓课程格子APP

https://download.csdn.net/download/weixin_57836618/73810452 功能演示&#xff1a; 查看所有课程 点击主页面空白处即可添加课程 添加课程之后查看课程 查看双周课程 查看单周课程 6.查看课程详情...

强化学习——格子世界

强化学习——格子世界 项目源码地址&#xff1a;https://gitee.com/infiniteStars/machine-learning-experiment 1. 实验内容 2. 实验代码 import numpy as np import matplotlib.pyplot as plt from matplotlib.table import Table from xml.dom.minidom import Document #手…...

华为机试 - 跳格子游戏

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 地上共有N个格子&#xff0c;你需要跳完地上所有的格子&#xff0c;但是格子间是有强依赖关系的&#xff0c;跳完前一个格子后&#xff0c;后续的格子才会被开启&#xff0c;格子间的依赖关系由多组st…...

php 爬课程表信息,Ruby爬取教务系统生成课程表

我为什么要虐自己最近觉得课程格子广告越来越多&#xff0c;乱七八糟的东西越来越多&#xff0c;完全失去了一开始的存在价值&#xff0c;并且没有电脑端app&#xff0c;想查看课程必须拿出手机&#xff0c;而我使用电脑频率要比手机高&#xff0c;所以才有了折腾的动力。于是我…...

android 课程表 ui,UICollectionViewLayout实现课程表布局

因为项目中有课程表的相关模块&#xff0c;第一时间想到用UICollectionView。然而后期的需求越来越复杂&#xff0c;每个格子需要展示的内容越来越多&#xff0c;所以不得不寻找合适的解决方案。最后发现自定义UICollectionViewLayout可以实现我的需求。先放效果图&#xff1a;…...

Android自定义View课程表,Android 自定义View课程表表格

自己闲下来时间写的一个课表控件使用的自定义LinearLayout 里面View都是用代码实现的 最终效果如下图 写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数 和节数大概的布局三这样的根据上面的看来觉得总体布局我分了两个 上面的星期是…...

java课程设计设计_java课程设计

1. 团队课程设计博客链接https://www.cnblogs.com/choco1ate/p/12172223.html2.本组课题及本人任务本组课题&#xff1a;泡泡堂(炸弹人)游戏本人任务&#xff1a;Box类(游戏地图中的每个方格)Bomb类(游戏过程中的)游戏玩家输赢信息的文件储存3.需求分析Box类&#xff1a;该类为…...

《课程格子》的一个笔试题目

题目如下&#xff0c;感觉很适合喜欢琢磨的程序员&#xff0c;也是考验你编码风格的时候。 Lets make a tower defense game&#xff08;塔防游戏):1. You have 1 tower, with H health and D dps(damage per second).2. There are n attackers, each with h_i health and d_i …...

Android仿照超级课程表 or 课程格子 一键提取课表功能(方正系统)

参考文章http://blog.csdn.net/sbsujjbcy ,本文仿照‘ 安卓弟 提供的android 项目实战——打造超级课程表一键提取课表功能文章&#xff0c;对他的代码进行了修改和补充&#xff0c;为什么要修改呢&#xff1f;原因是安卓弟的那个源码版本过于老旧&#xff0c;很多方法已经过…...

数字IC面试手撕代码(二)

题目 题目很简单&#xff0c;就是写一个10110序列发生器。 有两种方法&#xff0c;第一种就是通过循环移位的方式&#xff0c;来产生相应的序列&#xff0c;另一种方法则是通过状态机来实现。 方法一:循环移位 timescale 1ns / 1ps // // Company: // Engineer: // // Cr…...

【可信计算】第十一次课:TPM密码资源管理(三) NV索引与PCR

TPM非易失性存储 TPM内部拥有一定数量的非易失性存储空间&#xff0c;可以用于存储可信平台自身的系统数据。这些数据包括授权值&#xff0c;种子&#xff0c;凭据以及TPM从不会暴露在安全边界之外的秘密数据。除此之外&#xff0c;这些数据还包括计数器&#xff0c;时钟&…...

DVB系统中PCR的生成和PCR校正

引自《广播电视信息》2008年1月 从数字电视前端系统功能上来讲&#xff0c;传统的DVB数字硬件前端技术包含编码、复用、加扰、调制四个基本环节&#xff0c;而在实际的DVB前端系统中还有直接的TS流转发环节&#xff0c;如下图所示&#xff1a; 上图中编码环节是将模拟视音频或者…...

植物突变体库(一)

背景 1 分子生物学的迅速发展&#xff0c;基因组学研究也随之进入后基因组时代。功能基因组学是在研究生物有机体内各种基因功能的基础上&#xff0c;进一步解析所有基因协调发挥作用的机制。 要准确揭示每个基因的功能及它们之间的相互联系&#xff0c;就要进行单个基因和多个…...

PCR理解

转自&#xff1a;http://blog.csdn.net/niehanzi/article/details/4450154 PCR的物理意义&#xff1a; PCR存在于TS包的自适应域中,如下图: PCR用来同步前端编码器和后端机顶盒的时钟 &#xff08;1&#xff09;PCR 仅仅在实时播出流中才有意义&#xff08;即前端编码器实时…...

4K数字电视的体验设计

先对广电的STB产品进行一个体验 测试&#xff0c;我们选用陕西广电的秦岭云STB和天威的STB进行测试和分析。 项目 秦岭云STB TOPWAY STB 1 视频模糊 多 较多 2 视频抖动 较多 较少 3 视频马赛克 马赛克不恢复&#xff0c;切换节目恢复 马赛克不恢复&#xff0c;切…...

通俗的解释下音视频同步里pcr作用

PCR同步在非硬件精确时钟源的情况还是谨慎使用&#xff0c;gstreamer里面采用PCR同步&#xff0c;但是发现好多ffmpeg转的片儿&#xff0c;或者是CP方的片源&#xff0c;pcr打得很粗糙的&#xff0c;老是有跳帧等现象。 音视频同步&#xff0c;有三种方法&#xff0c;视频同步…...

PTS PCR DTS

PTS PCR DTS 详解 MPEG-2 TS/PS同步原理 一、引言 MPEG-2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES&#xff0c;PES和TS这3个层次中。在ES层&#xff0c;与同步有关的主要是视频缓冲验证VBV&#xff08;Video Buffer Verifier&#xff09;&#xff0c;用以防止解码…...

数字电视传输流PCR抖动分析

讲的很详细。 http://wenku.baidu.com/view/90feae114431b90d6c85c7e1.html### 好文&#xff01;&#xff01;&#xff01;...