Java学习要点

    前两天公司一兄弟说要学习Java,特意针对公司实际情况整理了这样一份要点,现在发到网上,以后有机会慢慢修改更新。
一、Java基础知识
    1.常用开发工具,Eclipse、NetBeans以及命令行工具,现在使用的WSAD即在Eclipse基础上装插件而得。
    2.Java程序的最简单格式,即在一个类中定义main方法。
    3.数据类型 Java的数据类型分为简单类型和复杂类型两种,简单类型有8个,byte(8b,b即bit,位的意思)、short(16b)、int(32b)、long(64b)、char(16b)、boolean(16b)、float(32b)、double(64b),其他均为复杂类型,例如Object、String,其中Object是所有复杂类型的基类,而且每个简单类型都有对应的复杂类型。关于自定义的复杂类型,可区分为class和interface两种。
    4.变量与参数的概念,定义变量并对变量赋值,如使用null、true、false赋值,并注意long(使用L标识)和float(使用F标识)的赋值。需要理解引用与指针的区别和联系。此外需要解释Java内存的清理机制,以及装箱和拆箱的概念。
    5.编码规范 包、类、接口、字段、方法以及局部变量、参数可以由字母、数字、下划线组成,并以字母开头。需要初步了解以上对象的概念。注释有三种://单行注释、/* 多行注释 */、/** 文档注释 */(注意,Java是能够根据注释生成文档的)
    6.运算符 包括算术、自增/自减、关系(需要强调==与=的区别)、逻辑、按位运算、移位、三元、字符串操作、类型转换、instanceof等
    7.方法的概念 需要了解返回值及return语句
    8.分支语句 if-else(包括if、if-else、if-else if-else等形式,并了解语句的嵌套与代码块的概念)、switch-case(涉及break语句)
    9.for、while、do-while(涉及break、continue语句),同时需要介绍Java的数组,数组的维数,并注意数组的length与String类型的length的区别。了解Collection框架,包括Map、Set、List等接口,以及相应的HashMap、Hashtable、Vector、ArrayList等。
    10.try-catch-finally、throw、throws语句,了解Exception和RuntimeException,注意区分必检异常与可规避异常,并了解一些常用的Exception
    11.class基础知识
1)构造、方法与字段的概念
2)作用域的概念public、private、protected与友元(考虑如何不允许类被构造)
3)静态成员与实例成员(解释为何存在不允许类被构造的情况)
4)class的继承,要说明那些类成员可以继承,那些不可以
    12.class高级知识
1)构造与方法的重载与重写
2)不允许重写的类与类成员 使用final,借助static与final定义常量
3)使用父类操作子类的实例
    13.abstract class与interface
1)多态的用处,发生在使用父类操作子类的实例的情况下,父类的作用体现为契约
2)abstract class的定义 不允许定义实例,只能单继承
3)interface的定义 不允许定义实例,允许多继承
4)abstract class与interface的区别 主要是区分使用情况
    14.线程的概念(JSP中用不到,自己去了解下吧)
    15.XML操作 了解Xerces,该库可以从Apache上下载到
    16.反射(其实属于高级知识了) 包括Class、Method、Field、Constructor等类型的使用,尝试在xml文件中定义类的名称及方法,然后操作类,即实现一个简单的IoC容器

二、Java高级知识
    1.数据库连接技术(JDBC) 包括Connection、Statement(包括PreparedStatement和CallableStatement,需要了解SQL语句与存储过程哦)、ResultSet,同时需要了解JDBC反射的概念
    2.Servlet简介 主要了解Web.xml配置文件的修改(主要是区分出/a/b/c.do与*.do的区别)、服务器的启动与停止以及Request、Response、Session、Application、out等对象
    3.JSP简介 除了解Servlet所有的5个对象,还应了解Page对象(相当于Servlet的this对象),明白数据在页面内及页面间的传递。此外,还要了解Servlet调用JSP,包括重定位、forward、include等
    4.Web高级应用 借助Web.xml,结合XML与反射技术,创建一个简单的MVC框架
    5.JSP扩展标记 了解javax.servlet.jsp.tagext.TagSupport和javax.servlet.jsp.tagext.TagBodySupport接口,与自定义的MVC框架结合
    6.Ajax 其实应该算是前台技术,应该更多的了解JavaScript(包括js基础,例如变量、函数什么的,不过真正的重点应该是eval动弹执行函数、通过div/span对象的id操作其显示或隐藏以及界面动弹修改、用js实现面向对象操作等)
    7.WebService(如果对SOA有兴趣,就了解一下,未来发展趋势之一)

三、Java工具箱
    1.JUnit 需要了解单元测试与测试驱动开发(关键不是JUnit本身)
    2.Ant 需要了解自动构建(如果对服务器管理没兴趣,那么知道有这个东西就可以了)
    3.Log4J 日志工具的作用主要在于开发阶段,不要过多使用System.out.println
    4.AspectJ 即AOP,也是未来发展趋势之一

四、Java常用框架(都知道,不废话了)
    Struts、Spring、Hibernate、iBatis、JDO2、EJB3等

你可能感兴趣的:(Java,java,interface,servlet,exception,class,netbeans)