武汉java培训
达内武汉中心

15271940953

热门课程

武汉Java培训:送给java初学者

  • 时间:2018-01-08
  • 发布:武汉Java培训机构
  • 来源:互联网

    一、hashCode方法默认是调用该对象的地址,如果你重写了equals方法应该重写hashCode方法,例如你的equals方法是比较的对象的ID,就用该对象的ID来hash.

武汉Java培训机构

    二、instanceof并不完美,不能够查出父子类,所以在写equals方法的时候应该比较下是否同一个类..
    三、String类和包装类的值都是不能改变的,所以如果希望实现它们的引用传递需要使用StringHolder类和包装类的Holder类,例如:IntHolder.
    四、C#中的委托可以用JAVA中的反射invoke方法传递方法指针method完成.
    五、不要使用protected修饰field因为整个包内都可以访问,破坏了封装性.
    六、throwable接口的实现类有2个分支,一个是error,一般情况JAVA系统的内部错误或者资源耗尽,对于它,除了通知用户错误和让用户安全退出外别无他法.还有一个是exception,又分为RuntimeException和非RuntimeException.由于程序的错误导致出现的异常称为RuntimeException,这种问题应该在程序中解决和避免,不应该抛出异常.而曾经能够正常运行,在某些时候可能会出现导致的异常称为非RuntimeException,这种问题的解决应该抛出异常.常见的RuntimeException有类型转换错误、数组越界、空指针等.如果出现RuntimeException就一定是你的问题.Error和RuntimeException称为未检查异常.而非RuntimeException称为已检查异常.
    七、要使用精确的浮点运算请使用BigDecimal.除法的时候注意使用小数位,否则会导致得不到精确值错误.
    八、建议不要在程序中使用char,因为char使用的是utf-16编码.
    九、三种处理错误的机制:异常,日志和断言.java默认关闭使用断言,想使用应该在运行的jvm参数中使用-ea.例如:int x= 5;要判断x是否大于0可以使用assert x>0 : x;断言不应该使用在程序发生了可恢复性错误.断言只能用在开发和测试阶段.是一种战术性工具,而日志才是贯穿整个生命周期的策略性工具.
    十、序列化除了能够保存简单对象以外,对复杂对象也有很好的处理方式,比如如果在几个对象共同引用一个共享对象时,就不会把这个共享对象保存几次,而是检查是否已经保存这个共享,如果没有则保存,如果已经保存,则保存一个该对象的序列号.
    十一、泛型可以单独在非泛型类中使用,例如下泛型方法:public static<T> void test(T t){},而且泛型可以使用多个接口,例如:public statci<T extends Comparable & Serializable> void test(T t){}.可以使用泛型限定超类,它与限定子类相反,例如:public class Pair<? super Manager>,但是他可以向方法提供参数,不能使用返回值. 一般的,带有超类的泛型可以向对象写入,带有子类的泛型可以从对象读取,例如:public static<T extends Comparable<? super T>> T min(T[] a){}.

   本篇文章是有武汉Java为您呈现,希望给您带来更多更好的文章

更多武汉Java培训机构相关资讯,请扫描下方二维码

武汉Java培训机构

上一篇:synchronized的实现原理和应用
下一篇:武汉Java培训:java程序员面试题(一)

java开发中的七种代理模式

JAVA精选面试题,你得到了吗?

java学习路线以及学习知识

Java程序员自我突破的五个阶段(二)

选择城市和中心
贵州省

广西省

海南省