1. java对象、类、字符串等基础包括相关的JVM知识
字符串
<span>String、StringBuffer以及StringBuilder的区别</span>
<span>char能不能储存一个汉字</span>
<span> </span><span>将GB2312编码的字符串转换为ISO-8859-1编码的字符串</span>
正则表达式
<span>简述正则表达式及其用途。</span><span> </span>
<span>Java中是如何支持正则表达式操作的?</span><span> </span>
什么情况下用+运算符进行字符串连接比调用StringBuffer/StringBuilder对象的append方法连接字符串性能更好?
对象与类
对象
<span>面向对象的特征</span>
封装
多态
继承
<span>对象的生命周期</span>
创建阶段
使用阶段
不可见状态阶段
不可到达状态阶段
收集阶段
终结阶段
内存重新分配阶段
<span>如何实现对象的克隆</span>
<span>Java初始化顺序</span>
获得一个类的类对象有哪些方式?
<span> </span><span>如何通过反射获取和设置对象私有字段的值?</span><span> </span>
<span> </span><span>如何通过反射调用对象的方法?</span><span> </span>
可变对象与不可变对象的区别
类
<span> 类的生命周期</span>
加载
初始化
使用
卸载
<span>描述一下JVM加载class文件的原理</span>
<span>静态嵌入类与内类的异同</span>
<span> 内部类可以访问外部类的私有成员吗?</span>
类与对象的区别
基础知识
<span>访问修饰符的区别</span>
<span> int类型与Integer的区别</span>
<span> &与&&或者|与||区别</span>
<span> 最有效的方法计算2*8</span>
<span> 值传递与引用传递</span>
<span> 当一个对象被当做参数传递的时候是属于值传递还是对象传递</span>
<span>为什么不能根据返回类型来区分重载</span>
<span>抽象和接口的异同</span>
<span>阐述静态变量与实例变量的区别</span>
<span>final关键字的用法</span>
<span>Error和Exception有什么区别?</span>
<span>try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行</span>
<span> </span><span>Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用</span>
<span> </span><span>运行时异常与受检异常有何异同</span>
<span>列出一些你常见的运行时异常</span>
<span>阐述final、finally、finalize的区别</span>
<span>Java中如何实现序列化,有什么意义</span>
JVM
程序计数器
栈
本地方法栈
堆
方法区
<span>描述一下JVM加载class文件的原理</span>
<span> java会存在内存溢出吗?请简单描述</span>
<span> 什么是GC?为什么要有GC</span>