没有合适的资源?快使用搜索试试~ 我知道了~
首页阿里面试题库(java高级研发工程师).docx
资源详情
资源评论
资源推荐

一、 中的几种基本数据类型是什么,各自占用多少字节。
Int(32bit)、short(16bit)、long(64bit)、byte(8bit)、char(16bit)、oat(32bit)、doubl
e(64bit)、boolean(1bit)
二、 类能被继承吗,为什么。
不可以,因为 String 类有 nal 修饰符,而 nal 修饰的类是不能被继承的,实现细节不允许
改变。
三、 ,, 的区别。
如果要操作少量的数据用 String,多线程操作字符串缓冲区下操作大量数据 StringBuer;单线程
操作字符串缓冲区下操作大量数据 StringBuilder。当对字符串进行修改的时候,需要使用 StringBuer
和 StringBuilder 类。和 String 类不同的是,StringBuer 和 StringBuilder 类的对象能够被多次的
修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuer 之间的最大不同在于 StringBuilder 的方法
不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuer 有速度优势,所以多数情
况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuer 类。
四、 和 有什么区别。
对 ArrayList 和 LinkedList 而言,在列表末尾增加一个元素所花的开销都是固定的。对 ArrayList
和 LinkedList 而言,在列表末尾增加一个元素所花的开销都是固定的。对 ArrayList 而言,主要是在内
部数组中增加一项,指向所添加的元素,偶尔可能会导致对数组重新进行分配;而对 LinkedList 而言,
这个开销是统一的,分配一个内部 Entry 对象。
在 ArrayList 的 中 间 插 入 或 删 除 一 个 元 素 意 味 着 这 个 列 表 中 剩 余 的 元 素 都 会 被 移 动 ; 而 在
LinkedList 的中间插入或删除一个元素的开销是固定的。
LinkedList 不支持高效的随机元素访问。
ArrayList 的 空 间 浪 费 主 要 体 现 在 在 list 列 表 的 结 尾 预 留 一 定 的 容 量 空 间 , 而
LinkedList 的空间花费则体现在它的每一个元素都需要消耗相当的空间
可以这样说:当操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机
地访问其中的元素时,使用 ArrayList 会提供比较好的性能;当你的操作是在一列数据的前
面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用 LinkedList 了。
五、 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函
数,字段,当 的时候,他们的执行顺序。
父类静态变量、父类静态代码块、 子类静态变量、 子类静态代码块、 父类非静
态变量(父类实例成员变量)、 父类构造函数、 子类非静态变量(子类实例成员变
量)、 子类构造函数。
六、 用过哪些 类,都有什么区别, 是线程安全的吗并发下使用的 是什
么,他们内部原理分别是什么,比如存储方式,,扩容,默认容量等。
的 为什么放弃了分段锁,有什么问题吗,如果你来设计,你
如何设计,有没有有顺序的 实现类,如果有,他们是怎么保证有序的。
、 、 、、、
它是线程不安全的 ,方法上都没有 ! 关键字修饰。多线程场景下使
用 ,其在 "#$%&#$' 中的主要实现原理是 ( 段锁,它不再使用和
一样的 ! 一样的关键字对整个方法进行枷锁,而是转而利用 ( 段










安全验证
文档复制为VIP权益,开通VIP直接复制

评论0