1.传值和传引用的区别。
首先基本参数类型传值,对象类型是传引用,形参数传值的都不会改变实参的值,传引用,改变里面成员值 eg: model.s=8 或者改变属性通过String s=s.append()类似的方法改变时。String s 形参为 s 这种传递不会改变实参的值。
2.equls和==,= 区别 && 和&区别。
equls 比较的是内容,==比较的是地址
比如
String s1=new ('you are sb');
String s2=new("you are sb ");
利用equls 比较是true 而用 == 为FALSE 。
两次new 建立的对象的地址肯定不一样 。
3,什么是单例模式是什么?单例的几种写法。
使用 singleton模式 这个类被创建后,只能提供一个实例供外部使用。
两种方式:
public class SingletonTest(){
private SingletonTest(){
}
private static final Singleton instance=new SingletonTest();
public static SingletonTest getInstance(){
return instance;
}
} 缺点:加载的时候就会初始化static 的instance ,消耗内存,不存在多线程同步的问题。
public class SingletonTest(){
private SingletonTest(){};
private static volatile SingletonTest instance;
public static SingletonTest getinstance(){
if(instance=null){
synchronized (SingletonTest.class){
if(instance=null){
instance=new SingletonTest();
}
return instance;
}
}
}
}
最优的解决方案,内存占用最低,线程安全,多线程操作原子性。
4.什么断言。???目前的面试还没有碰见过。。。