Java从零进阶自学路线图

2021-03-18 12:24

阅读:426

标签:除了   架构师   适配   进度   数据库设计   商城   申请   用例   编码   

职业发展道路基本有3条:

第一条路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家
第二条路线(技术转产品):初级Java开发---中级--产品策划--产品经理---产品总监
第三条路线(技术转运营):初级Java开发---中级--运营---运营经理---运营总监

 

这篇文字主要谈第一条路线:技术专精

第一条发展路线:技术专精路线

发展轨迹:初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家

第一阶段:初级--中级开发工程师(公司基层)   首先学习Java常用框架(Struts MVC、Spring、Hibernate框架)、oracle数据库、JavaScript脚本基础、JSP动态网页开发、Java程序设计基础知识,这是一个入门和提高的过程,一般来说,这个阶段,快则半年,慢则一年。再学习常用web服务器配置方面的知识,你应该可以成为一名中级开发工程师。
   这个阶段的关键在于制定学习计划,按季度定,制定学习计划的目的,就是为了形成学习习惯,有助于执行和坚持下去。除了看专业书之外,还可以多在网上讨论和回答问题,这个对你的提高也很有帮助。
   我在学习专业书的一些习惯:
   书一本本的看,贪多嚼不烂,在基础章节多下功夫,高深部分在初期先不看。这样学习进度可以保障,也有成就感。
   记笔记,记下要点,回顾的时候看要点就行了。
   多做题,不光书上的题,还有网上的资源,也包括回答问题。

 

【必要技能】:

Java版本区别与了解
HTML、CSS
oracle数据库
JSP动态网页开发
JavaScript脚本基础
Java程序设计基础
常用团队协作开发工具
Java常用框架
【锦上添花】:

常用web服务器配置
软件需求说明文档写作

 

【相关图书】:

Java虚拟机规范(Java SE 7版)
疯狂Java讲义(第2版)
HTML、CSS、JavaScript网页制作从入门到精通
DBA的思想天空:感悟Oracle数据库本质
Git权威指南
JSP应用与开发技术
Spring 3.x企业应用开发实战
Struts 2.x权威指南(第3版)
精通Hibernate(第2版)
图1:

 

技术图片

 

第二阶段:成长为高级开发工程师-----Java项目经理(公司中层)
   高级开发工程师需要学习的技能有:软件工程系统知识、常用算法、MySQL数据库、大型服务器负载均衡优化技术、oracle数据库、数据结构、需求程序设计文档,测试文档。掌握这些,你应该可以独挡一面了。
   Java项目经理已经是公司的中层了,这时需要学习的有:高并发网站架构设计、软件项目风险管理、常见软件开发模式、DB2数据库应用、编译原理 、海量数据库解决方案。项目经理除了技术过硬以外,还需要学习项目管理方面的知识,比如:流程管理、团队运营管理。

【必要技能】:

大型服务器负载均衡技术
软件工程系统知识
设计模式
数据结构
需求分析设计
常用算法
MySQL数据库

【锦上添花】:

HTTP和UNIX域协议
面向对象基础
高并发网站架构设计
常见软件开发模式
团队运营管理
团队沟通与协作

【相关图书】:

海量运维、运营规划之道
软件工程:实践者研究方法(原书第7版)
编程珠玑(第2版)
数据结构与算法分析:C语言描述
需求分析与系统设计
算法心得:高效算法的奥秘
高性能MySQL
HTTP权威指南
设计模式 可复用面向对象软件的基础
构建高性能Web站点(修订版)

图2:

 

技术图片

 

第三阶段:网站架构师向资深专家发展(公司高层)
   网站架构师工作会用到:数据建模、NoSQL非关系型的数据库、Windows Server服务器架设管理、流程管理、Microsoft SQL Server数据库应用、高并发网站架构设计、分布式系统原理、数据库系统优化、UNIX/Linux 系统管理、软件项目风险管理。这时候,你可以以一个资深专家的身份去回答问题,发表一些专业文章,参与行业交流。这也标志这你已成为公司的高层,有资格进入这个领域的核心圈了。

[必要技能]:

分布式系统原理
DB2数据库应用
流程管理
数据建模
程序设计语言原理
数据库系统优化
软件项目风险管理
Microsoft SQL Server数据库应用
NoSQL非关系型的数据库
UML建模语言

[锦上添花]:

软件开发常用测试
预算管理
数据库系统优化
统计学
数据挖掘
网络安全技术与解决方案(Cisco)

【相关图书】:

分布式系统:概念与设计(原书第5版)
循序渐进DB2 (第2版)
数据库程序设计教程
程序设计语言原理
MySQL管理之道:性能调优、高可用与监控
人月神话
深入NoSQL
UML和模式应用(原书第3版)
安全软件开发之道
数据挖掘:概念与技术(原书第3版)
图3:

