java职业路线规划,从基础语法学习开始到能完成一些大型项目

java职业路线规划,从基础语法学习开始到能完成一些大型项目,第1张

Java介绍

Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。

* Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。

* Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。

* Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

J2SE就是做那种桌面安装程序样的,像QQ,WORD那种应用程序。

J2EE 就是做基于Internet的应用程序,像选课系统,企业网站,银行系统之类的。

J2ME就是做嵌入式系统开发的,像手机游戏之类的,像现在流行的Android *** 作系统。

为了让大家能够更快的加入到做项目的队伍,工作室特制定以下培训计划。我们java组现在主要是沿着J2EE这条路线走,主要是这方面项目目前比较多。

一.培训阶段的划分

1. 学习java基础(包括基本语法,面向对象的思想的一些特性,IO,集合框架,jdbc)

2. 学习网页的基础知识(包括html,css,javascript),这些是做好界面的必备知识。

3. 学习javaweb的基础知识(包括jsp,servlet,javabean,MVC,JSTL,EL表达式)

4. 学会使用ssh框架(struts.,hibernate,spring)

二.培训阶段的要求

1.Java基础

1. 大体了解java的运行原理,安装java虚拟机(java虚拟编绎与运行)

2. 熟练掌握java语言基本语法(这个和c语言里面的差不多)

3. 熟练掌握面向对象编程的思想及面向对象的一些基本概念(类,对象,接口,继承,重载,覆盖)

4. 熟练掌握输入输出流(流的概念,文件的读写,终端输入)

5. 熟练掌握集合框架(List,Set,Map)

6. 熟练掌握JDBC连接数据库(sqlserver2000,mysql数据库的使用及连接)

7. 熟练掌握API的使用,熟悉常用类库的使用。

8. 能够编写简单的图形界面程序

这个阶段是j2se的基础知识,特别是面向对象的知识的掌握,类和对象的概念,接口,继承,重载,覆盖,掌握基本的输入输出,然后就是集合框架,List,Set,Map的使用,因为这些在以后的数据库 *** 作中经常将查询结果放在里面,最后就是用jdbc连接数据库,也许之前学过的一些理论都感觉没兴趣,但学了数据库的连接之后,兴趣就来了,因为这是第一次写程序 *** 作数据库。

这个阶段培养人的最大能力就是要勤查API文档,要多去百度,要多向别人请教。

2. 静态网页的制作

1.了解网页的基本知识

2.会写基本的html语言,能够看懂别人写的html

3.会使用表单

4.使用javascript进行客户端验证

这个阶段要掌握一些静态网页的基本知识,学会动手做静态网页。学会用css控制

页面,学会用javascript来进行表单的验证。

3. javaweb基础

1. 搭建开发环境

安装Tomcat,并配置虚拟目录

安装Eclipse,并安装MyEclipse插件

作用MyEclipse新建项目,整合Tomcat服务器,部署项目

2. Jsp的基础语法

了解JSP基本特点

理解JSP的运行机制

熟练使用JSP声明语句

熟练使用JSP Scriptlets

熟练使用JSP表达式

3. JSP指令元素

了解Page,include,taglib指令的使用

了解<jsp:forward><jsp:include><jsp:param><jsp:params>

4. JSP内置对象(9个)

熟练使用JSP内置对象保存属性

熟练JSP属性保存的四个范围(page,request,session,application)

熟练使用request,session对象取得参数值,了解其他各对象常用的方法

5. JavaBean

熟练掌握定义JavaBean,调用JavaBean,设置并获得JavaBean属性,设置JavaBean的范围,移除JavaBean

6. EL表达式

熟练掌握使用EL运算符

熟练掌握EL内置对象

熟练掌握EL存取

7. JSTL标签库

JSTL核心标签库,数据库标签库,I18N格式化标签库,XML标签库和JSTL函数标签库

熟练掌握通过JSTL核心标签库定义变量,输出变量,移除变量

熟练掌握通过数据库标签库完成数据库 *** 作

熟练掌握XML标签库完成 XML文件 *** 作

