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等

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JAVA学习要点 一、关于Java 1、Java的三种体系: J2SE 用于桌面开发,低端商务开发(Java to Standard Edition) ; J2ME 用于移动电话、电子消费品、嵌入式开发(Java to Micro Edition) ; J2EE 企业级解决方案的开发,基于WEB的开发等,(Java to Enterprise Edition) ; 2、Java的特点: 序号 语言角度 学习角度 1 比C++简单,放弃了对指针的使用; 入门迅速,容易学; 2 目前最好的网络编程语言; 编写更少、更好的代码; 3 开放式先进的技术,可移植性强; 更快的开发程序 4 完全的OO(面向对象,单根结构) 的跨平台语言; 用纯Java编写的程序可以避免平台相关性; 5 分布式开发,支持多线程,可靠安全健壮; 一次编写,处处运行,可以更容易的发布软件; 3、主要的开源网站: ①www.Java.net ②www.apache.org ③www.sourceforge.net ④www.theserverside.com ⑤www.javaworld.com ⑥ www.chinalab.com 4、其他技术问题: 序号 特征 1 目前国内比较流行的技术组合:spring(www.springframework.com) + hibernate技术,还有webservice +XML技术; 2 J2EE的相关技术:EJB,SEVILET,JSP等; 3 源文件(*.java) --------->类文件(*.class) --------->java虚拟机(JVM) 编译器 解释器 4 应用程序层 Java应用程序 Java平台层 Java虚拟机 操作系统层 UNIX WINDOWS RTOS 硬件层 SPARC X86 MIPSPPC 二、面向对象的特征 序号 特征 1 面向对象的三个原则 封装性 封装的基本单元是类(class),类是一个抽象的逻辑结构,而类的对象是一个真实的物理实体;类的目的是封装复杂性,在类内部存在隐藏实现复杂性机制; 封装(encapsulation) 的两个好处: 模块化:可以独立于其他对象的源代码进行编写和维护,可以很容易的将对象在系统中传递; 隐藏信息:其他对象可以通过本对象的一个公共接口进行通信而不影响其他对象; 继承性 继承是一个对象获得另一个对象的属性的过程,继承机制是一个对象成为一个更具通用类的一个特定实例成为可能,避免了代码的重复编写; 多态性 (重载overload,方法名相同、参数的个数不同、参数的类型不同、返回的类型不同和覆盖override) ;多态性就是“一种接口,多种方法”,可以为一组相关的动作设计一个通用的接口,其实类的函数的重载就是一种多态的体现; 4 引入抽象编程的思想; 类的封装就是一种抽象思想

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值