java基础常见面试题.docx_第1页
java基础常见面试题.docx_第2页
java基础常见面试题.docx_第3页
java基础常见面试题.docx_第4页
java基础常见面试题.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 JDK和jre的区别?JDK : Java development kit 包括jre和编译器等程序Jre :Java runtime environment 指的是java运行时环境。负责启动虚拟机,加载和运行class文件。2、 JVM:java virtual machine JVM是SUN公司定义的规范。3、 GC:Garbage collection 垃圾回收器。没有被引用的对象需要回收。程序员不能调用GC,system.gc()是通知调用垃圾回收器。4、 一个java源文件可以定义多个class(类),可以定义多个public类,但只能有一个main()方法。5、 Java基本8种数据类型 1个字节: byte、Boolean 2个字节:short、char(unicode编码,可用于存储汉字) 4个字节:int、float 8个字节:double、long引用数据类型4个 类 接口 数组6、&和&的区别:&是计算机内部二进制按位进行“与”运算,都是1才是1&是逻辑运算 理解为“且”7、 乘除2的n次方使用移位运算最快8、 堆区和栈区的区别栈区:先进后出 存放局部变量 连续的存储空间堆区:存放new出来的对象,不连续的存储空间9、自动拆箱和装箱:装箱 Integer a=3;编译器会自动装箱 存储变量时代码变为 Integer a=new Integer(3);拆箱 :int a=new Integer(3);int是基本类型,Integer是引用类型。怎么会没区别呢?基本类型存放在栈里面,引用类型放在堆里面。 装箱安全性更高。例如list只能存放引用类型,可以使用list.add(new Integer(1)存放到list里面。10、常见的异常IoException 数组越界异常 nullpointerException ClassNotFoundException RuntimeException NoSuchMethodException11、成员变量和静态变量成员变量:从属于对象,存放在堆 如果要调用需new一个对象出来。静态变量:从属于类,存放在方法区,调用时直接 类.变量名12 、重载和重写重载:一个方法名多个方法 方法名相同 参数类型、个数、顺序不同重写:子类覆盖父类的方法13包含抽象方法的类一定是抽象类 抽象类不一定包含抽象方法。14、多态 父类的引用指向子类对象 例如 Person person=new Student(); spring中面向接口编程(Aop动态代理使用的就是多态) 15、面向对象的三大特征 封装 继承 多态16、String不可变字符,只能初始化一次,StringBuilder和StringBuffer前者线程不安全,后者线程安全。17、Java不支持类之间的多继承,即一个子类只能有一个父类。单继承性使得Java简单,易于管理程序,不会出现逻辑错误以及多继承自身的缺陷。为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口,从而在另一个更合理的角度来实现纯粹的多重继承性,实现接口使用关键字implements。子类与父类之间只可以单继承,类可以实现多个接口,接口之间可以实现多继承,即一个子接口可以使用extends关键字继承多个父接口,拥有多个父类,只需用逗号将接口名一一分开即可 18、若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。 19、容器之间的关系20、map的遍历public static void main(String args) Map map = new HashMap();map.put(1, value1);map.put(2, value2);map.put(3, value3);/第一种:普遍使用,二次取值System.out.println(通过Map.keySet遍历key和value:);for (String key : map.keySet() System.out.println(key= + key + and value= + map.get(key);/第二种System.out.println(通过Map.entrySet使用iterator遍历key和value:);IteratorMap.Entry it = map.entrySet().iterator();while (it.hasNext() Map.Entry entry = it.next();System.out.println(key= + entry.getKey() + and value= + entry.getValue();/第三种:推荐,尤其是容量大时System.out.println(通过Map.entrySet遍历key和value);for (Map.Entry entry : map.entrySet() System.out.println(key= + entry.getKey() + and value= + entry.getValue();/第四种System.out.println(通过Map.values()遍历所有的value,但不能遍历key);for (String v : map.values() System.out.println(value= + v);当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。22、set的遍历1. 1.迭代遍历:2. Setset=newHashSet();3. Iteratorit=set.iterator();4. while(it.hasNext()5. Stringstr=it.next();6. System.out.println(str);7. 8. 9. 2.for循环遍历:10. for(Stringstr:set)11. System.out.println(str);12. 13. 14. 15. 优点还体现在泛型假如set中存放的是Object16. 17. Setset=newHashSet();18. for循环遍历:19. for(Objectobj:set)20. if(objinstanceofInteger)21. intaa=(Integer)obj;22. elseif(objinstanceofString)23. Stringaa=(String)obj24. 25. .26. 22、冒泡排序public static void main(String args) int array=2,1,4,10,3,8,6,5;sort(array);System.out.println(Arrays.toString(array);public static void sort

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论