百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Java开发工程师需要掌握哪些技能?太详细了!配套Java学习教程

yuyutoo 2024-11-03 17:33 6 浏览 0 评论

Java开发工程师知识体系

Java开发全栈工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer。

那么想要成为一名合格的Java开发全栈工程师需要掌握哪些知识呢?

我个人总结觉得有以下这么几项:

java 基础

这就不用多说了吧,不用说精通,至少是常用的要熟练,不会说连jdk里面提供的类都没认全的(我确实有小部分不常用的没记住的T.T)

各种工具的使用

eclipse,SVN ,数据库管理工具等等

j2ee 框架

只要你使用java来做WEB应用,绝对少不了使用j2ee框架,目前流行的有

1)struts 2)spring 3) hibernate 4)ibatis 5)spirngMvc 等等的其他一些相似的框架,还有项目架构中经常会用到的缓存框架例如memcached ,ehcache,oscache等Java缓存框架

你需要掌握基本使用,部署,性能调优,配置

数据库基础

数据库一直是程序员需要重点掌握的一部分,当下主流的还是关系型数据库,产品有oracle mysql sqlserver db2,当然nosql型数据库也是未来方向,很多公司也已经在使用,如redis mongodb membase 等等

你需要掌握基本使用,和根据业务逻辑设计表,索引,视图,存储过程,函数等

应用服务器

凡是web应用首先都要部署到应用服务器上,常用的产品有tomcat,jboss, apache,resin 等等,还有用来提升性能的反向代理服务器如nginx等

你需要掌握如何部署项目,基本调试,调优

Linux系统

我们平常的编码通常在windows环境下,可是生产环境却通常是在Linux下,因为微软的东西,你懂得

所以我们需要掌握的是shell脚本,vi ,各种软件的安装,部署,其中shell脚本是最重要的(我个人觉得哈)

前端开发基础 html css js

如果你不是专攻服务器编程的话,你一定会接触前端开发,这其中html你需要掌握各种标签的使用,css首先你得看得懂是吧,js 目前来看属于一门独立的程序设计语言,也是前端中非常重要的一块,需要掌握其语法和一些常用框架如jquery,extjs等的使用(我之前的公司前端只负责切html和css,js啥的都是我们自己来)

设计模式

面试官最喜欢问的问题之一,这个被很多人吹得很神的东西我个人认为既不用奉为圭臬,也不用弃如敝履,这是一个思想的东西,也许写一辈子程序那23个设计模式也不一定全用的上,但是知道并且能够在适当的时候用他来解决问题就够了

数据结构 算法

记得国外哪位大神说过,编程=数据结构 + 算法 。虽然感觉平常的工作中用到的不多,但还是觉得这是一个内功的东西,不会这两样也许你也可以完成很多开发工作,但是如果你精通这两样,你的思想境界和思考问题的高度就不是一般人能比的了,如果想要在程序员这条路上继续走下去,不管以后是成为技术专家还是技术性管理人才,都是必须要烂熟于心的。


上面几点是我觉得应该掌握的具体的技术,再讲些其他层面的吧

项目管理

这里的项目管理我指的是对项目架构的理解和软件开发标准化流程的一些东西,因为一个团队除了技术老大之外其他成员也还是需要深刻的达成一个这方面的共识,不然没法共事对吧

项目架构设计

这个就是需要大量实践和多看书来培养的了,如果你想成为架构师这是必须的,目前web方面的项目架构都是朝着高性能,高可用,大数据的方向,你需要掌握的不仅是上面提到的所有技能还有技术之外的产品,业务等更深更广的东西

上面仅仅是我工作中遇到和我认为应该掌握的,也是仅针对Java的web开发方向,如果你是android开发的话,还需要掌握android sdk中的方方面面。

如果将上述方面的技术都掌握到熟练的程度,胜任一个3年经验的开发岗位应该是没有问题了(我就没有全部掌握...T.T),当然 如果你希望你的技术水平不只是熟练的话,个人认为则需要把上述其中几项往深度方面修炼,然后有所成再往广度发展,

先在一个领域有足够的深度,再往广度发展会容易很多,职业道路也会好走很多。


Java学习教程

分享下Java的学习教程,Java基础入门看这个教程足矣,老杜讲解中更注重与学生互动,幽默风趣、细致入微,涵盖JavaSE所有核心内容,深入Java虚拟机,深度剖析源码,以代码实战贯穿始终,以项目驱动教学,将独特的PDT教学法展现得淋漓尽致这套Java视频教程内容讲解深入浅出,语言表达流利标准,自发布以来,已在B站破千万播放量,深受大家的好评。

https://www.bilibili.com/video/BV1Rx411876f

最后,我想引用一位老师的一句话:计算机编程行业是终生学习的行业!所以说,如果你还在考虑进来,请好好考虑,如果开始从事这个行业,请一步一个脚印,认真学下去,相信我们都会成为心目中的技术大牛!!!加油!!!

种一棵树,最好的时间是十年前,其次是现在。

相关推荐

.NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

...

全局和隐式 using 指令详解(全局命令)

1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...

请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍

1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...

ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战

我是一位多年后端经验的工程师,其中前几年用ASP.NET...

.NET AOT 详解(.net 6 aot)

简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...

一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...

asar归档解包(游戏arc文件解包)

要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...

在PyCharm 中免费集成Amazon CodeWhisperer

CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...

2014年最优秀JavaScript编辑器大盘点

1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...

基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享

项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...

JetBrains Toolbox推出全新产品订阅授权模式

捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...

idea最新激活jetbrains-agent.jar包,亲测有效

这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...

CountDownTimer的理解(countdowntomars)

CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...

反射为什么性能会很慢?(反射时为什么会越来越长)

1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...

btrace 开源!基于 Systrace 高性能 Trace 工具

介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...

取消回复欢迎 发表评论: