Java 基础

  1. 基本类型是值传递,引用类型是引用传递传递的是自己本身,而String类型是引用类型进行引用传递的时候不会改变,因为String的值是final常量 ,传递与改变的是自己的复制品,与他一样的还有各种基本类型的包装类:{Integer,Character,Byte,Short,Double,Float,Boolean,Long}

  2. 构造器可以私有,要想实现类方法就得将方法改为静态的方法 public static void

  3. 构造器不能被继承

  4. 父类可以强转成儿子,儿子不能强转成父亲

  5. 继承要自下而上设计,先有子类后有父类,层次不能太多

  6. 使用this()调用构造器的要点:只能在构造器中使用,必须作为构造器执行体的第一行使用

  7. 内部类静态化后只能访问外部类的静态成员,增加了局限性

  8. 内部类静态化后,实例化的时候有没有外部类都可以

  9. 内部类私有化后,只能通过外部类的自己方法来掉用内部类的成员,外界无法操纵内部类

  10. 匿名内部类必须继承一个父类或实现一个接口

  11. Class类的有参构造对象

  12. Class类的无参构造对象

  13. Class类里,getDeclaredFields获取所有属性,getFields获取公开属性

  14. 集合存放的是多个对象的引用,对象本身还在堆内存中

  15. 因为 Map 集合即没有实现于 Collection 接口,也没有实现 Iterable 接口,所以不能对 Map 集合进行 for-each 遍历

  16. 进程和线程的区别:
    进程:有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的,至少有一个线程。 线程:堆空间是共享的,栈空间是独立的,线程消耗的资源比进程小的多。

  17. Vector线程安全但是查询效率低

  18. 线程不安全用List,查询多用ArrayList,增删多用LinkedList

  19. Map里面只有TreeMap是有序的,HashMap和HashTable都是无序的

  20. Hashtable的方法是同步的,HashMap的方法不是同步的。这是两者最主要的区别。Hashtable是线程安全的,HashMap不是线程安全的。

  21. TreeSet, LinkedHashSet and HashSet 的区别
    TreeSet的主要功能用于排序
    LinkedHashSet的主要功能用于保证FIFO即有序的集合(先进先出)
    HashSet只是通用的存储数据的集合
    相同点:

    Duplicates elements: 因为三者都实现Set interface,所以三者都不包含duplicate elements
    Thread safety: 三者都不是线程安全的,如果要使用线程安全可以Collections.synchronizedSet()
    

    不同点:
    Ordering: HashSet不保证有序,LinkHashSet保证FIFO即按插入顺序排序,TreeSet安装内部实现排序,也可以自定义排序规则
    null:HashSet和LinkHashSet允许存在null数据,但是TreeSet中插入null数据时会报NullPointerException

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值