java ee 的使用方法_改善Java EE生产支持技能的8种方法

java ee 的使用方法

参与Java EE生产支持的每个人都知道这项工作可能很困难。 7/24寻呼机支持,多个事件和错误修复(要定期处理),来自客户和管理团队的压力,要求它们尽快解决生产问题并防止再次发生。 在日常工作中,您还必须照顾由多个IT交付团队驱动的多个应用程序部署。 听起来很熟悉?

尽力而为,辛勤工作的回报是巨大的。 您可能从我以前的文章中注意到,我对Java EE生产支持,根本原因分析以及与性能相关的问题非常感兴趣。 这篇文章旨在分享我在过去10多年与多个Java EE生产支持团队在岸和离岸合作中应用的一些技巧和工作原理。
本文将为您提供8种提高生产支持技能的方法,这些方法可以帮助您更好地享受IT支持工作并最终成为Java EE生产支持专家。

#1 –与您的客户和交付团队合作

我的第一个建议对任何人都不应该感到惊讶。 无论您从技术角度来看多么出色,如果您无法与客户和IT交付团队合作,您都将无法成为出色的生产支持领导者。

您必须意识到,您正在为IT生产环境的所有者和主人的客户提供服务。 您应该确保关键的Java EE生产系统的可用性,并解决已知的和将来的问题。 远离破坏性的态度,例如错误的印象,即您是实际的所有者,或者由于对问题的了解不足而对客户感到沮丧等。您的工作是使所有事实正确无误,并为客户提供良好的建议,以便他们能够做出正确的决定。 随着时间的流逝,您和您的客户之间将建立牢固的信任,并带来巨大的利益和机会。

与IT交付团队建立牢固的关系也非常重要。 交付团队包括IT架构师,项目经理和技术资源,被视为由已建立的项目交付模型来构建和增强Java EE生产环境的专家团队。 多年来,我已经看到了这两个角色之间发生摩擦的几个例子。 由于部署失败,生产事件激增等方面的不良经验,支持团队往往对交付团队的工作过于挑剔。我还注意到一些示例,其中交付团队由于对IT的不良经验而再次对支持团队的能力缺乏信心。部署失败或缺乏适当的根本原因分析或技​​术知识等的情况。

作为生产支持人员,您必须树立信誉,并远离负面和非专业的态度。 建立信誉意味着辛勤工作,正确收集事实,进行技术和根本原因分析,表现出对学习新解决方案的兴趣等。这将增加对交付团队的信任,并使您能够长期获得重要的了解和经验。 最终,您将能够为两个团队工作并提供咨询。

这三个角色之间的适当平衡和专业水平对于任何成功的IT生产环境都是至关重要的。

#2 –每个生产事件都是学习的机会

Java EE生产支持的一大优点是您将获得多种学习机会。 您可能已经意识到,每次生产中断后,您至少达到了以下目标之一:

  • 您从新的问题类型中获得了新的技术知识
  • 您在已知情况下增加了知识和经验
  • 您提高了对运营客户的知名度和信任度
  • 您可以与其他团队成员共享现有知识,从而使他们成功并解决问题

请注意,不时面对负面经历也是正常的。 同样,您还将因此而变得更强壮,并从错误中学习。

反复出现的问题,事件或预防工作仍然为您提供收集更多技术事实,查明根本原因或提出建议以制定永久解决方案的机会。
底线是您参与的事件越多越好。 如果您不愿意在事件恢复中发挥积极作用,也可以,但是请确保您在场,以便至少可以从其他更有经验的团队成员那里获得经验和知识。

#3 –不要害怕改变,拥抱它

我在Java EE支持团队中注意到的一个常见问题是围绕生产平台变更(例如项目部署,基础架构或网络级别变更等)的担忧因素。以下是这种常见担忧的一些原因:

  • 对于许多支持团队成员而言,应用程序“更改”是生产“不稳定”的代名词。
  • 对项目本身或变更范围的不了解将自动转化为恐惧
  • 执行请求的应用程序或中间件更改的舒适度较低

这种恐惧因素通常是三个主要参与者或生产平台问题之间当前发布管理过程中存在差距的征兆,例如:

  • 在IT交付和支持团队之间缺乏适当的知识转移
  • 在部署新项目之前已经存在不稳定的生产环境
  • 缺乏对Java EE或中间件的深入技术知识

恐惧可能会成为您未来成长的严重障碍,必须认真对待。 我对您的建议是,无论组织中是否存在空白,都可以轻松地接受更改,但要结合适当的尽职调查,例如要求更多的KT,参与项目部署策略和风险评估,执行代码演练等。这将使您能够消除这种“恐惧”态度,在您的IT交付团队和客户中获得经验和信誉。 这也将使您有机会为将来的项目部署和与基础架构相关的改进建立建议。

