首页 > 编程知识 正文

前端程序员面试笔试宝典pdf下载(java程序员面试笔试宝典下载)

时间:2023-05-04 14:23:54 阅读:69557 作者:3850

JAVA基础: 1. JDK和JRE有什么区别? JDK:Java开发工具包的简称。 Java开发工具包提供了Java的开发和运行环境。

JRE:Java运行时环境的简称。 Java运行环境提供了运行Java所需的环境。 具体而言,JDK实际上包含JRE。 它还包括编译Java源代码的编译器Javac。 它还包含许多用于调试和分析Java程序的工具。 简单来说,如果需要运行Java程序,只需要安装JRE即可。 如果需要编写Java程序,则必须安装JDK。 2. Java内存区域Java虚拟机在运行Java程序时,将管理的内存划分为几个不同的数据区域。 Java虚拟机规范将JVM管理的内存划分为程序计数器、Java虚拟机堆栈、本地方法堆栈、Java堆和元数据区域。 在JDK8之前,Hotspot中的方法区域实现是永久层代(Perm ),JDK8开始使用元空间(Metaspace ),以前永久层代的所有内容的字符串常量移动到堆内存,其他内容移动到元空间,然后存储为什么要用元空间代替永久世代的实现? 1 .字符串存在于永久世代中,容易发生性能问题和内存溢出。 2 .类和方法的信息等很难确定大小,所以永久世代的大小很难指定,太小容易发生永久世代的溢出,太大容易发生旧的年代的溢出。 3 .永久一代给GC带来不必要的复杂性,回收效率低。 把热点和JRockit合二为一。 3 .与3.==equals的区别是什么?==对于基本类型是值比较,而对于引用类型是比较的是引用的equals,缺省情况下是引用比较。 但是,由于许多类(如String和Integer )都在重新评估equals方法并将其作为值比较,因此equals通常比较值是否相等。 4. final在Java中起着什么作用?

final限定的类称为最终类,不能继承。 无法重写final修饰的方法。 用final限定的变量称为常数,常数必须初始化,初始化后不能更改值。 5. String类的一般方法有那些吗? 索引of ) :返回指定字符的索引。 charAt () :返回指定索引处的字符。 replace () :替换字符串。 trim () :移除字符串两端的空白。 split ) :拆分字符串并返回拆分后的字符串数组。 getBytes () :返回字符串的byte类型数组。 length () :返回字符串的长度。 toLowerCase (:将字符串转换为小写。 toUpperCase (:将字符串转换为大写。 substring () :剪切字符串。 equals () :字符串比较。 6. Java容器有哪些? Java容器分为两个类别: Collection和Map,下面有许多子类别。 如下所示: Collection List、ArrayList、LinkedList、Vector、Stack、Set、HashSet、LinkedHashSet、TreeSet Map HashMap、linked 3、在存储空间上,链表具有指针字段,因此存储密度不大于数组; 4、按顺序查找时,数组可以随机访问,时间复杂度为o(1),但链表不支持随机访问,平均需要o(1 )。 5、按值查找时,如果数组无序,数组和链表的时间复杂度均为o(1),但数组有序时,可采用折半搜索将时间复杂度降低到o ) O(logn ); 6、插入和删除时,数组平均需要移动n/2个元素,但链表只需修改指针;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。