技术图片

第一条技术专精路线基本涵盖了一个Java互联网网站开发工程师的整个技术发展生涯,是否能走下去,关键在自己,需要不断的坚持,需要强大的韧性,需要长期专注。

下面附上完整的路线图:

 

技术图片

在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了。但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平。

技术图片

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。

1.Java开发入门:Java开发环境的安装与使用,包括JDK命令、EclipseIDE、Linux下Java程序的开发和部署等。

2.Java语法基础:基于JDK和Eclipse环境,进行Java核心功能开发,掌握Java面向对象的语法构成,包括类、抽象类、接口、最终类、静态类、匿名类、内部类、异常的编写。

3.Java核心API:基于JDK提供的类库,掌握三大核心功能:

A。Java核心编程:包括Java编程的两大核心功能——Java输入/输出流和多线程,以及常用的辅助类库——实体类、集合类、正则表达式、XML和属性文件。

B。Java图形编程:包括Sun的GUI库AWT(Java2D、JavaSound、JMF)和Swing,IBM和GUI库SWT和Jface;

C. Java网路编程:Applet组件编程,Socket编程,NIO非阻塞Socket编程、RMI和CORBA分布式开发。

4.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项目开发,其中,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首席技术官

发展战略

技术总监

团队提升

团队建设

项目管理

产品管理

收集五年的开发资料下载地址: https://pan.baidu.com/s/19MgqC4SLDi5A3A_W3rOZFA 密码:b6lk

 

下面的更深入的有兴趣可以了解一下,我的目的不是要大家掌握下面的知识,只是希望扩展自己的思维,。

系统后台框架:

技术图片

前端工程师技能:

 

技术图片

 

 