熟练掌握I18N标签库完成国际化 *** 作

熟练掌握通过JSTL函数标签库完成常用函数 *** 作

8. Servlet开发

熟练掌握如何定义Servlet

理解Servlet的生命周期

熟练掌握HttpServlet的常用方法

熟练掌握使用Servlet的接口

9. Filter开发

熟练掌握如何定义并配置Filter

理解Filter的生命周期

熟练掌握如何添加非法文字过滤器,字符编码过滤器,登录验证过滤器

10. Listener开发

熟练掌握如何定义并配置Listener

熟练掌握 ServletContextListener,ServletContextAttributeListener,HttpSessionListener,

HttpSessionAtrributeListener接口的实现和作用

11. Dao设计模式

了解什么是Dao设计模式以及其特点

熟练掌握如何定义数据库连接类

熟练掌握如何定义Vo类

熟练掌握如何定义Dao接口,Dao类以及Dao工厂类

熟练掌握如何使用Dao实现数据库 *** 作

12. MVC设计模式

了解什么是MVV设计模式

了解Model1和Model2的区别以及优缺点

熟练掌握如何定义视图,模型,控制器部分,用MVC进行开发

这个阶段才是真正的接触了javaweb的知识,要会用javaweb进行动态网页的开发,

这个阶段完成后,就能做一些应用系统的开发了,javaweb也基本上学完了,后面基本上都是些别人根据基础知识做好的框架或组件,我们只要拿来用就行。

4 . ssh框架

1 Struts2基础

了解如何下载并安装Struts2 框架

了解Struts2运行原理

熟练掌握如何新建控制器

熟练掌握如何配置控制器

了解实现Action接口的优点

熟练掌握通过Struts2标签库简化表单

熟练掌握通过继承ActionSupport完成输入校验

熟练掌握页面国际化以及校验错误信息国际化

2 Struts2高级开发

熟练使用Struts2内建的类型转换器

理解服务器端校验的重要性

熟练使用addFieldError来添加校验错误信息

熟练使用struts2校验框架完成输入校验

3 Hibernate持久化

了解什么是ORM映射以及特点

熟练掌握配置Hibernate配置文件

熟练掌握创建持久化类

熟练掌握创建关系映射文件

熟练掌握通过Hibernate框架进行数据库 *** 作

4 Struts2整合Hibernate开发

熟练掌握持久层设计

熟练掌握业务逻辑层设计

熟练掌握struts2 整合hibernate 开发

5 Spring开发

熟练掌握Spring的依赖注入

熟练掌握Spring的自动装配

熟练掌握Spring面向切面编程

框架的发现,提高了软件开发的速度,增强了软件开发的规范性,使人们都按照某一种模式,一种规范去进行开发。这个阶段我们要做的就是学会使用这些框架来进行开发,了解框架的原理,当然有能力的话,根据它的原理,我们可以试着看下它的源码,自己试着写框架。

三.各阶段所要掌握的工具

1.Java基础

1.会用记事本(或EditPlus)编写java程序,在DOS下进行编绎与运行。(初级阶段)

2.会用JCreator编写,编绎,运行。(中级阶段)

3.会用Eclipse,JBuilder,NetBeans其中之一集成开发环境(高级阶段,推荐使用Eclipse)

4.会安装并使用Navicate(mysql的界面环境),sqlserver2000。(数据库)

2. 静态网页的制作

1. 会用记事本(或EditPlus)编写Html语言

2. 会用Dreamweaver进行编写Html语言

3.Fireworks切图

4.Photoshop图片处理

3. javaweb开发

1.Tomcat使用(javaweb服务器)

2.MyEclipse (javaweb开发)

3.JUit单元测试工具

4.PowerDesigner数据库设计工具

5.CVS版本控制工具

6. Rose ,visio UML建模工具

四.各阶段所要掌握的知识点

1.Java基础

(基本要求)

1. 了解Java语言的特征,掌握JDK(Java开发工具包)的安装、目录层次、

环境变量配置,Java程序的实现过程

