Java 面试问题

来源:互联网 发布:怎么下载淘宝app 编辑:程序博客网 时间:2024/06/06 05:20
说说&和&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
抽象类的特点:
1.方法只有申明没有实现时,该方法是抽象方法,需要被abstract修饰。抽象方法必须定义在抽象类中,该类必须被abstract修饰
2. 抽象类不能被实例化,因为类中的抽象方法没有意义
3. 抽象类必须由子类覆盖所有的抽象方法,该子类才可以实例化,否则该子类也是抽象类
4.抽象类有构造函数,用于对子类进行初始化
5.抽象类可以不定义抽象方法,但少见,目的是不让该类创建对象。AWT的适配器对象就是这种类
6. abstract关键字不可以和private,static,final 关键字共存


抽象类和一般类的异同点
1.相同点 都是用来描述事物的,都在内部定义成员
2.不同点  一般类有足够的的信息描述事物,而抽象类信息可能不足
一般类中不能定义抽象方法,只能定义非抽象方法
 抽象类可以定义抽象方法和非抽象方法
一般类可以被实例化而抽象类不能
抽象类一定是一个父类
接口
接口中的常见的成员有固定的修饰符
1.全局常量:public static final
2.抽象方法:public abstract


接口的特点


接口是对外暴露的规则


接口是程序的扩展
接口的出现降低耦合性
接口可以用来多实现
类与接口是实现关系,类可以继承一个类的同时实现多个接口
接口与接口之间可以有继承关系(多继承)


抽象类和接口异同
1.相同点
都是不断向上抽象而来
2.不同点
抽象类需要被继承,接口需要被实现
抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非就抽象方法。接口只能定义抽象方法, 必须由子类实现
抽象类的继承是is-a 关系,定义该体系的共性内容
接口的实现是like-a 关系,定义体系的额外功能


多态特点


1. 成员变量
编译时: 参考引用型变量所属的类中是否有要调用的成员变量,有编译通过,没有,编译失败
运行时: 参考引用型变量所属的类中是否有要调用的成员变量,并运行该类中所属的成员变量
简单说: 编译和运行都参考等号左边


2. 成员函数(非静态)
编译时:参考引用类型变量所属的类中是否有要调用的成员函数,有编译通过,没有编译失败
运行时:参考的是对象所属的类中是否有调用的函数
简单说: 编译看左边,运行看右边


3. 静态函数(不涉及多态性,不涉及对象,用类名调用即可)


编译时: 参考引用型变量所属的类中是否有要调用的静态方法,有编译通过,没有,编译失败
运行时:参考引用型变量所属的类中是否有要调用的静态方法,并运行该类中所属的的静态方法
简单说: 编译和运行都参考等号左边


内部类访问特点


1.内部类可以直接访问外部类的成员,包括私有成员
2.外部类要访问内部类的成员必须建立内部类的对象


异常的注意事项


1.子类在覆盖父类方法时,父类的方法如果抛出了异常,那么子类的方法只能抛出父类异常和该异常的子类
2. 如果父类抛出多个异常,那么子类只能抛出父类异常的子集
简单说:子类覆盖父类只能抛出父类异常或子异常或者父类异常子集
如果父类没有异常抛出,子类不能抛出异常,只能try


线程安全问题
原因:
1. 多个线程在操作共享数据
2.操作共享数据的线程有多条
当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算,就会导致线程安全问题的产生。
非静态同步函数的锁是this
静态同步函数的锁是ClassName.class


seep 和wait区别
1. wait 可以指定时间,也可不指定,sleep必须指定
2.在同步中wait,sleep都释放执行权,但sleep不释放锁,wait释放锁。


停止线程
1. stop方法(不安全,已过时)
2.run方法结束,控制循环:设置标记结束任务循环
3.interrupt() 将线程从冻结状态强制恢复到运行状态,让线程具备CPU执行资格。当强制执行时会发生InterruptedException,记得要处理。
 
DOM 和SAX解析XML区别                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
1. DOM解析的优点是对文档CRUD比较方便,一次加载文档进内存,内存使用较大
2.SAX解析速度快,占用内存少,但只适合读取,不适合做CRUD。


调整JVM大小
设置虚拟机的运行内存为80M
-Xmx83886080
-Xmx81920k
-Xmx80m
0 0
原创粉丝点击