首先要明确后端包括哪些职业:DBA(数据库维护优化专家),Developer(程序猿),Architect(构架师),Scrum master及类似(敏捷开发专家),Project Manager(产品狗),Maintenance&IT support(通讯和服务器相关),当然这只是一个大致的分类,并没有一个清晰的界限。

按程序猿内功而言:关系型数据库,领域驱动设计(Domain-Driven Design),设计模式Design Pattern,算法Algorithm,面向对象编程OOP(SOLID),线程安全,事件驱动,测试驱动开发,依赖注入框架,等等。

对于初学Java并且有志于后端开发的同学来说,需要重点关注以下几个部分:

基础:比如计算机系统、算法、编译原理等等

Web开发: 主要是Web开发相关的内容,包括HTML/CSS/js(前端页面)、 Servlet/JSP(J2EE)以及MySQL(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面)。

J2EE:你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的。关于Servlet/Jsp部分视频的选择,业界比较认可马士兵的视频。

最后一步,你需要学会使用数据库,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。

开发框架:目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。还要提一句的是,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。

因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。

总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。

java后端开发需要学什么_从事Java后端开发,要学习哪些知识和技能?相关推荐

  1. java transferto_小六六学Netty系列之Java 零拷贝

    前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger种一棵树最好的时间是十年前,其次是现在 我知道很多人不玩qq了 ...

  2. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法

    Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...

  3. 前端 python java三者哪个比较容易就业_前端和后端(Java)开发哪个难?,哪个学习容易一点?...

    关于前端和后端java学习难以程度,以下是我的分享. 难易程度: web前端开发 起点低.容易入门,相对于Java来说,前端对于逻辑思维的要求比较低,所以学习前端也要容易一些,所以你不用担心学不会.很 ...

  4. 后端开发需要学什么_都2020年了,还在纠结学什么语言?| 后端篇

    几个礼拜前,一个学弟问我: "Ray,我打算之后要找工作了,不过现在自己没有特别深入的语言,最近想找一门好好学一下,你觉得学什么语言好呀?" 我表示:"这个要看你求职方向 ...

  5. java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程

    作者:HelloGitHub-老荀 当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了.在走下坡路了.没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦 ...

  6. java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...

    原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...

  7. java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...

    自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...

  8. 学java用什么写比较好_学习Java需要什么基础,初学Java如何写好代码

    原标题:学习Java需要什么基础,初学Java如何写好代码 初学Java的同学时常会遇到这样的情况,跟着入门教程看过一遍,但需要自己写代码的时候却无从下手:写代码的时候时常会遇到不懂的地方,如果停下来 ...

  9. 三年java现在还是菜的不行_你java开发几年还是那么菜是因为你没有做到这些

    前言 大家好,我是码农小胖哥.今天聊一聊如何提高自己编码能力.授人与鱼不如授人与渔.这里说的我有点膨胀了.只是分享一下自己的心得和体会,希望对你有用.觉得可以的话点个赞关注一下. 进入java开发之初 ...

最新文章

  1. 610D - Vika and Segments(线段树+扫描线+离散化)
  2. eclipse工程设置项目jre
  3. 分布式锁的实现方式——ACID数据库、缓存或者是zk
  4. Docker+mysql
  5. Google下的这盘“小”棋
  6. 关于两个php.ini的说明
  7. python自动发邮件运行正常就是收不到邮件是为什么_python stmp module 163邮箱发送邮件不成功...
  8. PMP读书笔记(第9章)
  9. typeof 数据类型转换
  10. arcgis不闭合线转面_【干货】ArcGIS矢量面转点、点转面,面矢量转点矢量方法讲解,值得学习!...
  11. CentOS7下搭建yum仓库
  12. 项目-团队-技术-个人(专业篇)
  13. WannaCry病毒横行Windows,Mac用户不应幸灾乐祸!
  14. 用简单的语言描述C++ 是什么?
  15. java毕设项目开源啦,springboot+vue+springcloud的家庭理财系统
  16. GJB 软件质量保证计划(模板)
  17. vsftpd 虚拟用户详细配置
  18. 面试题(两个栈实现一个队列和两个队列实现一个栈)
  19. OSEK和Autosar网络管理的区别和共同点
  20. bada 2D游戏编程——开篇说明

热门文章

  1. JDK安装教程(有图详解)
  2. RabbitMQ创建死信队列
  3. 背包游戏 c语言,关于几个背包问题(C语言)(示例代码)
  4. JSPSSM204旅游景点线路网站 java毕业设计源码含论文和答辩ppt
  5. 使用audit2allow工具来根据avc log生成selinux规则
  6. 容器云系列之Docker容器监控工具WeaveScope
  7. vue项目防抖节流插件的使用
  8. HCIA——VLAN
  9. 重庆工商职业学院计算机类宿舍,重庆工商职业学院宿舍_宿舍条件图片环境分享...
  10. Android webview里面的输入框点击不弹出软键盘 锁屏再解锁 重新获取焦点之后 就可以了