最后,如果您感觉缺乏实施更改的技术知识,只需说一声,然后请另一位更有经验的团队成员来掩盖您的工作即可。 这种方法将减少您的恐惧程度,并让您以最小的风险程度获得经验。

#4 –了解如何读取JVM线程转储和监视工具数据

我确信您从过去的文章和案例研究中已经注意到我经常使用JVM Thread Dump 。 这是有原因的。 对于任何成功的Java EE生产支持人员来说, 线程转储分析是获得的最重要和最有价值的技能之一。 我在10年前对在JDK 1.3上运行的Weblogic 6问题进行故障排除时分析了我的第一个线程转储。 10年后,还有数百个Thread Dump快照,我仍在学习新的问题模式…JVM和Thread Dump的优点在于,您将始终找到新的模式来识别和理解。

我可以向您保证,一旦您掌握了这些知识(以及JVM基础知识 ),不仅很多生产事件将更容易确定,而且会变得更加有趣和自我回报。 考虑到如今生成JVM线程转储是多么容易,快速和非侵入性; 根本没有任何借口不学习这种关键的故障排除技术。

我的另一项建议是学习如何使用现有的监视工具和解释数据。 对于涉及日常支持的任何生产支持人员而言,Java EE监视工具都是极有价值的武器。 根据购买的产品或IT客户端使用的免费工具,它们将为您提供Java EE应用程序,中间件(Weblogic,JBoss,WAS…)和JVM本身的性能视图。 在重大生产中断后执行根本原因分析时,此历史数据也至关重要。

对数据的正确了解和理解将使您了解IT平台的性能,容量,并为您提供与IT容量规划分析和架构师团队合作的机会,这些团队负责确保IT生产环境的长期稳定性和可扩展性。

#5 –学习如何编写代码和执行代码演练

我的下一个建议是提高您的编码技能。 作为Java EE生产支持团队的一部分,除常规的错误修复外,最重要的职责之一是充当“守门人”,例如在项目实施之前的最后一道防线。 此风险评估练习不仅涉及项目审查,测试结果,性能测试报告等,还涉及代码演练。 不幸的是,该审查通常根本无法正确执行。 练习的目的是确定需要改进的地方,并针对生产环境检测潜在的有害代码缺陷,例如线程安全问题,缺少与IO / Socket相关的超时等。执行此类代码评估的能力取决于您的编码技能和整体技能。了解Java EE设计模式和反模式。

可以通过以下几种策略来提高编码技能:

  • 探索您的IT组织内执行交付工作的机会
  • 抓住任何机会审查正式或非正式的现有或新项目代码
  • 创建与您的日常工作和长期职业相关的个人Java EE开发项目
  • 加入Java / Java EE开源项目和社区(Apache,JBoss,Spring…)

#6 –不要假装您了解Java,JVM和中间件的所有知识

对于许多Java EE生产支持人员,我注意到的另一个常见问题是技能“高原”。 在具有很少更改和强化改进的静态IT生产环境中工作时,这尤其成问题。 在这种情况下,您会很快习惯于日常工作,使用的技术和已知问题。 然后,您会以对资历的错误印象非常满意自己的任务。 然后有一天,您的IT组织将面临重组,否则您必须为新客户工作。 在这一点上,您感到震惊并且正在努力克服新的挑战。 发生了什么?

  • 您已经在小型Java EE应用程序列表和中间件泡泡中达到了技能平台
  • 您无法将时间投入到自己和工作IT泡沫之外
  • 您未能承认自己缺乏更深入的Java,Java EE和中间件知识,例如对一切一无所知的错误印象
  • 您无法睁开眼睛来探索IT世界和Java社区的其余部分

我对您的主要建议是,当您对目前的职位感到过度自信或资格过高时,就该继续前进并接受新的挑战了。 这可能意味着您现有的支持团队中的角色将有所不同,在一段时间内移至项目交付团队,或完全转换工作和/或IT客户。
不断寻求新的挑战将导致:

  • 由于JVM供应商( HotSpot , IBM JVM , Oracle JRockit …),中间件(Weblogic,JBoss,WAS…),数据库,OS,基础结构等技术的多样性,知识的大量增加。
  • 由于实现和解决方案(SOA,Web开发/门户,中间层,旧式集成,移动开发等)的多样性更高,因此知识的大量增加。
  • 新型生产事件增加了学习机会
  • 在您的IT组织和Java社区中提高可视性
  • 改善客户技能和联系方式
  • 增强在压力下工作的抵抗力,例如学习如何利用压力和肾上腺素来发挥自己的优势(在严重的生产中断期间可以得到的典型提升)

