欢迎来到天天文库
浏览记录
ID:10262457
大小:302.65 KB
页数:6页
时间:2018-06-14
《java基础常见面试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、JDK和jre的区别?JDK:Javadevelopmentkit包括jre和编译器等程序Jre:Javaruntimeenvironment指的是java运行时环境。负责启动虚拟机,加载和运行class文件。2、JVM:javavirtualmachineJVM是SUN公司定义的规范。3、GC:Garbagecollection垃圾回收器。没有被引用的对象需要回收。程序员不能调用GC,system.gc()是通知调用垃圾回收器。4、一个java源文件可以定义多个class(类),可以定义多个public类,但只能有一个main()方法。5、
2、Java基本8种数据类型1个字节:byte、Boolean2个字节:short、char(unicode编码,可用于存储汉字)4个字节:int、float8个字节:double、long引用数据类型4个类接口数组6、&和&&的区别:&是计算机内部二进制按位进行“与”运算,都是1才是1&&是逻辑运算理解为“且”7、乘除2的n次方使用移位运算最快8、堆区和栈区的区别栈区:先进后出存放局部变量连续的存储空间堆区:存放new出来的对象,不连续的存储空间9、自动拆箱和装箱:装箱Integera=3;编译器会自动装箱存储变量时代码变为Integera=new
3、Integer(3);拆箱:inta=newInteger(3);int是基本类型,Integer是引用类型。怎么会没区别呢?基本类型存放在栈里面,引用类型放在堆里面。装箱安全性更高。例如list只能存放引用类型,可以使用list.add(newInteger(1))存放到list里面。10、常见的异常IoException数组越界异常nullpointerExceptionClassNotFoundExceptionRuntimeExceptionNoSuchMethodException11、成员变量和静态变量成员变量:从属于对象,存放在堆如
4、果要调用需new一个对象出来。静态变量:从属于类,存放在方法区,调用时直接类.变量名12、重载和重写重载:一个方法名多个方法方法名相同参数类型、个数、顺序不同重写:子类覆盖父类的方法13包含抽象方法的类一定是抽象类抽象类不一定包含抽象方法。14、多态父类的引用指向子类对象例如Personperson=newStudent();spring中面向接口编程(Aop动态代理使用的就是多态)15、面向对象的三大特征封装继承多态16、String不可变字符,只能初始化一次,StringBuilder和StringBuffer前者线程不安全,后者线程安全。
5、17、Java不支持类之间的多继承,即一个子类只能有一个父类。单继承性使得Java简单,易于管理程序,不会出现逻辑错误以及多继承自身的缺陷。为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口,从而在另一个更合理的角度来实现纯粹的多重继承性,实现接口使用关键字implements。子类与父类之间只可以单继承,类可以实现多个接口,接口之间可以实现多继承,即一个子接口可以使用extends关键字继承多个父接口,拥有多个父类,只需用逗号将接口名一一分开即可18、若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是
6、线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。19、容器之间的关系20、map的遍历publicstaticvoidmain(String[]args){ Mapmap=newHashMap(); map.put("1","value1"); map.put("2","value2"); map.put("3","value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySe
7、t遍历key和value:"); for(Stringkey:map.keySet()){ System.out.println("key="+key+"andvalue="+map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator>it=map.entrySet().iterator(); while(it.hasNext()){ Map.Entr
8、yentry=it.next(); System.out.println("key="+entry.g
此文档下载收益归作者所有