|
|
|
|
|
|
W*******e 发帖数: 1268 | 1 【 以下文字转载自 WashingtonDC 讨论区 】
发信人: Westridge (西岭), 信区: WashingtonDC
标 题: Java开发人员知识点
发信站: BBS 未名空间站 (Wed Apr 18 00:03:19 2012, 美东)
先抛砖引玉总结一下个人使用Java经历,从用HotJava开始,第一个IDE用的是Symatec
Cafe,到现在的Eclipse和JDeveloper,看看知识有没有跟上现在的潮流,需要哪些改
进的地方请砸砖。对新的Java开发员如果有用的地方请给包子鼓励。
Java开发人员知识点
1.听说过James Gosling,SUN和Oracle公司。知道网上下载Java的地址,在哪讨论Java
。练习过Java在Windows下的安装和配置。知道Java应用系统中常见的几种license。了
解bytecode和Java在不同系统下可以轻松移植的原理。
2.懂得基本的Java编程和行命令格式。了解面向对象的编程思路。
几个基本点:Java基本语法和控制结构,命名和代码风格,结构化,对象封装,继承,
抽象,多态,接口,异常处理,堆空间,栈空间,垃圾回收器,static,this,
synchronized,annotations,JUnit,JDBC,JSP/servlet
Java Core APIs: java.lang,java.util,java.io,java.awt,javax.swing,JFrame
,String,java.sql,JUnit
3.了解Java ME,Java SE,和Java EE的基本区别。知道JVM,JRE,Java SDK,Java
Container的不同。懂得Java SE6,Java 1.5和Java 1.4的不同,特别是1.4到1.5的改
进,包括generics,enum,new loop,variable number of arguments。
4.熟悉一种Java IDE比如Eclipse,NetBeans,JDeveloper,IntelliJ,JBuilder,
JCreator。最好版本比较新。懂得如何在程序中查错,熟悉常见的几种Java错误。
5.能用SVN/CVS进行团队开发。可以编写Javadoc文档。懂得一般的版本管理方法。
6.熟悉JDBC和JSP编写基本的Web数据库应用。懂得基本的SQL编程,JDBC,HTML格式,
JavaScript编程和CSS语法。
7.懂得进一步的Java编程比如collections,serialization,streams,networking,
multi-threading,reflection,event handling,localization,charset conversion
Java Core APIs: java.util,java.text,java.io,JFrame,Thread,socket
8.学习过一个Application Server的使用和基本配置,比如WebLogic,WebSphere,
Apache,Tomcat,JBoss。
9.知道POJO和EJB的区别。能够习惯使用getter和setter方法编写POJO Java bean。能够
使用Flyweight方法优化Javabean重复使用的字符串常量。
11.使用过几种常见的数据库系统比如Oracle,SQLServer,MySQL,PregreSQL,HSQL,
Access,DBF。
12.懂得关系数据库的设计原理,数据模型,数据类型,数据映射关系,normalization
,SQL语言,理解关系模型图。在复杂的嵌套查询中能够进行简单运算复杂度分析。
13.使用过LDAP,Active Directory,Oracle Directory之类的产品。对Dimensional
Database有一定的了解,使用过Dimentional Database的查询语言和drill-down方式。
14.使用过Oracle Reports, Oracle BI Publisher或者IBM Cognos,对企业级应用的
报表系统有一定的经验。
15.了解一些基本的Java技术比如JMX/JMS,JNDI,JAAS。
16.了解直接使用JDBC和JSP编写Web数据库存在的各种缺点和不足。知道Web系统常见的
各种安全问题。学习使用persistence,service,presentation来规划应用系统的设计
,习惯把数据,控制和格式在系统中隔离到不同层面单独进行控制。
17.养成良好的安全编程习惯,设计系统尽量避免最终用户有数据库ID或者能ping到数
据库服务器,服务器端程序不应该有权限访问本地文件或者进程,访问数据库一定防止
SQL Injection,页面参数传递避免cross-site scripting,避免hard-code ID和明文
密码,避免session或者cookie保存任何不加密的敏感信息,escape用户的输入,
escape页面上的数据输出。
18.了解基本的加密算法,能使用DES/3DES/AES对简单数据进行加密,明白RSA的算法原
理, 可以用SHA-2做散列(MD5已经不被推荐了)。掌握SSL的密匙交换方法。NIST对不
同加密算法定时有评估。
19.能够使用一些框架技术来设计数据层面的访问而避免直接做JDBC编程,比如:JPA,
Hibernate,ADF,TopLink。
20.了解MVC的设计。进一步能使用一些成熟的框架结构比如Spring MVC或者Oracle/
Apache Struts编写MVC应用系统。让数据库端变轻,数据处理和控制逻辑在应用服务器
端变胖,页面样式控制在客户端变胖,数据交互通过Ajax,JSON,Java Web Service(
SOAP,JAX-RS,JAX-WS)和RESTFul之类的技术来进行。
21.了解Hibernate的数据库annotations,掌握Spring的注入原理和方法,了解Spring
security和MVC的unit test。熟悉JSTL,了解Spring form tags。进一步学习JSF编程。
22.了解一些常见的Apache项目,比如FileUpload,Ant,Velocity,Open JPA,Tile,
Tomcat, Log4j。了解Google常见的一些Java项目比如GSon,GWT Toolkit等。了解常
见的Oracle Java项目比如Intermedia, Oracle Text,Oracle Spatial。进一步可以研
究一下Oracle的UIX和JSF-Struts-ADF编程。
23.熟悉XML规范,特别是理解XML schema。能使用JAXP和JDOM编程。知道XLS和XSLT,
了解XPath。用XHTML和JSTL验证的网页代码,进一步用XML规范编写JSP代码。
24.了解GoF标准的设计模式,熟悉基本的Java设计模式。知道Test-Driven,Behavior-
Driven或者Data-Drive的开发模式。懂得几种基本的UML描述。
25.能够用iText或者Apache POI等工具直接用Java生成PDF Report。能用Apache
FileUpload或者Oracle Intermedia完成文件上传。能够用rules engine对表单数据进
行验证。能够用JavaMail或者Java Socket完成email或者简单通讯。
26.熟悉pure css的设计方法,了解图片,字体和色彩遵循行业和印刷业规范。设计与
大部分浏览器或手机设备无关的CSS页面。
27.熟悉JavaSciprt的编程,懂得一门基本的JavaScript框架语言,能使用框架规范进
行插件设计和系统扩展。能够在浏览器里面调试和优化JavaScript代码。
28.懂得ANT或者Maven对Java项目进行编译和管理。了解Maven的product life phase管
理和软件的发布方式。
29.懂得使用JMockit或者其他的Mock framework进行unit test。能使用Selenium结合
Cobertura等工具编写面向web应用的Unit Test。学习数据库的java unit text。
30.使用项目管理软件完成从需求,设计,开发,自动测试,发布,bug tracking等全
流程系统化管理。 | w****u 发帖数: 3147 | | s*****h 发帖数: 155 | |
|
|
|
|
|