JAVA 面试题 TOP100
1. 说说JAVA中的几种基本类型,各占用多少字节? 2. String能被继承吗?为什么? 3. 说说String, Stringbuffer, StringBuilder 的区别? 4. 说一下ArrayList 和 LinkedList 有什么区别? 5. HashMap 是线程安全的吗,并发下使用的 Map 是什么? 6. 说一下讲讲类的实例化顺序过程? 7. 深入理解Java类实例化时jvm执行顺序 8. 说一下抽象类和接口的区别? 类可以继承多个类么?接口可以继承多个接口么?类可以实现多个接口么? 9. 说一下继承和聚合的区别是什么? 10. 说说什么是java的反射? 11. 反射机制常用的api有哪些? 12. 说说Java反射机制有哪常用功能? 13. 讲一下java静态代理和动态代理分别是什么? 14. Class.forName 和 ClassLoader 区别是什么? 15. 说一下动态代理实现的几种方式? 16. 说一下java 的final关键字? 17. 实现单例模式有哪些常见方法? 18. 单例模式(懒汉模式)线程安全问题 19. 如何在父类中为子类自动完成所有的 hashcode 和 equals 实现?这么做有何优劣 20. 说说java的访问修饰符都有哪些? 21. 说一下java 深拷贝和浅拷贝区别? 22. 说说error 和 exception 的区别?CheckedException,RuntimeException 的区别? 23. 说下java的Exception的种类?经常遇到的都有哪些? 24. 说出5个常见的运行时异常? 25. java泛型的存在是用来解决什么问题? 26. 说说hashcode和equals方法有什么关系? 27. 两个不相等对象的 hashcode 是否可能相同? 28. 说说JDK 和 JRE 有什么区别 29. 说说 == 和 equals 的区别是什么 30. 说一下java 中的 Math.round(-1.5) 等于多少 31. 手撕 一个字符串反转方法 32. 说说 String 类的常用方法都有那些? 33. 抽象类必须要有抽象方法吗? 34. List、Set、Map 之间的区别是什么? 35. 如何实现数组和 List 之间的转换? 36. ArrayList 和 Vector 的区别是什么? 37. Array 和 ArrayList 有何区别? 38. 在 Queue 中 poll()和 remove()有什么区别? 39.  哪些集合类是线程安全的? 40. 迭代器 Iterator 是什么? 41. Iterator 怎么使用?有什么特点? 42. Iterator 和 ListIterator 有什么区别? 43. synchronized 和 volatile 的区别是什么? 44. 什么情况下会发生栈内存溢出? 45. 简单说说JVM内存模型? 46. 谈谈java的栈和堆的区别? 47. 说一下java堆中的数据分区? 48. 简述一下jvm的gc过程? 49. jvm内存相关常用参数有哪些? 50. 简单说下jvm的垃圾回收器有哪些? 51. jvm垃圾回收GC Root是什么? 52. 业务中常用的gvm参数有哪些? 53. 简单说说g1 和 cms 区别? 54. 请解释如下 jvm 参数的含义 55. 32位系统jvm堆内存如下哪一个设置是最大且有效的? 56. 简单讲讲 tomcat 结构,以及其类加载器流程 57. tomcat 如何调优,涉及哪些参数。 58. java 中 IO 流分为几种? 59. 简单说下Spring 加载流程? 60. 讲讲 Spring 事务的传播属性? 61. Spring 如何管理事务的?

Iterator 怎么使用?有什么特点?


Java中的Iterator功能比较简单,并且只能单向移动:

 

(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,公共基类Collection提供iterator()方法。

(2) 使用next()获得序列中的下一个元素。

(3) 使用hasNext()检查序列中是否还有元素。

(4) 使用remove()将迭代器新返回的元素删除。

Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。