全面的软件知识结构(操作系统、软件工程、面向对象设计的基本原则(OOA、OOD)、设计模式、数据结构、数据库系统、网络安全),技术文档撰写能力,包括需求分析报告、概要设计报告、详细设计报告等软件文档
Java核心内库(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他),你应该了解 JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令,习学JAVA的沙盒安全模式,RMI和RMI/IIOP。jvm内存管理,java性能、内存管理,多线程网络泛型程序设计,tcp/ip、http /https,p2p,ftp,snmp等协议
linux、JavaScript、perl、Python、shell、mysql、oracle、JSP,Servlet、 JMS,EJB,Jdbc,JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI /JavaTransactionService),JMX (JavaManagementeXtensions),JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,JNI(JavaNativeInterface) and JCA (JavaConnectorArchitecture)、OSGI、MVC、XDoclet、GWT、Struts、Spring(IoC/AOP)、 Hibernate/ibatis、Lucene,Solr/ant,JUnit、Maven、工作流引擎、规则引擎等常用的开源框架和中间件
RPC/RMI/JINI技术以及与它相关的分布式系统,比如掌握cobra。
如何利用Java API和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack),SOA相关标准和体系结构。
使用UML,UML建模(class,object,interaction以及statediagrams),RUP(Rational Unified Process)and Agile method ologies,通用数据权限设计
Java高并发多线程开发,高并发不间断服务,高性能算法/并行计算,Web应用的性能瓶颈和调优方式
熟悉分布式系统,大规模分布式存储计算平台和数据处理,千万量级数据量的数据库设计能力,千万级PV的网站设计,分布式系统开发,分布式缓存使用经验,了解Memcached,Web应用的架构优化及容灾,全球部署的应用设计经验者
hadoop/xfs/xcube/hdfs/mapreduce/pig/hive/hbase/zookeeper/avro,gfs/bigtable/chubby的分布式架构的功能、性能和扩展
Web服务器(Apache/Lighttpd)的配置,应用服务器(Weblogic/WebSphere/JBoss/Tomcat/Jetty等)的配置和使用,Resin、Nginx 等容器的原理及部署,集群处理能力/高可用性/高扩展性的各种解决方案
熟悉开放平台,LBS(英文全称为Location Based Services)应用。
-------------------------
以上这些知识点看了都够呛,想各个学好学精那就更头痛了,所以如何给自己的技术定位很重要,根据自己的兴趣,所从事行业领域来选择性的学习相关技术,把工作中需要的技术学好学精就够了,盲目的技术跟风只会让自己陷入迷茫,花比别人多的时间精力却总感觉自己学的没别人学得好学得快,所以技术学习也要学会取舍,所谓“吾生亦有涯,而知也无涯”,生活不能总在技术,要学会把些时间放在享受生活上。祝所有coder健康快乐,快乐学技术快乐过生活!