您的位置:首页 > 职场人生

最近面试的总结与准备

2015-11-03 21:31 351 查看
static:

修饰变量,表示每次重新使用该变量所在方法、类或自定义类时,变量的值为程序这次运行最后一次为变量赋值时的值,这个方法称为静态函数

修饰方法,表示此方法为所在类或所在自定义类所有,而不是这个类的实例所有,这个方法称为静态方法

用于class 前,说明此类型无法新建实例,简单点说这个类型的方法全是静态方法,这个类里的非静态方法是不能使用的,这个类型称为静态类

static{}称为static代码块 ,也叫静态代码块;是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次利用静态代码块可以对一些static变量进行赋值

修饰常量,静态常量public static final String

单例模式:
Singleton模式的实现基于两个要点:
1.不直接用类的构造函数,而另外提供一个Public的静态方法来构造类的实例。通常这个方法取名为Instance。Public保证了它的全局可见性,静态方法保证了不会创建出多余的实例。
2.将类的构造函数设为Private,即将构造函数"隐藏"起来,任何企图使用构造函数创建实例的方法都将报错。这样就阻止了开发人员绕过上面的Instance方法直接创建类的实例。

饿汉模式:

饿汉式的创建方式在一些场景中将无法使用:
譬如实例的创建是依赖参数或者配置文件的,
在getInstance()之前必须调用某个方法设置参数给它,
那样这种单例写法就无法使用了。
class A{
private A(){}//构造方法私有化,防止外部直接new对象
private A a=new A();
public A getA(){
return a;
}
}

懒汉模式:

class B{
private B(){}
private static class C{
static final B b=new B();
}

public B getB(){
return C.b;
}
}

终极单例模式:

class D implements Serializable{
private D(){}
private static E{
static final d=new D();
}
public static getD(){
return E.d;
}
/*
*该方法保证反序列化的时候得到原来的对象
*/
private Object getReslove(){
return getD();
}

}

Android三级缓存机制:
内存-文件-网络 三层cache机制
当根据url向网络拉取图片的时候,先从内存中找,如果内存中没有,再从缓存文件中查找,如果缓存文件中也没有,再从网络上通过http请求拉取图片。在键值对(key-value)中,这个图片缓存的key是图片url的hash值,value就是bitmap。所以,按照这个逻辑,只要一个url被下载过,其图片就被缓存起来了。

UI布局:
线性布局:横向、纵向,通过layout_weight:1,layout_width:0 屏幕适配
重要属性:

android:orientation

android:layout_weight

android:layout_width

android:layout_height

android:gravity

相对布局:
控件在内部相对位置摆放
通过id设置位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: