Java工程师以后发展路径是什么?

作者&投稿:邲乖 (若有异议请与网页底部的电邮联系)
java的职业发展路径是怎样的?~

看你擅长那些儿 java可以走职业管理路径和技术大牛路线。

给你看一张图,自己体会下

最近有些网友问我如何自学 Java 后端,还有些是想从别的方向想转过来,但都不太了解 Java 后端究竟需要学什么,究竟要从哪里学起,哪些是主流的 Java 后端技术等等,导致想学,但又很迷茫,不知从何下手。我就以过来人的经历,写在这篇博客里,不一定都对,但都是我根据自己的经历总结出来的,供你们的参考。

Java 基础

Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装、继承、多态。此外还有泛型、反射的特性,很多框架的技术都依赖它,比如 Spring 核心的 Ioc 和 AOP,都用到了反射,而且 Java 自身的动态代理也是利用反射实现的,这里我特意写了一篇 Java动态代理原理分析。此外还有 Java 一些标准库也是非常常见,比如集合、I/O、并发,几乎在 Web 开发中无处不在,也是面试经常会被问到的,所以在自学 Java 后端之前,不妨先打好这些基础,另外还有 Java8 的一些新特性,也要重点关注,比如 Lambda 表达式、集合的 Stream 流操作、全新的 Date API 等等,关于新特性,我也写了几篇关于这方面的博客,请自行找吧,就不贴出来了。

关于书籍推荐,我是不建议初学者一开始就拿着「Java 编程思想」啃的,因为当初我就是那个当天下午决定自学 Java,晚上就抱着这本书啃的人,说实话,我当时真的不懂它在说啥,因为我没有一点的面向对象语言编程的基础,而这本书又写得太博大精深了,在当时的我来说,完全是天书,但是我认为它仍然是 Java 界的圣经,每读一次都有所收获。我在这里推荐你们一开始先看「Java 核心技术」,这本书讲得比较通俗易懂,初学者比较能接受。

关于视频推荐,我当初就是听某客的毕向东老师讲的 Java 基础教程,毕老师讲的实在是太生动有趣了,不知不觉把我带进 Java 的坑里无法自拔,有时候我会听他视频时笑出声来,也许是我那段自学阶段最有趣的时刻了。

数据库

关于 sql 方面:SQL 教程、MySQL 教程

我是了解了一些基础语法之后,就直接跟着视频的老师做一些表操作实战练习了,比如单表查询、多表查询等。我建议学 sql 切勿眼高手低,需多加练习,不要只看懂了就行,因为工作中写得一手简练的 sql 是非常重要的。在这里我说下我在项目一直秉承着 sql 语句是能避免多表查询就避免多表查询,能够分开多条语句就分开多条语句,因为这里涉及到多表查询性能和数据库扩展的问题。

关于 JDBC 方面:JDBC 教程、 JDBC 获取连接对象源码分析

你需要弄懂 JDBC API 的用法,其实它只是一组规范接口,所有数据库驱动只要实现了 JDBC,那么我们就可以通过标准的 API 调用相应的驱动,完全不用知道驱动是怎么实现的,这就是面向接口编程的好处。而且对于 JDBC 我是直接看视频去理解的,跟着视频做了一个基于 Apache Dbutils 工具做了一个具有事务性的小工具,我特意用思维导图总结了一下:

Web 基础

曾经开源中国创始人红薯写了一篇文章「初学 Java Web 开发,请远离各种框架,从 Servlet 开发」,我觉得他说的太对了,在如今 Java 开发中,很多开发者只知道怎么使用框架,但根本不懂 Web 的一些知识点,其实框架很多,但都基本是一个套路,所以在你学习任何框架前,请把 Web 基础打好,把 Web 基础打好了,看框架真的是如鱼得水。

关于 Http 协议,这篇文章就写得很清楚:Http协议

关于 Web 基础这方面数据推荐,我当时是看的是「Tomcat 与 Java Web 开发技术详解」,很详细地讲解了整个 Java Web 开发的技术知识点,但现在看来,我觉得里面讲的有一些技术确实有点老旧了,不过可以了解一下 Java Web 开发的历史也是不错的。所以在 Web 基础这方面我都是看某客的崔老师讲的「超全面 Java Web 视频教程」,讲得很详细很生动,还有实战项目!