2.Java语言基础

a). 数据类型:

8种基本类型:byte,char,short,int,long,float,double,boolean

引用类型: 数组, 类,接口

b).结构化语句: if,if--else ,if--else if ,switch--case,while,do--while,for

c).数组

int num[]={1,2,3,4,5} <<==>>int []num={1,2,3,4,5}

3.面向对象的基础

a).类:具有相同属性和行为的一组对象的集合

b).对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体。

c).类是对象的模板(原型),对象是类的具体实例

d).抽象、封装、继承,多态(重载,重写,接口多实现)

e).构造方法(默认构造器/参数化构造器)

f).限制访问修饰符: private,缺省(默认),protected,public

g).附加修饰符:final,static,abstract

h).接口

4.Java 基础包

a). java.lang :

包装类(Byte,Character,Short,Integer,Long,Float,Double,Boolean)

其它类:String,StringBuffer,Math,Class,Object

b). java.util

随机类:Random

日期类:Date,Calender

集合框架体系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap

c). java.io

文件类:File

字节流:FileInputStream,FileOutputStream

字符流:FileReader,FileWriter,BufferedReader,BufferedWriter

二进制流:(了解) DataInputStream,DataOutputStream

构造键盘流:BufferedReader input=

new BufferedReader(new InputStreamReader(System.in))

d). java.swt /javax.swing 了解java图形界面及事件响应机制

容器类组件:JFrame,JPanel,JScrollPane

组件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox,

JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem

5.JDBC 数据库连接

数据库的连接步骤:

1). 加载数据库驱动类: Class.forName(driver)

2). 通过驱动程序管理器获取连接: DriverManager.getConnection(url,user,password)

3). 基于连接对象建立处理器对象/预处理器对象

Statement stmt=conn.createStatement()

PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)")

4). 处理器执行SQL命令(Select/Insert/Update/Delete)

executeQuery(Select)

==>返回查询的结果集(ResultSet, ResultSet.getXXX(列编号,从1开始))

executeUpdate(Insert/Update/Delete) ==>返回执行命令影响的记录行(int)

5). 关闭各个对象

(高级要求,可以暂时不用掌握)

1. java内存管理(垃圾收集及对象引用的内存分析)

2. 栈和堆的区别(变量比较复制,引用传递和值传递)

3. 异常处理机制(异常的原量,异常程序流程)

4. 网络通信(TCP和UDP开发)开发

5. Java多线程开发

6. Applet,JavaWebStart.SWT,JavaFX

7. 数据库存取(事务存取,SavePoint)

8. 分布式计算(RMI,CORBA)

9. java本地调用(JNI原理,调用c程序,调用Delphi)

10. 反射机制(Annotation,动态代理)

11. Java动态编程(Compiler API,Instrumentation,Javassist,ClassEditor)

12. JMX资源管理容器

13. XML开发(DOM,DOM4J,SAX,JDOM)

14. LOG4J日志开发

15. 定时任务,日程工具Timer,Quartz

16. ZIP工具包

17. Excel文档存取工具POI

18. UML建模

19. 设计模式

2. 静态网页的制作

(基本要求)

