Java 知识点补充

1. thread and thread pool

2. super and this

super(parameter list) in constructor调用父类里constructor,只有super()则指向默认的那个。

this(parameter list) in constructor调用另一个不同parameter list的constructor,只有this()则指向默认的那个

super().parentMethod()指向父类方法,一般为被override的

this().anotherMethod()指向子类另一个方法,虽然有些多余


推荐博客

http://www.cnblogs.com/zhguang/

涉及java加载机制,java gc等


3. volitile

用来和static对比。

static虽然所有的object都只能看到一个实例,但是具体运行的时候,每个thread都可能会有各自的copy,只有运行完会返回到原来static的地址,这时其他thread可以看到变量被更新。基本肯定不能thread safe。

volatile是强制各个线程不能有自己的copy,所有的操作都是对其他线程可见的,volatile变量存在于主内存,线程要读或写必须接触主内存,而不是各自的cache。即使如此依然不能保证thread safe,还是需要synchronized来保证thread safe。比起synchronized,volatile没有lock的机制。


4.Enumeration, Iterator, ListIterator

Enumeration通过对象的elements()方法返回

Iterator是新介入的几乎可以完全代替Enumeration,增加了remove(),fail-fast,如果正在遍历的过程中,别的线程更改了内容,抛出ConcurrnetModificationException。

ListIterator可以双向遍历,具有next,previous,add,remove,set方法。不能用于set。


5. Implementation of Map interface

HashMap

Hashtable

TreeMap,带有顺序的map,保证containsKey,put,get都是lgn的速度。不是thread safe。

EnumMap,专门支持enum的map,使用的时候必须指明enum类型。内部实现是数组形式,不允许null key,不是thread safe,所以性能较好。

例子:

EnumMap enumMap = new EnumMap(Season.class);

public enum Season{
    SPRING,SUMMER,FALL,WINTER
}

import java.util.*;
public class TestEnumMap{
    public static void main(String[] args){
        //创建一个EnumMap对象,该EnumMap的所有key必须是Season枚举类的枚举值
        EnumMap enumMap = new EnumMap(Season.class);
        enumMap.put(Season.SUMMER,"夏日炎炎");
        enumMap.put(Season.SPRING,"春暧花开");
        System.out.println(enumMap);
    }
}


6. Implementation of Set interface

HashSet

TreeSet,同treemap。

LinkedHashSet,使用linkedlist实现的hashset,元素按插入顺序存储,不是thread safe

EnumSet,同EnumMap,不允许null key,不是thread safe。


7. Comparable Comparator

Comparable是interface适合本身具有natural order的类implement compareTo(Object ob1)方法

Comparator是具体的类,适合实现compare(Object ob1, Obejct ob2)后,实例化再传入对象

其实没有本质上区别,只是用法不同。


8. Restfull SOAP

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值