#7 –与您的团队和Java社区分享您的知识

共享Java EE技能和生产支持经验是改善和维持与支持团队成员的牢固关系的一种好方法。 我也鼓励您参与Java社区(博客,论坛,开放源代码组等)并与您分享Java EE生产问题,因为很多问题都很常见,我相信人们可以从您的经验中受益。
话虽这么说,但我强烈推荐的一种方法是安排计划的(最好是每周一次)内部培训课程。 通常通过简单的投票系统选择主题,并在可能的情况下由不同成员提出。
良好的分享心态自然会引导您进行更多的研究和阅读,从长远来看会进一步提高您的技能。

#8 –迎接挑战

至此,您已经获得了扎实的知识基础和关键的故障排除技能。 您已经参与了许多生产事件,并且对根本原因和解决方案有很好的了解。 您非常了解您的IT生产环境,并且您的客户开始就重大事件直接要求您的存在。 您还每周花费时间来提高您的编码技能并与Java社区共享……但是您真的要面对挑战吗?

一个真正的英雄可以由一个有能力去挑战并带领他人取得胜利的个人来定义。 显然,您并没有希望拯救世界,但是您仍然可以通过挑战并带领支持团队解决关键的生产中断来成为“每日英雄”。
一位真正的成功和公认的Java EE生产支持人员不一定是最强大的技术资源,而是已经学会了如何正确平衡其技术知识和客户技能,以及在面对困难时能够勇于挑战并发挥领导作用的强大能力的人。情况。
我真的希望这些技巧可以为您的Java EE日常生产支持提供帮助。 请分享您的经验和有关如何提高Java EE生产支持技能的提示。

参考: Java EE支持模式和Java教程博客上的JCG合作伙伴 Pierre-Hugues Charbonneau提出了8种提高Java EE生产支持技能的方法 。


翻译自: https://www.javacodegeeks.com/2012/08/8-ways-to-improve-your-java-ee.html

java ee 的使用方法

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tp3.1 文件上传到七牛云

TP3.1 中不支持Composer 就无法用composer 安装 下载历史的SDK https://github.com/qiniu/php-sdk/releases/tag/v7.0.8 下载下来放到 Think 目录下的Vendor下 进入代码 HTML的代码 <form id"upload" methodpost action"file" enctype"multipart/f…

Matlab元胞数组操作

元胞数组 删除行的方法比较特殊 A(i,:)=[];%注意,两边都没有用花括号 元胞数组中的操作函数 cell:创建空的元胞数组 cellfun:为元胞数组的每个元胞执行指定的函数 celldisp:显示所有元胞的内容 cellplot:利用图形方式显示元胞数组 cell2mat…

激励自己的名言警句

激励自己的名言警句 1、忍别人所不能忍的痛&#xff0c;吃别人所别人所不能吃的苦&#xff0c;是为了收获得不到的收获。 2、销售是从被别人拒绝开始的。 3、好咖啡要和朋友一起品尝&#xff0c;好机会也要和朋友一起分享。 4、生命之灯因热情而点燃&#xff0c;生命之舟因拼搏…

Java Spring 后端项目搭建

参考了几位同行的Blogs和StackOverflow上的许多问答&#xff0c;搭建了此后端项目&#xff0c;替换原来的node.js后端&#xff0c;和前一篇中搭建的Vue Web App项目配合使用&#xff0c;后端准备只提供服务&#xff0c;不包含后端装配的页面&#xff0c;打算只使用MongoDb和Red…

新电子书:解决生产中Java应用程序错误的完整指南

构建明智的错误处理工作流程需要什么&#xff1f; 生产异常处理是一门黑暗的科学。 一旦您的代码投入生产&#xff0c;任何小的缺陷或故障都可以转化为数百万个日志事件。 尤其是在将异常作为控制流的一部分使用的情况下。 它是研究最少的主题&#xff0c;对您的应用程序的行…

Matlab运行指定m文件

当m文件在当前目录时可以直接输入该m文件的名字运行&#xff0c;但是当不在当前目录时可以使用run(filename)的方式运行&#xff0c;使用edit(filename)还可以直接编辑&#xff0c;当然filename可以包含文件路径。

在VC中使用MATLAB C++函数库

http://Tech.16C.Cn 在VC中使用MATLAB C/C函数库 MATLAB广泛应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域。因此如果在VC中对MATLAB进行调用将大大减少编程的工作量、保证程序的准确性&#xff0c;并且继承了VC强大的功能&#x…

转帖 IBM要推POWER9,来了解一下POWER处理器的前世今生