关于 JSP,你只要了解它其实就是一个 Servlet 就行了,关于它的一些标签用法,我认为可以直接忽略,因为现在互联网几乎没哪间公司还用 JSP,除了一些老旧的项目。现在都是流行前后端分离,单页应用,后端只做 API 接口的时代了,所以时间宝贵,把这些时间重点放在 Servlet 规范上面吧。

关于 Tomcat,它是一个 Web 容器,我们写的后端项目都要部署到Web容器才能运行,它其实是一个遵循 Http,通过 Socket 通信与客户端进行交互的服务端程序:Tomcat结构及处理请求过程

Web 主流框架

Java Web 框架多如牛毛,等你有一定经验了,你也可以写一个 Web 框架,网上很多说 Spring、Struts2、Hibernate 是 Java 三架马车,我只想说,那是很久远的事情了,我严重不推荐 Struts2、Hibernate,相信我,一开始只需要上手 Spring、SpringMVC、Mybatis 就可以了,特别是 Spring 框架,其实 Spring 家族的框架都是很不错的。

但是提醒一点就是,千万不要沉迷于各种框架不能自拔,以会多种用法而沾沾自喜,导致知其然而不知其所以然。

Spring其核心思想就是 IOC 和 AOP:

谈谈对 Spring IOC 的理解

Spring 面向切面编程

SpringMVC 它的思想是全部请求统一用一个 Servlet 去做请求转发与控制,这个 Servlet 叫 DispatcherServlet:

SpringMVC 初始化过程

SpringMVC 处理请求过程

Mybatis 它可实现动态拼装 sql,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集:

mybatis 入门教程

Mybatis 深入浅出系列

Web 框架进阶

使用了 SSM 框架后,你会觉得框架也不过这么回事,如果你对 Spring 有过大概了解,你也会产生想写一个「山寨版」Spring 的心思了,一个轻量级 Web 框架主要具备以下功能:

  • 可读取用户自定义配置文件,并以此来初始化框架;

  • 具备 Bean 容器,管理项目的类的对象生命周期;

  • 具备依赖注入,降低类之间的耦合性;

  • 具备 AOP 功能,使项目可进行横向编程,可不改变原有代码的情况增加业务逻辑;

  • 具备 MVC 框架模式。

  • 其实除了 SSM 之外,Web 框架可谓是百家齐放,其中以 Spring 全家桶最为耀眼,在这里我极力推荐两个 Spring 家族框架:SpringBoot 和 SpringCloud。

    SpringBoot 弥补了 Spring 配置上的缺点,再也不用为繁杂的 xml 费劲精力了,堪称是 Java 后端开发的颠覆者,推荐书籍「Java EE 开发的颠覆者:SpringBoot实战」

    SpringBoot 构建 web 项目

    SpringBoot 自动化配置源码分析

    自定义 SpringBoot Starter

    spring-boot-starter-tutorial

    SpringCloud 是一个微服务架构,能够将项目按照业务分成一个个微服务,每个微服务都可独立部署,服务之间互相协调。当一个项目越来越大时,随之而来的是越来越难以维护,此时将项目拆分成若干个微服务、单独维护、单独部署,也可以降低项目不同业务间的耦合度。推荐书籍「Spring Cloud 与 Docker 微服务架构实战」,这本书将 Docker 与微服务完美地结合在一起,堪称完美!

    Spring Cloud 中文官网

    史上最简单的 Spring Cloud 教程

    我写的有关于 Spring Cloud 的博客:

    SpringCloud微服务架构之服务注册与发现

    SpringCloud微服务架构之服务消费者

    SpringCloud微服务架构之断路器

    SpringCloud微服务架构之服务网关

    其它技术

    Redis:一个高性能的 key-value 数据库,当有并发量很高的请求时,将数据缓存在 Redis 中,将提高服务器的响应性能,大大减轻数据库的压力。

    redis 中文官网

    redis 教程

    Git:世界上最先进的分布式版本控制系统,建议所有初学者从命令行开始使用 Git!关注 stormzhang 公众号「googdev」,回复「github」,即可免费获取一份 GitHub 教程电子书,我觉得写得很不错。

    Git 官网

    最全 Git 教程

    Git 的一些常用命令

    Maven:一个用于构建项目的工具,将项目间的依赖通过 xml 完美地组织到一起,可通过编译插件将项目编译成字节码文件。还有类似的 Gradle 也是不错的选择。

    maven 的 pom.xml 文件详解

    Linux:至少要求常用的命令会用,能够在 linux 环境下部署项目。

    Linux 命令大全

    最全的 SSH 连接远程终端教程

    Docker:简直是项目部署神器啊,来不及解释了,看我 Docker 系列博客,开启 Docker 之旅吧!推荐书籍「Docker 技术入门与实战」,中国首部 Docker 著作!

    Docker 实战(一)

    Docker 实战(二)

    Docker 实战(三)

    docker-deploy-tutorial

    开发工具

    工欲善其事,必先利其器,以下是我推荐的一些开发工具:

    Intellij IDEA:Java 开发最好的 IDE,这个是公认的,我一开始是用 Eclipse 的,后来用了 Intellij IDEA,才发现 Eclipse 就是一坨屎,所以我以过来人劝你们不要使用 Eclipse,直接 Intellij IDEA!

    IntelliJ IDEA 使用教程

    Iterm2:macOS 最好用的终端!

    Iterm2 使用指南

    Chrome:人生苦短,请用 Chrome,来不及解释了,快上车!

    Postman:很好用的一个接口调试工具。



