美文网首页
effective java笔记

effective java笔记

作者: Mrryo | 来源:发表于2018-08-06 17:00 被阅读0次

    1、Java中创建(实例化)对象的五种方式:

    a、new一个对象。b、反射,Object a=Class.forName("java.lang.Object").newInstance(); c、通过I/O流(包括反序列化)。d、对象的clone()。e、通过工厂方法返回对象。

    2、抽象类,要想对其实例化,只能用getInstance().(单例模式)。

    3、内存泄漏:用数组、集合、缓存、监听器等时要注意释放回收不用的内存

    4、重写equals,需要满足:一致性、对称、传递

    5、每一个类都不应该直接暴露自己的属性,要多用get,set。

    6、extends用于(单)继承一个类(class),而implements用于实现一个(多个)接口(interface);其中一个interface可以extends多个其他interface。

    7、抽象类(abastract)易于扩展,可以加方法等,接口加方法,继承接口的类也要实现。

    8、List<T>用于声明泛型;List<?>用于使用定义好的泛型(一般在泛型起一个限制作用,例如:(消费者)List<? super T>;(生产者)List<? extends Class>)

    9、数组泛型不兼容

    10、for-each循环不适用于过滤、转换、平行迭代;需要用iterable迭代器或者for

    11、Arrays.asList()把数组转化list,只能查询,不能新增、修改、删除,不能用基本类,要用包装类(不然会看作一个整体)

    12、基本类型和引用类型区别:引用类型可以值相等,引用地址不等,允许null值,性能不好,集合中只能用基本类型,引用包装类可以和其他类进行转换(toString()等)

    13、stringbuilder和string区别:stringbuilder用于字符拼接append()

    14、java命名规则:

    15、单例模式:5种,饿汉(一开始就new)、懒汉(调用时new)、双次判断null+锁、内部静态类、枚举

    相关文章

      网友评论

          本文标题:effective java笔记

          本文链接:https://www.haomeiwen.com/subject/oxripftx.html