https://blog.csdn.net/kwame211/article/details/76669555 先来说一下最新的POWER 9 在Hot Chips会议上首次提到的IBM Power 9 处理器有可能成为劲爆芯片&#xff0c;Power 9预计有助新 OEM 和加速器合作伙伴的发展&#xff0c;并可为大蓝色IBM叫板主要竞争对手英特尔的高端服…

java线程死亡_Java模因拒绝死亡

java线程死亡也有标题&#xff1b; 我的宠物讨厌Java编码。 有许多Java模因让我很烦&#xff0c;部分是因为它们总是一个坏主意&#xff0c;但主要是因为人们在找到更好的替代方案后的几年里仍在不断地选择它们。 使用StringBuffer代替StringBuilder 从2004年开始&#xff0c…

Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案

Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案Eclipse 编译时报错&#xff1a; Access restriction:The type NEW is not accessible due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决…

Matlab找到不知道的函数名

如果你知道和你要找到类似的函数的函数名&#xff0c;可以在help中查看你知道的函数名&#xff0c;然后再最下面会列出几个类似的函数&#xff0c;也许这里就有你要找的函数

asp.net core 自定义401和异常显示内容(JWT认证、Cookie Base认证失败显示内容)

asp.net core 2.0使用JWT认证园子里已经有挺多帖子了&#xff0c;但开发中发现认证未授权情况下返回的401状态码是没有任何信息的&#xff0c;业务中可能有需要返回一串错误的Json信息。在这里我分享一个自定义错误页面内容信息的方法&#xff0c;使用该扩展方法还可以捕获异常…

关于ANTLR的通用库的需求:使用反射来构建元模型

我是一名语言工程师&#xff1a;我使用多种工具来定义和处理语言。 在其他工具中&#xff0c;我使用ANTLR&#xff1a;它简单&#xff0c;灵活&#xff0c;可以围绕它进行构建。 但是&#xff0c;我发现自己围绕ANTLR为不同的项目重建了类似的工具。 我看到两个问题&#xff1…

创建和应用Java包文件的两种方式(转)

创建和应用Java包文件的两种方式(转) 《Java编程艺术》章节选登。作者&#xff1a;高永强 清华大学出版社 &#xff08;即将出版&#xff09; 12.1 包——package 。。。 12.1.1 包命名规范 为了确保包文件名称的唯一性&#xff0c;Java对应用软件开发者&#xff0c…

MATLAB double、str、cell间的类型转换

注&#xff1a;转换的前提是数组的格式符合目标数组的要求&#xff0c;能够转换。不然会失败str2numstr2doublesrt2matstrvcatstrcatcellstr字符数组转为元胞数组&#xff08;没有strcell&#xff09;int2str整数转换为字符串数组&#xff0c;非整数将四舍五入num2str非整数数组…

【动态规划】数字三角形2

【题目描述】 数字三角形要求走到最后mod 100最大 【输入格式】 第1行n&#xff0c;表示n行 <25第2到n1行为每个的权值 【输出格式】 mod 100最大值 【分析】 设置状态f[i][j][k]表示(i,j)各自内是否mod 100可以为k。 状态转移方程&#xff1a; f[i][j][k]f[i1][j][ka[i1][j…

面向 NLP 任务的大模型 Prompt 设计

很久之前&#xff0c;我们介绍到&#xff0c;prompt是影响下游任务的关键所在&#xff0c;当我们在应用chatgpt进行nlp任务落地时&#xff0c;如何选择合适的prompt&#xff0c;对于SFT以及推理环节尤为重要。 不过&#xff0c;硬想不是办法&#xff0c;我们可以充分参考开源的…

MATLAB安装第三方工具箱

1.1 如果是Matlab安装光盘上的工具箱&#xff0c;重新执行安装程序&#xff0c;选中即可&#xff1b;1.2 如果是单独下载的工具箱&#xff0c;一般情况下仅需要把新的工具箱解压到某个目录。2 在matlab的file下面的set path把它加上&#xff0c;或者用genpath(yourlocation/you…

Debug method

#define DEBUG(format,...) printf("Ray.he file:"__FILE__" func:%s() line:%d, print "format"", __func__, __LINE__, ##__VA_ARGS__)转载于:https://www.cnblogs.com/debruyne/p/9254619.html

soa学习路线_Web服务安全性和SOA路线图的人为维度

soa学习路线在大多数非平凡的SOA环境中&#xff0c;很难跟踪系统之间不断发展的集成&#xff0c;除非有明确的发布和查找适当信息的方法。 概述IT环境&#xff0c;定义当前或将要连接的内容&#xff0c;是维护环境的先决条件。 缺少这种方法通常会导致“面向意大利面条的环境”…