阿里客户端面试题

来源:互联网 发布:mac win 自动更新 编辑:程序博客网 时间:2024/06/10 02:33

  HttpClient和HttpURLConnection的区别

1,HttpClient是个稳定的开源框架,bug比较少,封装了http消息头,使用比较简单,但是也由于HttpClient的API数量过多,使得我们很难在不破坏兼容性的情况下对它进行升级和扩展,所以安卓在2.3版本之后不再对其升级和优化,

2.HttpURLConnection在安卓2.3版本之前有点不完善,bug比较多,但是之后官方对其做了较多的优化,使得api比较简单,轻量级。比如在压缩报文和缓存的机制上的改进可以减少网络的访问流量,提高速度,从而减少电量的使用。

  java泛型的概念

java5之后开始支持泛型,意思就是支持参数化类型,但是参数的类型是类,以前多个相同属性和行为的类对不同类的参数引用,通俗的说就是对任何对象做相同的操作,不用考虑对象的类型,一般都用object去重构,但是实现时要强制装换类型,所以容易出错,现在可以用泛型进行重构。例子如下

class Gen<T> {
private T ob; //定义泛型成员变量
public Gen(T ob) {
this.ob = ob;
}
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public void showType() {
System.out.println("T的实际类型是: " + ob.getClass().getName());
}
}
public class GenDemo {
public static void main(String[] args){
//定义泛型类Gen的一个Integer版本
Gen<Integer> intOb=new Gen<Integer>(88);
intOb.showType();
int i= intOb.getOb();
System.out.println("value= " + i);
System.out.println("----------------------------------");
//定义泛型类Gen的一个String版本
Gen<String> strOb=new Gen<String>("Hello Gen!");
strOb.showType();
String s=strOb.getOb();
System.out.println("value= " + s);
}


0 0