第一篇:java学习方向
如何学习java(一)最近论坛上看到好几个朋友都在问,如何学习Java的问题,“我已经学习了J2SE,怎么样才能转向J2EE?”,“我看完了Thinking in Java,可以学习J2EE了么?”。于是就有了写这篇文章的想法,希望能帮助初学者少走一些弯路。也算是对自己几年来学习Java的一个总结吧。
在开始之前有必要再讨论一下J2ME,J2SE,J2EE这些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2SE,Java 2 Platform,Standard Edition,我们通常所说的JDK(Java Development Kit)包含在此,是J2EE的基础。J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java。这些只是从API级别上的划分,实际上Sun给J2EE的定义是:开发基于组件的多层的企业级应用的规范。也就是为各种不同的技术定义一个Java的规范,使这些不同的技术结合起来,在Java平台上构建强壮的企业级应用。从这一点来看,J2EE这个概念应该是涵盖J2ME,J2SE的。比如一个典型的J2EE应用,网上商店,它支持web方式下订单,也支持手机下订单。显然必须用到J2SE,J2ME。所以也就不存在所谓的从J2SE转向J2EE的问题了,只是后者包含的范围更广而已。
来看看Sun给出的J2EE 相关技术主要分为几大块。
1.Web Service技术
-Java API for XML Processing(JAXP)
-Java API for XML Registries(JAXR)
-Java API for XML-based RPC(JAX-RPC)
SOAP with Attachments API for Java(SAAJ)
2.组件模型技术(Component Model Technologies)
-Java Servlet
-JavaServer Pages
-JavaServer Faces
-Enterprise JavaBeans
-Java Message Service
J2EE Connector Architecture
3.管理技术(Management Technologies)
-J2EE Deployment Specification
-J2EE Management Specification
-J2EE Client Provisioning
Java Authorization Contract for Containers
4.其他相关技术(Other J2EE Technologies)
-JDBC
-Java Data Objects(JDO)
-CORBA(Java IDL and Java RMI-IIOP)
-JavaMail
-Transactions
如此之多的技术难免使初学者无所适从,望而却步。即使是一位经验丰富的J2EE开发者,又有几个人敢说J2EE相关的技术我都熟练掌握了。不过作为一名普通
J2EE应用程序的开发者来说,我们只需要重点学习其中的一部分技术就可以了,对于其他部分只要做到心中有数,哪天需要用到了知道跑哪里去找到资料就行了。以我个人的观点,下面这些技术是一般J2EE应用开发人员所必须熟练掌握的。Java Server Page,Java Servlet,Enterprise JavaBean,JDBC,Transactions。还有JAXP等XML相关技术,Java Message Service,Java Mail,JDO等等是最好应该掌握的。其他Management Technologies,Connector Architecture等等主要是给容器提供商中间件提供商参考的,应用开发者不需要怎么关心,等用到了再去学习也不迟。
语言学习篇
首先是J2SE基础。学习一门新技术,无外乎阅读和实践了。而一本好的参考书对于初学者来说显得格外重要。现在市面上的 Java书籍可以说是铺天盖地,质量也是良莠不齐,令初学者无所适从。所以还是先推荐几本书籍吧。目前对于Java基础知识,大家一般都比较推荐两本书,<
Jetty:
http://jetty.mortbay.org/jetty/
应用服务器常用的有,Jboss:
http://www.xiexiebang.com/products/index
Weblogic:
http://www.xiexiebang.com/。对于J2EE项目的具体实施,Rod Johnson的<
第二篇:2013年java就业方向
2013年java就业方向 Java就业前景
全球已经步入移动互联时代,软件开发成为最紧缺的岗位。根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达到全部需求量的60%~70%。同时,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平。一年工作经验java工程师月薪8k,随经验的积累工资在不断提高。
Java就业方向
据《2012中国大学生就业报告》显示,今年我国共有680万的毕业生,在就业形势如此严峻的当下,很多毕业生都会在毕业前一年开始选择学习一门技术,时下最热门的Java开发课程受到很多同学的热捧。但是要学习Java,选择Java培训班,必须要了解相关信息,java是一个大方向,工作内容也多有不同,许多java工程师也都是经过很长时间的积累往更专业的领域发展,而且随着技术能力的提升,技术的方向也会越来越窄,所以,提前了解哪个方向更好,就往这些方向发展,避免走弯路。
以下列出Java培训就业的主流方向,供同学们参考:
Java互联网方向
Java在互联网方向的应用非常多,当然这也有更多的细分。目前采用Java开发互联网网站及应用的IT企业越来越多,这也增加了Java开发工程师的需求。2011年一线城市java网站开发工程师的待遇有较大涨幅,1年经验的可轻松达到4000-5000,2-3年工作经验的可达到6000-9000,更有突破1万的。
Android及手机开发
目前,Android开发工程师已成为3G行业最炙手可热的岗位之一,初入行平均薪水4000元左右,有1年工作经验者月薪6000-8000元左右,2-3年工作经验的月薪可轻松破万。2015年Android市场份额将达到45.4%,成为全球最大的智能手机操作系统。最近两年,安卓培训一路走红。
Java应用方向
目前Java在许多行业的企业信息应用方面的应用非常多,比如OA、邮箱、股票、金融、考试、物流、医疗、矿山等信息方面的系统。该方向和行业密切相关,所以,这是一个经验型的发展方向。Java开发者在这方面的需求也非常大,待遇也相当不错,工资水平与Java互联网方向的差不多,很容易在一些大型企业就业。Java外包方向
外包可能做的是网站,也可能是一个信息系统,或者是一个智能系统的客户端等等。外包可能做任何工作,相对与一个大型外包项目,可能需要用到多种技术,java只是其中的一个而已。外包的工作讲究速度,需要比较强的沟通和解决问题的能力,待遇也是相当不错的。
第三篇:Java方向面试个人简历
xxx个人简历
基本情况
姓名:xxx性 别: 男出生年月:1993年3月
现居地:江苏昆山电 话:xxxx邮 箱:xxxxxx
求职意向:java软件开发工程师,web开发相关
专业技能
熟悉基于J2EE架构的JAVA编程:J2EE,JSP/Servlet,Hibernate,AJAX,Javascript,xml
熟悉MVC模式开发Web应用
熟悉Oracle数据库,SQL,JDBC,了解PL/SQL,Mysql和SQL Server
熟悉JAVA应用服务器:Apache Tomcat
熟练应用Java集成开发环境Eclipse,MyEclipse,NetBeans进行Java软件开发 能够阅读书写英文技术文档及项目需求文档,有良好的文档书写能力
善于沟通和交流,能很好的和其他同事协同工作,发挥团队精神
项目经验
ADSL宽带运营支撑系统(WOSS)
开发平台: Eclipse
开发技术:jdbc、corejava、log4j
应用服务器: tomcat
数 据 库:Oracle10g
某公司ADSL运营支撑系统数据采集子系统,融合Unix、Java、XML技术,包括备份、整合、采集、入库、网络、日志模块。经历完整软件开发过程:需求分析、设计、编码、调试、交付。
ESTORE电子商务购物平台
开发工具: myEclipse8.6 + jdk1.6 + tomcat6.0 + oracle10g
开发技术: Hibernate+jsp+html+xml+Oracle
项目描述: ESTORE电子商务购物平台,该系统包括会员信息管理、商品管理、商品查询、等功能模块,通过该系统,可以实现商品电子化管理、交易,系统使用
Hibernate、Ajax等企业主流技术。
责任描述: 需求分析,开发编程,测试,说明文档的编写。
校园经历
2012年9月——2013年7月
大一有幸进入学生会宣传部,竞选班级组织宣传委员,组织班级的活动,宣传老师所要传达的东西。一周一次的活动,例如拔河比赛,九人十足,等等,还有一年四次大型活动,12.9大合唱,心理情景剧,毕业生晚会等。这些活动的策划宣传工作都是我们部门来完成的,其中心理情景剧,是有我们部门主要负责,各个部门之间合作共同完成每个活动,每个活动,有一个具体主办部门。这些不仅发挥了我的能力,更让我的能力有了进一步的提高。例如,让我学会了如何去宣传和策划、细心、对应急事件的处理、提高了自己的组织能力,知道了团队精神的重要性。学习成绩优秀,专业前二十名,大一期间一直在兼职补贴自己的生活费,大学期间的手机电脑都是做寒暑假工作自己买的。
2013年7月——2014年1月
大二有幸竞选学生会宣传部副部长,这个职位让我学会了如何和上级和下级之间去相处。更加提高了我的组织能力,细心,策划,以及亲和力,团队精神等。下半学期开始接触秘书长工作,展开学生会账务管理,活动记录,会议主持。以及帮助老师办理一些工作,例如档案整理,等等。学习成绩良好,专业前二十名。毕业了在学生会收获了很多很多,最重要的是交到了很多好朋友,几个一辈子的朋友。
教育背景&&实习经历
毕业院校:郑州轻工业学院专业:软件技术
学历:大专
自考本科院校在读:河南农业大学(不耽误正常工作)
专业:计算机科学应用技术
实习公司:昆山杰普科技有限公司实训时间:六个月
荣誉奖励
2012年9月——2013年1月
学生会优秀干事优秀班干部
2013年3月——2013年7月
校级“我的中国梦”微博大赛二等奖优秀团员
2013年9月——2013年1月学生会优秀干部
自我评价
我是一个积极乐观,细心,具有亲和力,心理素质较好的人。拥有扎实的计算机基础知识和专业技能,实际操作能力强。做事踏实认真,热情主动,吃苦耐劳,具有很强的责任心和进取心。平时喜欢和他人沟通,善于与人相处,具有良好的团结合作精神,服从管理。希望在不断的学习和工作中充实和完善自己,更好的把握发展的契机。
个人爱好
打羽毛球,阅读,绘画,听音乐,看电影。
第四篇:程序员自学之路——Java方向
程序员自学之路——Java方向
Unix/Linux操作系统
Unix开发环境
Unix操作系统概述、Unix文件系统、Unix的Kernel和Shell、远程登录的原理、用户管理命令、基本文件和目录操作命令、Unix操作系统的特殊字符、使用vi命令编辑文本文件、使用FTP进行文件传输、初始化文件及环境变量的配置、Shell脚本及crontab命令。
熟练掌握Sun Solaris Unix系统基本操作命令,能够胜任Unix/Linux系统下的Java程序开发和管理工作。
Java SE开发
Java语言基础
Java SE 6.0核心语法归纳讲解,包括Java语言的特点、环境的配置、开发基本命令、类的定义技巧、方法调用过程、对象生成原理与内存分布、标识符、关键字和数据类型、运算符和表达式、Java商业运算要点、流程控制语句、Java数组和链表等算法和数据结构;同时掌握Eclipse开发工具的使用。
熟练掌握Java核心语法
Java面向对象编程
囊括了Java面向对象的精髓,包括面向对象三大特性——封装、继承与多态,各种修饰符在面向对象思想下的综合运用,抽象类的特点和使用技巧,面向接口编程的思想和实践,内部类的应用,JDK核心类包括Object、String、Date和Calendar等类的使用和设计思想,正则表达式,自动封箱和解箱,Java异常处理,Java集合框架,泛型的语法和使用等。
熟练掌握Java面向对象思想
Java高级应用
主要研究:中高级软件工程师的必修利器——Java反射编程,Java图形开发组件的开发步骤和应用技巧,事件模型的设计理念和应用,Java多线程编程,Java的I/O流,Java网络编程等。
熟练掌握Java高级编程,这部分是作为高级程序员必须掌握的技术
XML语法与解析
XML(eXtensible Markup Language)的中文名称是可扩展标记语言,是树形的概念层次结构,简而言之它就是一种保存结构化数据的格式。XML作为一种面向内容的描述语言,通过基于树形数据结构的层次化概念分类体系模型,在很大程度上弥补了HTML作为网络标准语言在概念层次关系的语义表达上的不足。
主要学习内容:XML的意义、语法结构、XML良构的规范;DTD的意义和语法、使用名称空间的技巧;Schema的意义、语法,使用Java API解析XML;基于Java DOM和SAX的XML处理技术。
掌握目前最通用的网络数据格式,并能熟练在商业开发中应用
数据库编程
Oracle SQL
Oracle公司的Oracle数据库产品是当今的高端企业级应用的主流产品。我们主要学习:Oracle 10g数据库原理,SQL语句(DDL、DML、TCL、DCL)的语法,项目中经典SQL语句重现,Oracle数据库函数包括字符函数、数值函数、日期函数、数据类型转换函数以及组函数,数据库的设计,表连接包括等值连接、非等值连接、自连接和外连接,SQL子查询,Oracle序列对象在项目中的运用,索引及视图,系统表的应用技巧,Oracle SQL的错误排查及调优解决方案。
掌握Oracle数据库设计、操作和开发
MySQL数据库
MySQL5.0数据库的管理和开发要领,掌握MySQL和Oracle数据库的异同点。掌握MySql数据库的设计、操作和开发
JDBC编程
JDBC为Java开发者使用数据库提供了统一的编程接口,使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。学习的主要内容有:JDBC的编程步骤,重要的编程接口,JDBC异常处理,JDBC中使用事务,Batch Updates批量更新,Blob/Clob等新数据类型,JNDI,DataSource,数据库连接池的管理等。逐步掌握基于JDBC的Oracle,SQLServer,DB2,MySQL等数据库连接技术。
熟练掌握Java语言对各种数据库的连接技术
系统分析与设计
软件开发流程及UML
学习软件开发过程包括瀑布模型、统一开发过程(USDP),CMMI5级软件设计规范,掌握统一建模语言UML,掌握软件的静态建模和动态建模。掌握面向对象中对象的关系。
掌握软件开发流程及UML
设计原则与模式
原则和模式是分析设计人员与程序员在开发过程中经验的总结,学习模式就是获取经验。
掌握面向对象的设计原则:“开—闭”原则(OCP)、里氏代换原则(LSP)、依赖倒转原则(DIP)、接口隔离原则(ISP)、组合/聚合复用原则(CARP)、迪米特法则(LoD)。
掌握主流的设计模式:工厂模式(Factory)、单例模式(Singleton)、观察者模式
(Observer)、组合模式(Composite)、状态模式(State)等,以及重要的架构模式:Dao模式、MVC模式。
掌握面向对象的设计原则和模式。区别于激情代码,重点在于知道软件为什么要这么做,保证代码质量,保证科学的开发流程。按照CMM3的标准来设计软件和管理开发过程。
Web开发基础
HTML
基于浏览器的语言HTML:
了解HTML基本文档结构、常用的meta,掌握HTML列表和表格基本操作,了解HTTP GET和POST请求及响应的协议格式,掌握表单的基本原理,掌握GET和POST提交方式及其区别,熟练掌握常用表单元素。
掌握企业级应用客户端页面技术
CSS
CSS意为层叠样式表(Cascading Style Sheets)用于定义HTML元素的位置和样式。CSS样式定义通常存储在单独的文件中, 可以极大提高工作效率。掌握CSS基本语法和CSS选择器,掌握CSS定位技术,了解CSS内外边距、边框等特性。
掌握企业级应用客户端页面样式技术
JavaScript
基于浏览器的动态脚本技术JavaScript:
JavaScript 被设计用来向 HTML页面添加交互行为,是一种被浏览器解释执行的脚本语言。我们可以应用JavaScript来响应事件, 实现复杂交互,验证数据, 提高系统健壮性,获取和改变HTML元素及CSS属性,动态改变页面外观,逐步向RIA(Rich Internet Applications)迈进。
掌握JavaScript基本数据类型及其运算,熟练使用数组、日期等,掌握基本的对于页面元素的操作,掌握Prototype.js的基本方法,掌握HTML DOM模型,Window对象,操作Cookie,定时器等。
掌握企业级应用客户端动态脚本技术
Java Web开发
Servlet编程
以经典项目BookStore为导向,技术要点的讲解深入浅出,并有机地与项目结合,为项目的顺利完成服务。
学习要点:Web服务器的安装和配置,编写及部署Servlet,读取请求信息,生成响应信息,维护客户状态,过滤请求和响应,监听器的应用,对持久层资源的访问,使用包装器拦截响应,Session与Cookie技术,Servlet互操作,访问应用上下文,MVC架构模式的思想和运用。
JSP编程
JSP是在Java服务器端运行的页面,JSP本身就是一个基于文本的文档,他不仅可以包含静态的HTML内容,也可以包含动态的Java代码,服务器容器可以将JSP转换成Servlet发布,并接受请求,提供响应。
学习内容:JSP的特点、运行原理及执行过程,JSP的脚本元素,JSP指令的分类及详解,JSP中中常用的动作,JavaBean组件在JSP中的应用,JSP内置对象详解,JSP异常处理及提高程序健壮性要领,重定向与转发的本质区别,URL回写,自定义标签要领,EL表达式,JSTL核心标签库,字符集的处理和国际化。
Web系统架构
着重掌握B/S架构、B/S/A/D架构下的程序设计与开发,深入理解Web MVC架构模式,完成Web应用的调试和部署,动态发布Web应用。
Ajax编程
Ajax(Asynchronous JavaScript and XML)由 HTML、JavaScript技术、DHTML和DOM组成,这一杰出的方式可以将笨拙的Web界面转化成交互性优越的Ajax应用程序。
主要内容:Ajax技术构成及核心编程,发送请求及处理响应,Ajax数据传输格式(纯文本、XML及JSON),XMLHttpRequest详解,Ajax库及框架介绍。
3G应用:Android开发
Android开发平台、Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、后台服务编程。
Java企业应用开发
Hibernate编程
Hibernate是对象/关系映射(Object/Relation Mapping)的解决方案,是一个可以自动的根据xml配置文件来完成对象关系映射,并持久化到数据库的开源组件。学员通过学习可以很好地掌握面向对象的数据库访问技术和各种数据库访问模式。熟练掌握Hibernate3产品在实际项目中的应用技巧,充分理解O-R Mapping产品的内涵和外延。
熟练掌握Hibernate在项目中的开发
Struts开发
Struts是由Apache开源联盟提供的一套用于构建Java Web应用程序的MVC框架。它的目标是希望分离Web程序的表示层、控制层和模型层,使程序员将更多的精力投入后台的业务逻辑设计,而不是底层的Web基础框架,提高了开发效率。Apache Struts1自从推出以来一直深受广大Web编程者青睐,是到目前为止应用的最广泛的基于MVC的Web编程框架。Webwork,采用XWork command pattern内核,配合请求处理拦截器(intercepter),成为目前设计的亮点。集Struts1的成熟社区和Webwork的先进、优雅的设计于一身的Struts2框架又将成为未来基于Web开发的MVC框架的领航者。
学习内容:不仅要掌握Struts1的使用,也要学习Struts1的设计思想,并尝试自己开发核心程序,而且还要掌握Struts2的开发要领。
掌握Struts框架核心技术
Spring开发
Spring的核心是轻量级的容器,它实现了IoC容器、非侵入性的框架,并提供AOP概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web框架的实现,并对一些常用的企业服务API提供一致的模型封装,是一个全方位的应用程序框架,我们不仅要领悟和实践以上内容,而且还将重点掌握Spring对现有框架(Struts、Hibernate等)的整合方案。
掌握应用层框架Spring的设计思想和开发要点
EJB3.0
EJB3.0规范、Weblogic服务器应用、JBoss服务器应用
掌握EJB 3.0规范的基本原理和应用;较为熟练的配置Weblogic和JBoss服务器。
Web服务编程
Web Services是一种使用WSDL、SOAP技术,并使用xml文档来交换信息的网络应用程序,通过Web Service技术使原来各孤立的站点之间的信息能够相互通信、共享。我们要学习Web服务的三个重要角色、掌握Web服务的编程要领。
第五篇:java学习
.如何学习Java?
3.1 Java学习路线
3.1.1 基础语法及Java原理基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得“真正”的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
3.1.2 OO思想的领悟掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是 CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
使用面向对象的思想进行开发的基本过程是: ●调查收集需求。●建立用例模型。
●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。●细化分析模型到设计模型。●用具体的技术去实现。●测试、部署、总结。
3.1.3 基本API的学习进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的“不需要重新发明轮子”。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。
3.1.4 特定API的学习Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟 悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
3.1.5 开发工具的用法在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉 IDE了。程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder 占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的 Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓“柳暗花明又一村”。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
3.1.6 学习软件工程 对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见“软件开发学习路线”小节。
3.2学习要点 确立的学习路线之后,我们还需要总结一下Java的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。
3.2.1勤查API文档当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用“Javadoc”工具(包含在JDK中)生成标准的Java DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。J2SE DOC文档官方下载地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下载。也可以在线查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下: ●找特定的包,包一般根据功能组织。●找需要使用类,类命名规范的话我们由类的名字可猜出一二。●选择构造器,大多数使用类的方式是创建对象。●选择你需要的方法。
3.2.2 查书/google->写代码测试->查看源代码->请教别人 当我们遇到问题的时候该如何解决?这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像“某些类/方法如何使用的问题”,DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看 API的源代码验证你的想法。万不得已才去请教别人。
3.2.3学习开源软件的设计思想 Java领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。
3.2.4 规范的重要性 没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多到http://www.xiexiebang.com下载JSRXXX规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。Java编码规范到此查看或下载http://Java.sun.com/docs/codeconv/,中文的也有,啊,还要问我在哪,请参考3.2.2节。
3.2.5 不局限于Java 很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是“需要的时候再学”的原则。
4.结束语需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在Java神殿之外的朋友有所帮助的话,笔者也欣慰了。哈哈,怎么听起来老气横秋呀?没办法,在电脑的长期辐射之下,都快变成小老头了。最后奉劝各位程序员尤其是MM程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比……