一个妹子网易Java岗社招面试经历分享
网易面试题
-
面向对象的特点有哪些?
-
列举几个java常用的package及其作用
-
接口和抽象类有什么联系和区别
-
重载和重写有什么区别
-
java有哪些基本数据类型?
-
Java支持的数据类型有哪些?什么是自动拆装箱?
-
int 和 Integer 有什么区别
-
数组有没有length()方法?String有没有length()方法?
-
Java中符号>>和>>>有什么区别?
-
Java类的实例化顺序
-
什么是值传递和引用传递
(1)值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量.
(2)引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。
-
String能被继承吗?为什么?
-
String和StringBuilder、StringBuffer的区别?
-
Java集合框架的基础接口有哪些?
-
Java集合框架是什么?说出一些集合框架的优点?
(1)每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。
(2)集合框架的部分优点如下:
•使用核心集合类降低开发成本,而非实现我们自己的集合类。
•随着使用经过严格测试的集合框架类,代码质量会得到提高。
•通过使用JDK附带的集合类,可以降低代码维护成本。
•复用性和可操作性。
-
HashMap 与HashTable有什么区别
-
ArrayList 和 LinkedList 有什么区别?
-
简单介绍Java异常框架
-
java中的throw 和 throws关键字有什么区别?
-
列举几个常见的运行时异常?
-
final, finally, finalize有什么区别
-
描述Java内存模型
Java虚拟机规范中将Java运行时数据分为六种:
(1)程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。
(2)Java虚拟机栈:线程私有的,与线程生命周期相同,用于存储局部变量表,操作栈,方法返回值。局部变量表放着基本数据类型,还有对象的引用。
(3)本地方法栈:跟虚拟机栈很像,不过它是为虚拟机使用到的Native方法服务。
(4)Java堆:所有线程共享的一块内存区域,对象实例几乎都在这分配内存。
(5)方法区:各个线程共享的区域,储存虚拟机加载的类信息,常量,静态变量,编译后的代码。
(6)运行时常量池:代表运行时每个class文件中的常量表。包括几种常量:编译时的数字常量、方法或者域的引用。
-
java中垃圾收集的方法有哪些?
-
常见的垃圾收集算法
(1)标记-清除(Mark-Sweep)算法
(2)复制算法
( 3)标记 -整理 (Mark-Compact) 算法
- 在JVM GC中如何判断一个对象是否可以回收?
由于平台不能直接发送面试资料等原因,有需要这份网易面经学习笔记的朋友们只需要评论+转发+关注,并且简信私信作者回复【666】即可免费获取以上面试题答案以及学习资料