很多新人不知道从事java开发,具体的发展路径是怎么样的,甚至很多人都不能区分程序猿和攻城师的区别。包括不少小白,从事都半年,甚至1年了,对职业发展还没有清晰的认证。这非常不利于自己的发展,人要往哪走,首先需要明确的是方向。今天,就给大家揭露一下java开发从程序猿到CTO的路线图,以及每个阶段需要掌握的技术。
Java程序员
-
高级特性
- 反射、泛型、注释符、自动装箱和拆箱、枚举类、可变
- 参数、可变返回类型、增强循环、静态导入
-
核心编程
- IO、多线程、实体类、
- 集合类、正则表达式、
- XML和属性文件
-
图形编程
- AWT(Java2D/JavaSound/JMF)、Swing、SWT、JFace
-
网路编程
- Applet、Socket/TCP/UDP、NIO、RMI、CORBA
-
Java语法基础
- 类、抽象类、接口、最终类、静态类、匿名类、内部类、异常类、编码规范
-
Java开发环境
- JDK、JVM、Eclipse、Linux
-
Java核心编程技术
Java,设计而又非常精巧的语言。学习Java,须从Java开发环境开始,到Java语法,再到Java的核心API。
- Java开发入门:Java开发环境的安装与使用,包括JDK命令、EclipseIDE、Linux下Java程序的开发和部署等。
- Java语法基础:基于JDK和Eclipse环境,进行Java核心功能开发,掌握Java面向对象的语法构成,包括类、抽象类、接口、最终类、静态类、匿名类、内部类、异常的编写。
- Java核心API:基于JDK提供的类库,掌握三大核心功能:
- Java核心编程:包括Java编程的两大核心功能——Java输入/输出流和多线程,以及常用的辅助类库——实体类、集合类、正则表达式、XML和属性文件。
- Java图形编程:包括Sun的GUI库AWT(Java2D、JavaSound、JMF)和Swing,IBM和GUI库SWT和Jface;
- Java网路编程:Applet组件编程,Socket编程,NIO非阻塞Socket编程、RMI和CORBA分布式开发。
- Java高级特性:掌握JDK1.4、JDK5.0、JDK6.0中的Java高级特性,包括反射、泛型、注释,以及java高级特性——自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入等。
JavaEE初级软件工程师
-
JSF框架开发技术
- 配置文件(页面导航、后台Bean)、JSF组件库(JSF EL语言、HTML标签、事件处理、)、JSF核心库(格式转换、输入验证、国际化)
-
Javaweb核心开发技术
- 开发环境(Eclipse、Linux)
- 三大组件(JSP、JavaBean、Servlet)
- 扩展技术(EL、JSTL、Taglib)
- 网页开发技术
- HTML、XML、CSS、JavaScript、AJAX
- 数据库设计技术 [SQL、MySql、Oracle、SQLServer、JDBC]
- Web服务器(Tomcat/Jetty/Resin/JBossWeb)
-
JavaWeb项目开发的全过程可以分解为:
- 网页开发+数据库设计——>JavaWeb项目开发,其中,javaWeb由6项基本技术组成:JSP+JavaBean+Servlet+EL+JSTL+Taglib,而JSF正是将这6种技术进行有机结合的技术框架
JavaEE中级软件工程师
- 四种经典架构SSH1、SSI1、SSH2、SSI2
- Struts1表现层框架
- 入门配置、核心组件、标签库、国际化、数据检验、数据库开发、Sitemesh集成、集成Hibernate/iBATIS
- Struts2表现层框架
- 入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成转换器、拦截器、集成Hibernate/iBATIS
- Spring业务层框架
- 入门配置、IoC容器、MVC、标签库、国际化、数据校验、数据库开发
- Hibernate持久层框架
- MySQL、Oracle、SQLServer iBATIS持久层框架
- MySQL、Oracle、SQLServer
- Web服务器(Tomcat/Jetty/Resin/JBossWeb)
Java高级软件工程师
javaWeb开源技术与框架
工作流、 规则引擎 搜索引擎、 缓存引擎 、 任务调度、 身份认证 报表服务、 系统测试、 集群、 负载平衡、 故障转移JavaWeb分布式开发技术
JTA(Java事物管理) JAAS(Java验证和授权服务) JNDI(Java命名和目录服务) JavaMail(Java邮件服务) JMS(java信息服务) WebService(web服务) JCA(java连接体系) JMS(java管理体系)应用服务器(JBossAS/WebLogic/WebSphere)
JavaEE系统架构师
-
面向云架构(COA)
- COA、SaaS、网格计算、集群计算、分布式计算、云计算
-
面向资源架构(ROA)
- ROA、RESI
-
面向web服务架构(SOA)
- WebService、SOA、SCA、ESB、OSGI、EAI
-
Java设计模式
- 创建式模式:抽象工厂/建造者/工厂方法/原型/单例
- 构造型模式:适配器/桥接/组合/装饰/外观/享元/代理
- 行为型模式:责任链/命令/解释器/迭代子/中介者/备忘录/观察者/状态/策略/模板方法/访问者
-
Java与UML建模
- 对象图、用例图、组件图、部署图、序列图、交互图、活动图、正向工程与逆向工程
CTO首席技术官
- 发展战略
- 技术总监
- 团队提升
- 团队建设
- 项目管理
- 产品管理
一般情况下,java的发展路线是这样的,当然,具体情况因人而异。比如,有的可能后来转入产品职位或其他职位了。另外,每个企业里面的title是不同的。比如,有的企业有CTO,而有的企业则只有技术经理或技术主任等,叫法不同,但本质和所需掌握的技术大致相同。
原文链接:http://www.jianshu.com/p/a55a4ed2fc43