java后端开发需要学什么_从事Java后端开发,要学习哪些知识和技能?
首先要明确后端包括哪些职业: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后端开发,要学习哪些知识和技能?相关推荐
- java transferto_小六六学Netty系列之Java 零拷贝
前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger种一棵树最好的时间是十年前,其次是现在 我知道很多人不玩qq了 ...
- Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法
Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...
- 前端 python java三者哪个比较容易就业_前端和后端(Java)开发哪个难?,哪个学习容易一点?...
关于前端和后端java学习难以程度,以下是我的分享. 难易程度: web前端开发 起点低.容易入门,相对于Java来说,前端对于逻辑思维的要求比较低,所以学习前端也要容易一些,所以你不用担心学不会.很 ...
- 后端开发需要学什么_都2020年了,还在纠结学什么语言?| 后端篇
几个礼拜前,一个学弟问我: "Ray,我打算之后要找工作了,不过现在自己没有特别深入的语言,最近想找一门好好学一下,你觉得学什么语言好呀?" 我表示:"这个要看你求职方向 ...
- java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程
作者:HelloGitHub-老荀 当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了.在走下坡路了.没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦 ...
- java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...
原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...
- java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...
自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...
- 学java用什么写比较好_学习Java需要什么基础,初学Java如何写好代码
原标题:学习Java需要什么基础,初学Java如何写好代码 初学Java的同学时常会遇到这样的情况,跟着入门教程看过一遍,但需要自己写代码的时候却无从下手:写代码的时候时常会遇到不懂的地方,如果停下来 ...
- 三年java现在还是菜的不行_你java开发几年还是那么菜是因为你没有做到这些
前言 大家好,我是码农小胖哥.今天聊一聊如何提高自己编码能力.授人与鱼不如授人与渔.这里说的我有点膨胀了.只是分享一下自己的心得和体会,希望对你有用.觉得可以的话点个赞关注一下. 进入java开发之初 ...
最新文章
- 610D - Vika and Segments(线段树+扫描线+离散化)
- eclipse工程设置项目jre
- 分布式锁的实现方式——ACID数据库、缓存或者是zk
- Docker+mysql
- Google下的这盘“小”棋
- 关于两个php.ini的说明
- python自动发邮件运行正常就是收不到邮件是为什么_python stmp module 163邮箱发送邮件不成功...
- PMP读书笔记(第9章)
- typeof 数据类型转换
- arcgis不闭合线转面_【干货】ArcGIS矢量面转点、点转面,面矢量转点矢量方法讲解,值得学习!...
- CentOS7下搭建yum仓库
- 项目-团队-技术-个人(专业篇)
- WannaCry病毒横行Windows,Mac用户不应幸灾乐祸!
- 用简单的语言描述C++ 是什么?
- java毕设项目开源啦,springboot+vue+springcloud的家庭理财系统
- GJB 软件质量保证计划(模板)
- vsftpd 虚拟用户详细配置
- 面试题(两个栈实现一个队列和两个队列实现一个栈)
- OSEK和Autosar网络管理的区别和共同点
- bada 2D游戏编程——开篇说明
热门文章
- JDK安装教程(有图详解)
- RabbitMQ创建死信队列
- 背包游戏 c语言,关于几个背包问题(C语言)(示例代码)
- JSPSSM204旅游景点线路网站 java毕业设计源码含论文和答辩ppt
- 使用audit2allow工具来根据avc log生成selinux规则
- 容器云系列之Docker容器监控工具WeaveScope
- vue项目防抖节流插件的使用
- HCIA——VLAN
- 重庆工商职业学院计算机类宿舍,重庆工商职业学院宿舍_宿舍条件图片环境分享...
- Android webview里面的输入框点击不弹出软键盘 锁屏再解锁 重新获取焦点之后 就可以了