经验 | Java工程师需要具备的25个技能
lipiwang 2025-03-06 16:40 8 浏览 0 评论
在Java工程师日常的开发过程中,由于业务的不同,可能关注的点有很多不一样的地方,但是在技术掌握层面还是有一些共性的。
本文概括了在Java工程师开发、测试、部署等方面的25个必备技能,供大家参考。
01
需要精通面向对象分析与设计(OOA/OOD)、设计模式(GOF,J2EEDP)以及综合模式。应该了解UML,尤其是class、object、interaction以及statediagrams。
02
需要学习Java语言 的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localization以及其他)。
03
应该了解JVM 、classloaders、classreflect以及垃圾回收的基本工作 机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
04
如果你将要写客户端程序,你需要学习Web的小应用程序(applet),必须掌握GUI 设计的思想和方法,以及桌面程序的SWING、AWT、SWT。你还应该对UI部件的JavaBEAN组件模式有所了解。JavaBEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
05
需要学习Java数据库技术,并且会使用至少一种persistence/ORM构架,例如Hibernate、JDO、CocoBase、TopLink、InsideLiberator(国产JDO红工厂软件)或者iBatis。
06
还应该了解对象关系的阻抗失配的含义以及它是如何影响业务对象与关系型数据库的交互,和它的运行结果。还需要掌握不同的数据库产品运用,比如Oracle、MySQL 、SQL server。
07
需要学习Servlets、JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。
08
需要熟悉主流的网页框架,例如JSF、Struts、Tapestry、Cocoon、WebWork,以及他们下面的设计模式,如MVC/MODEL2。
09
需要学习如何使用及管理Web服务器 ,例如tomcat、resin、Jrun,并且知道如何在其基础上扩展和维护Web程序。
10
需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。
11
需要掌握各种流行中间件技术标准和与Java结合实现,比如Tuxedo、CROBA,当然也包括JavaEE本身。
12
需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing)、JDOM(
JavaforXMLDocumentObjectModel)、DOM4J或JAXR(JavaAPIforXMLRegistries)。
13
应该学习如何利用Java的API和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC)、 SAAJ(
SOAPwithAttachmentsAPIforJava)、JAXB(
JavaArchitectureforXMLBinding)、 JAXM(JavaAPIforXMLMessaging)、JAXR(JavaAPIforXMLRegistries)或者 JWSDP(
JavaWebServicesDeveloperPack)。
14
需要学习一门轻量级应用程序框架,例如Spring、PicoContainer、Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。
15
需要熟悉不同的J2EE技术,例如JNDI(
JavaNamingandDirectoryInterface)、 JMS(JavaMessageService)、JTA/JTS(JavaTransactionAPI /JavaTransactionService)、JMX(JavaManagementeXtensions),以及JavaMail。
16
需要学习企业级JavaBeans(EJB)以及它们的不同组件模式:
Stateless/StatefulSessionBeans、 EntityBeans(包含Bean-ManagedPersistence[BMP]或者Container- ManagedPersistence[CMP]和它的EJB-QL),或者Message-DrivenBeans(MDB)。
17
需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic、JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
18
需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流Java规格和执行。例如AspectJ和AspectWerkz。
19
需要熟悉对不同有用的API和frame work等来为你服务。例如Log4J(logging/tracing)、Quartz(scheduling)、 JGroups(networkgroupcommunication)、JCache(distributedcaching)、Lucene(full-textsearch)、JakartaCommons等等。
20
应该熟练掌握一种JavaIDE例如sunOne、netBeans、IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。)
21
Java(精确的说是有些配置)是冗长的,它需要很多的人工代码 (例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。
22
需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。
23
需要熟悉一些在Java开发 中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。
24
学会制定好系统的部署计划。系统部署的平台是一个至关重要的部分。对于平台的描述,不能仅限于一台服务器、两个数据库这个层面,至少需要包括:
·操作系统的特定版本,JVM等
·有多少内存(包括物理内存,JVM堆内存,JVM栈内存和JVM永久代的空间)
·CPU(内核数)
·负载均衡器,需要的节点数、节点类型,比如是Active-Standby型还是Active-Active型
25
必须要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目,而不是练习项目!因为现在企业看重的是你有没有实际的开发经验,真正开发经验的体现就是你做的项目,也就是有实际应用的项目!
学会了这25个技能,并且可以巧妙地运用到实际工作当中,相信你离Java大牛的距离会越来越近。
此外,想要成为真正的Java大牛除了要具备这些专业知识、专业技能外,人际交往能力、沟通能力、团队合作能力等等也是你所要具备的能力。想要了解更多,请持续关注云和数据的最新动态哦~
相关推荐
- ubuntu单机安装open-falcon极度详细操作
-
备注:以下操作均由本人实际操作并得到验证,喜欢的同学可尝试操作安装。步骤一1.1环境准备(使用系统:ubuntu18.04)1.1.1安装redisubuntu下安装(参考借鉴:https://...
- Linux搭建promtail、loki、grafana轻量日志监控系统
-
一:简介日志监控告警系统,较为主流的是ELK(Elasticsearch、Logstash和Kibana核心套件构成),虽然优点是功能丰富,允许复杂的操作。但是,这些方案往往规模复杂,资源占用高,...
- 一文搞懂,WAF阻止恶意攻击的8种方法
-
WAF(Web应用程序防火墙)是应用程序和互联网流量之间的第一道防线,它监视和过滤Internet流量以阻止不良流量和恶意请求,WAF是确保Web服务的可用性和完整性的重要安全解决方案。它...
- 14配置appvolume(ios14.6配置文件)
-
使用AppVolumes应用程序功能,您可以管理应用程序的整个生命周期,包括打包、更新和停用应用程序。您还可以自定义应用程序分配,以向最终用户提供应用程序的特定版本14.1安装appvolume...
- 目前流行的缺陷管理工具(缺陷管理方式存在的优缺点)
-
摘自:https://blog.csdn.net/jasonteststudy/article/details/7090127?utm_medium=distribute.pc_relevant.no...
- 开源数字货币交易所开发学习笔记(2)——SpringCloud
-
前言码云(Gitee)上开源数字货币交易所源码CoinExchange的整体架构用了SpringCloud,对于经验丰富的Java程序员来说,可能很简单,但是对于我这种入门级程序员,还是有学习的必要的...
- 开发JAX-RPC Web Services for WebSphere(下)
-
在开发JAX-RPCWebServicesforWebSphere(上)一文中,小编为大家介绍了如何创建一个Web服务项目、如何创建一个服务类和Web服务,以及部署项目等内容。接下来小编将为大...
- CXF学习笔记1(cxf client)
-
webservice是发布服务的简单并实用的一种技术了,个人学习了CXF这个框架,也比较简单,发布了一些笔记,希望对笔友收藏并有些作用哦1.什么是webServicewebService让一个程序可...
- 分布式RPC最全详解(图文全面总结)
-
分布式通信RPC是非常重要的分布式系统组件,大厂经常考察的Dubbo等RPC框架,下面我就全面来详解分布式通信RPC@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》...
- Oracle WebLogic远程命令执行0day漏洞(CVE-2019-2725补丁绕过)预警
-
概述近日,奇安信天眼与安服团队通过数据监控发现,野外出现OracleWebLogic远程命令执行漏洞最新利用代码,此攻击利用绕过了厂商今年4月底所发布的最新安全补丁(CVE-2019-2725)。由...
- Spring IoC Container 原理解析(spring中ioc三种实现原理)
-
IoC、DI基础概念关于IoC和DI大家都不陌生,我们直接上martinfowler的原文,里面已经有DI的例子和spring的使用示例《InversionofControlContainer...
- Arthas线上服务器问题排查(arthas部署)
-
1Arthas(阿尔萨斯)能为你做什么?这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在...
- 工具篇之IDEA功能插件HTTP_CLENT(idea2021插件)
-
工具描述:Java开发人员通用的开发者工具IDEA集成了HTTPClient功能,之后可以无需单独安装使用PostMan用来模拟http请求。创建方式:1)简易模式Tools->HTTPCl...
- RPC、Web Service等几种远程监控通信方式对比
-
几种远程监控通信方式的介绍一.RPCRPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.meth...
- 《github精选系列》——SpringBoot 全家桶
-
1简单总结1SpringBoot全家桶简介2项目简介3子项目列表4环境5运行6后续计划7问题反馈gitee地址:https://gitee.com/yidao620/springbo...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)