
宏:
1. 技术广度
至少您必须精通多种开源技术,并且已经研究了struts \ spring等的源代码.
2. 项目经验
从头到尾一直遵循着几个大型项目. 头指需求阶段,包括需求研究.
尾部是指交付之后,包括维护阶段.
3. 建筑经验
具有分布式系统的体系结构和开发经验. 他在跨系统结构优化和数据存储性能指标方面拥有丰富的经验. 应该熟悉哪些缓存,的垂直分段,业务抽象和水平拆分.

4. 工业领域
至少您应该精通一两个业务. 所谓熟练程度是,例如,做金融证券业务,至少要等一半的经济分析师. 从事电力业务的人至少应等待一半的电力工程师.
5. 个人修养
我有自己独特的见解,而不是每个人.
微观上:
1. 您需要精通面向对象的分析和设计(OOA / OOD),参与模式(GOF,J2EEDP)和集成模式. 您应该非常了解UML,尤其是类高级程序管理器,对象,交互和状态图.
2. 您需要学习JAVA语言及其核心库的基本知识(集合,序列化,流,网络,多线程,反射,事件,处理,NIO,本地化等).
3. 您应该了解JVM,类加载器,类反射和垃圾回收的基本工作机制. 您应该能够反编译类文件并了解一些基本的汇编指令.

4. 如果要编写客户端程序,则需要学习WEB小程序,必须掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT,SWT. 您还应该了解UI组件的JAVABEAN组件模式. JAVABEANS还用于JSP中,以将业务逻辑与表示层分离.
5. 您需要学习Java技术(例如JDBCAPI),并且将至少使用一种持久性/ ORM框架,例如Hibernate,JDO,CocoBase,TopLink,InsideLiberator(内部JDO红色工厂软件)或iBatis.
6. 您还应该了解对象关系的阻抗不匹配的含义,以及它如何影响业务对象与关系的交互及其操作结果. 您还需要掌握不同产品的使用,例如: oracle,mysql,mssqlserver.
7. 您需要学习JAVA的沙盒安全模型(类加载器,字节码验证,管理器,策略和权限,代码签名,数字签名,加密,证书,Kerberos等)以及不同的安全性/身份验证API高级程序管理器,例如JAAS(JavaAuthenticationandAuthorizationService),JCE(JavaCryptographyExtension), JSSE(JavaSecureSocketExtension)和JGSS(JavaGeneralSecurityService).
8. 您需要学习Servlet,JSP和JSTL(StandardTagLibraries)以及可选的第三方TagLibraries.
9. 您需要熟悉主流的Web框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及它们的相关模式,例如MVC / MODEL2.
10. 您需要学习如何使用和管理WEB服务器,例如tomcat,resin,Jrun,并知道如何在其基础上扩展和维护WEB程序.
11. 您需要学习分布式对象和远程API,例如RMI和RMI / IIOP.

12. 您需要掌握各种流行的中间件技术标准并使用Java来实现,例如Tuxedo,CROBA,当然还包括JavaEE本身.
13. 您需要学习至少一种XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J或JAXR(JavaAPIforXMLRegistries).
14. 您应该学习如何使用JAVAAPI和工具来构建WebService. 例如,JAX-RPC(JavaAPIforXML / RPC),SAAJ(SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging),JAXR(JavaAPIforXMLRegistries)或JWSDP(JavaWebServicesDeveloperPack).
15. 您需要学习一个轻量级的应用程序框架,例如Spring,PicoContainer,Avalon及其IoC / DI样式(设置程序,构造函数,接口注入).
16. 您需要熟悉各种J2EE技术,例如JNDI(JavaNamingandDirectoryInterface),JMS(JavaMessageService),JTA / JTS(JavaTransactionAPI / JavaTransactionService),JMX(JavaManagementeXtensions)和JavaMail.
17. 您需要学习Enterprise JavaBean(EJB)及其不同的组件模式: 无状态/ StatefulSessionBean,EntityBean(包括Bean-ManagedPersistence [BMP]或Container-ManagedPersistence [CMP]及其EJB-QL)或Message-DrivenBeans(MDB).
18. 您需要学习如何管理和配置J2EE应用程序服务器(例如WebLogic,JBoss等),以及如何使用其附加服务,例如集群,连接池和分布式处理支持. 您还需要了解如何在其上打包和配置应用程序,以及能够监视和调整其性能.
19. 您需要熟悉面向方面的编程和面向属性的编程(均缩写为AOP),以及它们的主流JAVA规范和实现. 例如AspectJ和AspectWerkz.

20. 您需要熟悉各种有用的API和框架来为您服务. 例如,Log4J(日志记录/跟踪),Quartz(调度),JGroups(网络组通信),JCache(分布式缓存),Lucene(全文搜索),Jakarta Commons等.
21. 如果要与旧系统或本机平台连接或要使用旧系统或本机平台,则需要学习JNI(JavaNativeInterface)和JCA(JavaConnectorArchitecture).
22. 您需要熟悉JINI技术及其相关的分布式系统,例如掌握CROBA.
23. 您需要JavaCommunityProcess(JCP)及其不同的JavaSpecificationRequests(JSR),例如Portlet(168),JOLAP(69),DataMiningAPI(73)等.
24. 您应该精通JAVAIDE,例如sunOne,netBeans,IntelliJIDEA或Eclipse. (有些人更喜欢使用VI或EMACS编写文档. 无论您使用什么: )
25. JAVA(准确地说是一些配置)是冗长的,它需要大量的手动代码(例如EJB),因此您需要熟悉代码生成工具,例如XDoclet.
26. 您需要熟悉单元测试系统(JNunit),并学习不同的生成和部署工具(Ant,Maven).
27. 您需要熟悉JAVA开发中常用的一些软件工程过程. 例如RUP(理性统一过程)和敏捷方法.
28. 作为跨平台软件的开发人员,您需要能够了解有关不同操作系统(例如GNU / linux,sunsolaris,macOS等)的熟练操作和配置的更多信息.
29. 您还需要跟上Java开发的步伐,例如,现在您可以深入学习javaME,以及各种新的Java规范和技术应用程序,例如新的Web富客户端技术.
30. 您必须对开放源代码有所了解,因为至少有许多Java技术直接由开放源代码驱动,例如java3D技术.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-282372-1.html
个人至于那么在乎么
炒股也只是一项技能和职业而已
小王子