Java工程师实际上就是程序员啊,这个没别的以后就是做程序猿,然后普通程序员、高级程序猿、项目组长、项目经理、架构师、CTO一步一步往上升呗。

主要有这么几个方面:

1.技术经理: 专注于技术的实现

2.产品经理: 专注于产品的设计

3.项目经理:技术 + 产品, 对整个项目负责, 管理团队, 推进项目的进展

4.架构师: 技术经理的更高一级, 为整个系统设计框架


╦ava工程师工资收入多少
告诉你刚入行的平均水平7K左右,上下看个人能力;然后工作2年左右能到10k;至于3-5年就难说了,能力就有高有低,有的也还是10k,有的甚至能到15-20k,至于5年以上,就看机会了,不是纯靠代码能力,还有交际能力,沟通能力,管理能力等。

北大青鸟java培训:学习Java就业前景如何?
学Java有没有前途?有前途、Java人才缺口大 根据员工聚会的数据,Java开发了123805个全国招聘。由此可以看出,Java烂街是胡说八道。目前,市场上仍然缺乏Java人才。只要你努力学习,学好Java,就不难找到你喜欢的工作。根据调查结果,全国Java开发工程师的平均工资为14200元\/月,北京的平均工资已飙升至20900...

java 初级、中级、高级工程师有什么区别?
一、初级工程师 1、首先要学习java的基础知识。不要被新技术迷惑,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对于这些新技术的理解也是一知半解,学不到根源。 2、做一个java项目在学习完java的基础知识之后,做一个java项目来巩固一下,在项目中会发现很多问题,通过解决问题,加深基础知识的掌...

Java现在就业怎么样?
AVA人才社会需求量大,根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达倒全部需求量的60%~70%。同时,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平。80%学员毕业后年薪都超过了5万元。Java平台以其移动性、安全性...

拿Java软件工程师难吗?
不难,java是比较高级的语言了,要你学汇编才难呢,所以别怕,好好的学好了,就不用担心任何事情了,另外,实践出真知,自己多写写程序,或者去公司直接使用着学习,到时想考这个证就轻松的很了,现在很少拿着证去找工作的,都是找好工作后再考证升级自己的。好好加油吧,到时候你就知道有多容易了...

渗透测试工程师要掌握什么技术
1、渗透技术包含:数据库,asp.php.xss 等各种语言,Http等协议、代码审计、web渗透,脚本渗透、ava,c++ 等。2、渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如...

运维开发工程师和软件工程师,哪一个有前景,往后发展是怎样的?_百度知 ...
我刚毕业 找了个运维的单位实习 感觉软件工程师 开发 比较有前途。。。运维是要进工厂 企业的 开发 是和一群志同道合的人在一起

Ava枪的出产地
其实是读作:阿卡47!! 1988年由柯尔特公司授命于美国陆军部,在陆军部与海军陆战队联合参与下研制新型的M16卡宾枪。柯尔特公司的工程师把枪管弄短至14.5英寸(370mm),枪管上增加了一个缩颈用以挂装M203榴弹发射器,采用伸缩枪托,射击方式为半自动和三发点射,护木内采用了双层的铝制隔热屏。这种新型...

