美文网首页
java基础

java基础

作者: 装完逼立马跑 | 来源:发表于2018-08-10 18:20 被阅读0次

    基本数据类型所占字节:

    boolean 这个试编译环境而定;byte 1个字节;short 2个字节;char 2个字节;int 4个字节;long 8个字节;float 4个字节;double 8个字节。

    类初始化顺序:

    父类静态变量-->父类静态初始块-->子类静态变量-->子类静态初始块-->
    父类初始块-->父类构造器-->子类初始块-->子类构造器;
    当直接调用静态方法时的顺序是:父类静态变量-->父类静态初始块-->子类静态变量-->子类静态块-->被调用的静态方法;

    List集合:

    arraylist和linkedlist:它们都是有序非线程安全的集合;arraylist是基于数组实现的,而linkedlist是基于双向链表实现的,因为数据结构的不同,ArrayList在寻找地址的时候比linkedlist快,在数据插入时,arraylist会进行一次数据copy,而linkedlist只是修改一下前后节点的地址,ArrayList的扩容也是一个既耗时有耗空间的操作。
    线程安全的list:通过Collections.synchronizedList()来实现;Vector(和ArrayList实现基本相同,只是在方法上加了同步关键字);CopyOnWriteArrayList;

    Map集合:

    hashmap,linkedHashmap,conturrenthashmap,treemap,hashtable
    hashmap是基于数组+链表实现的,在插入元素时,会先计算key的hash值计算出存放的数组位置,然后再对key进行判重,如果重复则覆盖,不重复就放在该数组下标的链表中

    相关文章

      网友评论

          本文标题:java基础

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