B2C电子商务基础系统架构解析
运营B2C日 久,越来越深刻的意识到IT系统对确保规范化业务流转,支撑消费者端的均一服务有着决定性的作用。于是,一直想好好整理下相关的系统架构,怎奈俗务缠身, 一直拖到今日,猛然发现下周娃很可能就要出生,拖无可拖,快马加笔,居然整出来了。本文的重点是理清系统的逻辑关系,详细的功能模块请参见结尾附上的系统 架构图。
首先,聊下对系统逻辑架构的看法;我个人始终坚持认为,系统的开发与演化,前台严格follow消费者的购买流程,后台则盯牢订单流转,牢牢抓住这两条主线,才能高屋建瓴的看清B2C的逻辑链和数据流,更深刻的规划功能模块,从而更有效支撑实际业务的流转。
前台系统包括:商品展示,内容展示,订单确认,支付系统,用户中心四大模块
一,商品展示
按照Ebay的内部分类,任何将商品以单个或批量的方式展示给消费者的功能均应归入此系统。因此,该系统至少包括:
A,站内搜索(搜索提示,搜索规则,搜索成功页,搜索不成功页,相似推荐)
B,导航(频道导航,其他导航如销售排行,广告位,推荐位,文字链,Also buy等)
C,商品分类(品牌分类,品类分类,属性分类如剪裁形式)
D, 登陆页(商品列表页,商品详细页,商品活动页)
这里的访问逻辑是:A /B/C分流消费者去往相对个性化的页面,由登陆页体现商家的核心诉求和价值传递,完成call-to-action的第一步。
二,内容展示
内容展示较为简单,对纯购物品牌而言包括:
A,公告区
B,帮助中心
C,论坛(如需商城与论坛发生交互,则需自行开发,否则可集成discuz做同步登陆即可)
大家都知道,就不多说了。
三,订单确认
订单确认,就是帮助消费者正确提交订单信息的环节,看似简单,实则非常复杂,需要对很多信息逻辑判断和处理,一般由2个部分组成:
A,购物车(购物车浮层,购物车页面,无注册购买)
无注册购买是需要慎用的功能,除非刻意追求用户的短平快下单,如团购/换购,一般不推荐使用,会造成系统异常复杂,开发量也很大。
B,订单提交(返回购物车,收货地址&地址薄,支付方式判断,配送方式,发票,订单标记,实付金额计算等等)
值得一提的是,几乎大多数的促销逻辑运算在这个环节完成,充分考虑各种促销方式之间的互斥与重叠是系统设计的核心,需要充分考虑各种情况,避免出现逻辑漏洞。
四,支付系统
与一般的想象不同,支付系统其实并不简单等于第三方支付工具接入:
A,外部支付系统(支付宝将接口,财付通接口,网银直联端口,信用ka分期端口)
B,内部支付系统(账户余额,积分,礼品卡,优惠券)
支付系统的逻辑设计不但需要考虑到各种极端情况的发生(如一张订单先用礼品卡,再用积分,最后网银支付),还要预留财务做账所需的相关字段,并充分考虑订单取消之后如何回滚各类内部账户。
五,用户中心
用户中心的实质是用户自助功能的dashboard,一般4个部分组成:
A,注册&登陆(快速注册,完整注册,注册有礼,推荐注册,密码找回,主站id登陆,open-id登陆如QQ,新浪微博等)
B,订单中心(历史订单状态,中间状态订单修改,物流追踪)
C,服务中心(各类自助服务如退款申请,退换货申请,建议与投诉等)
D, 信息管理(用户基本信息管理和账户信息管理)
用户中心的价值在于:尽可能引导用户自行获取所需的信息并提交所需的服务,在提升服务准确率,及时性的同时降低对人工成本。
后台系统包括:商品&促销,CRM,订单处理,WMS,采购管理,财务管理,报表管理,系统设置,WA系统9大模块
一, 商品&促销
商品&促销模块的核心在于确保消费者下单之前,前台内容所见即所得
A, 商品管理(品类管理,品牌管理,单品管理)
B, 促销管理(活动管理和自定义活动模板管理)
在上述模块中,最重要的是2个部分:单品管理中的批量产品生成的自动程序和活动管理中“共享与互斥”管理。前者用于大幅提升上新速度,后者避免促销活动失控。
二, CRM
CRM是对B2C核心资源—会员的管理,服务与再营销系统,包括如下部分:
A,会员管理(会员信息的增删改查和到其他系统的链接)
B,用户关怀(条件触发和人工触发相关EDM & 短信 & OB)
C,定向营销(会员分组和营销活动管理)
D, 客服管理(内容非常多,集成所有需前台与后台交互的功能,详情还是看图吧)
E, 呼叫中心(IVR,坐席管理,统计报表,参数传递与窗口嵌入)
值得注意的,EDM和短信通道市面上已经有成熟的外包服务商,一般都会外包;呼叫中心和在线客服自行开发成本太高,特别是呼叫中心系统,业务初期也都是外包的。
三, 订单处理
订单处理是在订单未正式进入仓储部门处理之前,对订单的前置性处理环节。
A,订单录入(电话订购,网上下单,外部团购订单,无金额订单录入如礼品单)
B,订单审核(自动审核和人工审核)
C,RMA处理(RMA申请单和RMA处理单)
RMA的逻辑也异常复杂,需要在效率和成本之间找平衡,确保在不拖垮仓储部门的正常出入库的前提下对消费者端快速有效close工单;对内部则需要控制成本,货损不能超过预算上限。
四, WMS(Warehouse Management system仓库管理系统)
WMS的流程很长,功能模块也很多,大致分为入库管理,库存管理,出库管理和票据管理4个模块四个模块。
五, 采购管理
采购管理的核心是有效跟进采购合同/发票的状态,大货的采购入库/退库,财务结算和在仓库存查询和处理。
A,供应商管理(供应商信息管理,合同发票管理)
B,采购单管理(PO单管理,负PO单管理)
C,库存管理(库存查询,库存占用单,库存变动log)
六, 财务管理
B2C的财务管理,主要是对供应商,渠道和内部费用支出的成本控制。
A,供应商结算
B,渠道结算
C,配送结算
D, 内部结算
说实在的,哥对财务这块也不算很了解,大家将就看看,图片上有明细。
七, 报表管理
报表是B2C业务的宏观表现,理论上说,每个部门的KPI都应该从中找到。
A,搜索报表(站内搜索量查询)
B,销售报表(多个维度销量查询,优惠券使用情况,报表导出)
C,财务报表
D, 客服报表(客服日报和坐席报表)
前者反映与消费者发生的日常交互(包括正常与异常),后者考核客服的工作绩效
E, 仓储物流报表
这几块报表,是业务运作的核心,涉及到公司机密,就不能写的太细了,见谅。
八, 系统设置
这块大家都知道是干嘛的,也就不多说了,分成三块。
A,基础设置(和业务有关的一些字段值)
B,权限设置(不同账号的操作权限和操作记录)
C,其他设置
九, WA系统(Web Analytcis)
网站分析系 统,几乎全是外购,很少有能够自建的,即使自建,最多做几个简单的模块。用于实战的,要么是免费的GA(Google Analytics),要么是昂贵的Omniture。
最后,上全系统大图,再感慨一句,B2C系统,真是一个大工程啊

技术图片

 

于网盘下载次数过多,可能会导致链接失效,需要视频资料可以添加我的Java新手学习交流Q群:927-296-445,群里面还有我这段时间整理的一些Java学习手册,面试题,开发工具,PDF文档书籍教程,需要的话都可以进来自行下载。

技术图片

技术图片

Java从零进阶自学路线图

标签:除了   架构师   适配   进度   数据库设计   商城   申请   用例   编码   

原文地址:https://www.cnblogs.com/lcywuwuwu/p/13915074.html


评论


亲,登录后才可以留言!