学软件开发能做什么工作?
应用程序开发 游戏软件开发 IT项目管理 软件实施维护 前端设计开发 IT企业缺的不是人,是人才。自己学扎实了,才能胜任更多岗位:ava(JavaEE)工程师、.NET软件工程师、外包开发工程师、网站设计和开发工程师、数据库工程师、ERP\/CRM\/OA\/B2C开发应用工程师、文档工程师等等,就业前景十分广泛。积累经验后...

学java能做什么工作
Java被运用于编写服务端应用,但大多数没有前端,都是从一个服务端(上一级)接收数据,处理数据后发向其他的处理系统(下一级)。JavaSwing由于能开发出图形用户界面的客户端供交易者使用而备受欢迎,但是现在C#正在快速地取代Swing的市场,这让Swing倍有压力。3、网站应用 Java同样也在电子商务和网站开发...

蒙城县17858588809: java程序员的发展方向都有哪些? -
文恒爱菲: 1. java程序员最多的两条进阶路线是一条是技术路线,即由程序员、高级程序员、系统分析师,到架构设计师.在这条路线上,立足于从业务模型到计算机软件模型的转换,成为高端的软件技术工作者.另一条是管理路线,即由程序员,经开发...

蒙城县17858588809: 现在做java开发,以后的发展方向有哪些啊?总不能一直做这个吧? -
文恒爱菲: Java软件工程师的未来发展方向大致分为两类:一是成为管理人员,例如产品研发经理,技术经理,项目经理等;二是继续他的技术工作之路,成为高级软件工程师、需求工程师等.

蒙城县17858588809: 我工作一年多了,java程序员.我现在特别迷茫.不知道以后的发展道路? -
文恒爱菲: 我刚回答完一个朋友的类似问题,再和你交流一下. 程序员将来能走到什么程度,这要看你选择哪条路了,选择的路不通,能达到的终点也会不同. 如 : 1、你选择一直做开发,将来随着经验的积累和视野的拓宽,成为软件工程师...

蒙城县17858588809: 学习Java软件工程师未来有哪些就业方向?
文恒爱菲: 学习Java可以从事的就业方向是非常广的,例如,JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其它与Java语言编程相关的工作.同时,也可进入电信、银行、医疗、邮箱、物流、保险专业软件开发公司等从事软件设计和开发工作.总之,Java就业前景十分乐观.

蒙城县17858588809: java有哪些就业方向? -
文恒爱菲: 第一,企业级应用开发.因为 Java 的安全性,很多企业都会用 Java 来开发一些大型应用,例如第三方交易系统、银行前后台交易系统、医疗管理系统等等.所以一些项目经验多人可以在培训后找 Java 企业级应用开发类工作.第二,网页开发...

蒙城县17858588809: JAVA的就业方向是什么? -
文恒爱菲: 目前,Java的主要就业方向有三个: 1、Web开发 Web开发语言很多,Java是其中之一.Java在开发高访问、高并发、集群化的大型网站方面有很大的优势,例如人人网、去哪儿网、美团等. 2、Android开发 Android是全球最大的智能手...

蒙城县17858588809: java工程师,未来职业发展方向, -
文恒爱菲: 虽然Java人才的薪水很高,但是对该类人才需求旺盛的IT企业却很难招聘到合格的Java软件工程师.其中,最根本的原因就是许多计算机专业的毕业生在读期间没有掌握实用的技能与经验,距离企业的实际用人要求有较大的差距.因此,计算机...

蒙城县17858588809: Java软件工程师如何发展?
文恒爱菲: Java软件工程师的未来发展路径大致分为两类:一是努力提升自我的管理协调组织领导能力,从而成为管理人员,例如产品研发经理、技术经理等;二是继续专注于技术工作之路,成为高级软件工程师、需求工程师等.

蒙城县17858588809: java程序员的发展方向都有什么? -
文恒爱菲: java程序员的发展前景还是很不错的,是应用层最主流的语言,对于处于信息高速发达的今天,JAVA技术已经无处不在,手机软件、手机JAVA游戏、电脑软件等等.有几年工作经验的java程序员发展方向大致有两个:1、走管理方向:做项目经理等.2、走技术方向:做高级java工程师、架构师等 总体上java程序员的发展还是很好的.

蒙城县17858588809: Java学完之后的就业方向都有哪些? -
文恒爱菲: 现在java开发市场依然没有达到饱和因为java技术在不断的迭代升级中,由此造成人才需求依然存在.java学完之后可从事程序员/高级程序员、软件工程师、手机软件开发、游戏开发、网...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网