1. 会写简单的HTML,并且能看懂一些正规网页(多级标题的运应。列表标记(序和无序标记)超链接标记,图像标记,表格标记,多媒体标记,表单标记

2. 用javascript做些简单的表单验证

3. 用css做排版

4. 会用Dreamweaver做简单的网页

(高级要求)以后从事界面开发的人,可以多下点工夫

1. 能够熟练用Dreamweaver制作网页

2. 能够熟练使用Photoshop进行图片处理

3. 能够熟练用Fireworks对图片进行切割

4. 能够熟练使用javascript做一些特效

5. 能够熟练使用DIV+CSS进行排版

3. javaweb开发

(基本要求)

1. WEB的两个发展阶段:静态,动态

2. 动态WEB的主要实现手段及区别

3. Tomcat的主要作用及配置

4. 开发一个简单的交互式程序

5. MyEclipse开发工具的使用

6. 在MyEclipse中使用Tomcat服务器

7. JSP中的三种注释

8. 三种SCriptlet及其区别

9. Page指令,包含指令

10. Jsp连接数据库

11. 两个include以及forward语句

12. 了解九个内置对象的定义

13. 掌握JAVAWEB中的四种属性范围

14. 掌握pageContext对象的使用

15. 掌握request,response,session,application四种内置对象及属性的设置

16. Javabean的主要作用,定义及使用,四种保存范围

17. 掌握Smartupload组件的作用,上传文件,为上传文件重命名

18. Dao数据库 *** 作

19. MVC模式

20. Servlet

21. EL

22. JSTL

(高级要求,可以暂时不用掌握)

1. Filter

2. Listener

3. 报表的处理(JFreeChat)

4. 邮件收发(JavaMail)

5. 分页技术

6. Ajax

7. JSF

8. Freemarker

4.ssh框架学习

1.Struts(基本要求)

1. 了解struts2 框架的思想,MVC实现

2. 在Eclipse中开发struts2

3. Struts2 的基本流程

4. Struts2的基本配置(web.xml,struts.xml.struts.properties,struts.xml)

5. Struts2的Action(实现Action类,Action访问Servlet API,配置Action,动态方法调用,使用通配符,默认Action)

6. Struts2的处理结果(配置结果,Struts2支持的处理结果类型,redirect,chain)

7. Struts2的属性驱动与模型驱动

8. Struts2的类型转换器

Struts(高级要求)

1. Struts2的文件上传下载

2. Struts2的拦截器

3. Struts2的输入校验

4. Struts2的国际化

5. Struts2的标签库

6. Struts2的Ajax

7. 整合JSF

8. 整合JFreeChart

五.各阶段任务

1.Java基础

1. 安装配置java运行环境JDK,了解java程序的运行机理,用记事本写个HelloWorld程序,并在命令行 *** 作。

2. 用java写个对数组降序排列程序(数组最好可以自己输入)在后面抄一个有图形的界面的程序(像画图的,有菜单的之类的),自己试着运行下(相信大家看到图形后会有惊喜的)。

3. 安装JCreator,用JCreator写个执行单步的计算器(不要求界面)。如输入3+5 输出8

4. 了解类,面向对象,继承,接口的相关概念,会编写一定的基础程序。

(1)定义一个接口,里面有方法ShowS(),ShowC()

(2)编写一个正方形类,实现了上面的接口,其中包含边长A,面积S和周长C,编写方法ShowS()和ShowC()分别输出正方形的面积和周长。(测试数据:A=5)

(3)编写一个长方体类继承自正方形类,长为A宽为B,重写方法ShowS()和ShowC()分别输出长方形的面积和周长。(测试数据:A=3,B=5)

(4)编写测试类来测试以上两个类。

5. 学会查API文档(这是必备的,因为类库非常多,要记是不可能的,记得常用的就行,另外就是要勤查文档),实现下面的接口。

要求:涉及到具体时间的标准格式格式一般为:yyyy-MM-dd HH:mm:ss

测试类可以自己写。

public interface TimeInterface {

// 计算当月最后一天,返回字符串

public String getDefaultDay()

// 获得本周星期日的日期

public String getCurrentWeekday()

// 获取当天时间

public String getNowTime(String dateformat)

// 获得上周星期日的日期

public String getPreviousWeekSunday()

// 获得下个月最后一天的日期

public String getNextMonthEnd()

// 获得明年最后一天的日期

public String getNextYearEnd()

/**

* 是否闰年,参数要求由键盘输入

*

* @param year

*年

* @return

*/

public boolean isLeapYear(int year)

}

6. 安装Eclipse,会用Eclipse编写程序,编写图形界面程序,能够对事件响应有很好的了解。编写一个记事本,能够对字体大小,字体形状,字体颜色进行控制,能够复制粘贴。(多查API文档)

7. 编写图形界面的计算器,能够实现简单的加减乘除运算,乘立方法算。

8. 安装sqlserver2000数据库,了解数据库基本知识,能够用查询分析器进行简单的增删改查。

9. 能够用JDBC连接数据库,将登录注册程序连接上数据库。

2. 静态网页的制作

1. 学会用html语言做静态网页。做一个介绍自己的网站(要求:代码手写,有以下标签:多级标题,列表,超链接,图像,表格,多媒体,表单)

2. 对介绍自己的网站的布局用css ,div控制完成

3. 用javascript对自己的网站进行表单验证。

4. javaweb开发

1. 安装Tomcat和MyEclipse,配置环境,了解jsp的运行原理。

2. 学习jsp的基本语法,会用四种内置对象,能够实现表单的提交,页面的跳转,做个登录注册程序,不要求连接数据库。

3. 用jsp对介绍自己的网站进行更改,要求能够,实现表单的提交,页面的参数传递和连接数据库对自己信息进行更改。

4. 了解Servlet的运行原理,配置Servlet,利用Servlet做一个登录注册程序。

5. 学习javabean,对登录注册用Servlet+javaBean+jsp实现

6. 用el表达式,对登录注册程序用EL表达式实现

7. 用JSTL表达式,对登录注岫程序用JSTL表达式实现

4.ssh框架学习

最主要的原因是,创业公司和创业媒体越来越多,他们需要大量的程序员投身到创业这个高风险的行业中,而造神,正是让程序员们自动跳进火坑的绝佳办法。不是说程序员不能创业,我是说,创业媒体们故意模糊了创造和创业的界限,把程序员们的创造冲动偷换概念,鼓吹了太多不适合的人去创业。

另一个原因是,招聘成本高涨,CTO们为了能提升影响力,不得不频频出席各种大会刷脸。文笔好的再做做自媒体和技术社群,既能强化个人品牌提高身价,又能在融资的时候提升成功率。

总之,这个行业出现了各种技术大神。

这些大神在普通人类和初级程序员眼里是无所不能的,是他们向往的目标在中级程序员和高级程序员眼里,这些大神就是他自己,只不过他还没红起来而已

于是攀比心理也开始泛滥,全国第三的架构师比比皆是,整个圈子渐渐就浮躁起来。

然而绝大部分程序员,依然是雇员

媒体们在包装时,最喜欢按独立开发者的路线来整。「从小就对技术有天分」、「大学时曾在某编程大赛一鸣惊人」、「写了个APP玩结果一个月有了千万用户」、「从公司离职自立门户三年上市」。

OK,这的确是程序员的一条职业路线图。但是媒体们不愿意告诉你的是,一:只有极少数程序员是通过这个路线成功的二:这条线其实需要太多非程序员职位的技能,比如产品设计能力和销售能力。

程序员到底是一个什么职业?程序员的四大职业象限

这件事造成了两个结果,一是冲动点的程序员跑去创业了,二是不那么冲动的程序员天天觉得自己能创业,能干大事,在现在公司屈才了。于是就有了这样的画面:雇员们天天抱怨雇主不能提供给他们高管或者独立开发者级别的待遇。

如果不是你自己开的公司,那么雇员同学,你的价值是由你对公司的贡献来决定的。

程序员到底是一个什么职业?程序员的价值决定

绝大部分互联网公司的程序员职位,没有技术门槛

然而不幸的是,绝大部分互联网公司都不是技术驱动的公司。真的就是鸟哥说的那样,绝大部分技术岗位,其实技术门槛都不高(门槛在工程上,后文细讲)。技术不过是这些公司的护航舰,而不是破冰船。

先别打我,冷静下来想想,到底有多少你会的那些技术,是你的同行们不会的呢?不多,对吧?

几年前亿级别的搜索还是问题,现在已经到处是通用解决方案了几年前千万到亿级别的网站和APP解决方案还在大公司手里,现在各个架构大会都讲烂啦,而且其实都差不多就连DeepLearning,北京IT培训发现带API接口的框架也开始涌现,只需要把图片用REST传进去就能取到结果了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11419035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存