`

总结Java常见的面试题

    博客分类:
  • Java
 
阅读更多

1.面向对象的特征有哪些?

(1)抽象    (2)继承    (3)封装     (4)多态

 

2.final,finally,finalize的区别?

final用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖、类不可被继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,比如关闭文件等。 

 

3.Collection和Collections的区别:

Collection是集合类的上级接口,继承他的接口主要有Set和List。

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

 

4. & 和 && 的区别:

& 是位运算符,表示按位与运算。

&& 是逻辑运算符,表示逻辑与(and)。

 

 5.是否可以在static环境中访问非static变量?

静态方法中可以直接调用同类中的静态成员,但是不能直接调用非静态成员。

如果希望在静态方法中用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

public class Helloworld{
    String name = "i  am China";  //非静态变量name
    static String hobby = "i am OK";  //静态变量hobby
    public static void print(){
        System.out.println(hello.name);
        System.out.println(hobby);
    }
    //在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
    public void show(){
        System.out.println(name);
        System.out.println(hobby);
    }
    //静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
    public static void main(String[] args){
        Helloworld hello = new Helloworld();
        hello.show();
        print();
    }
}

6.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

7.接口和抽象类的区别是什么?

Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:

  • 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。
  • 类可以实现很多个接口,但是只能继承一个抽象类
  • 类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。
  • 抽象类可以在不提供接口方法实现的情况下实现接口。
  • Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。
  • Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。
  • 接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的
  • 8.进程和线程的区别是什么?
  • 进程是执行着的应用程序,而线程是进程内部的一个执行程序。一个进程可以有多个线程。线程又叫做轻量级进程。

9.什么是死锁(deadlock)?

两个进程都在等待对方执行完毕才能继续往下执行的时候就会发生了死锁。结果就是两个进程都陷入了无限等待中。

 

10.Java集合类框架的基本接口有哪些?

java集合类提供了一套设计良好的支持对一组对象进行操作的接口和类。Java集合类里面最基本的接口有:

·Collection:代表一组对象,每一个对象都是它的子元素。

·Set:不包含重复元素的Collection。

·List:有顺序的collection,并且可以包含重复元素。

·Map:可以把键(key)映射到值(value)的对象,键不能重复。

 

11.Java中HashMap的工作原理是什么?

Java中的HashMap是以键值对(key-value)的形式储存元素的。HashMap需要一个hash函数,它使用hashCode()和equales()方法来向集合/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中适合的索引上。如果key已经存在了,value会被更新成新值。HashMap的一些重要的特性是它的容量(capacity),负载因子(load factor)和扩容极限(threshold resizing)。

 

12.Array和ArreyList的不同点是什么?

·Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。

·Array大小是固定的,ArrayList的大小是动态变化的。

·ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等。

·对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢。

 

13.Java中垃圾回收有什么目的?什么时候进行垃圾回收?

垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源。

 

分享到:
评论

相关推荐

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    java常见面试题(史上最全最经典-希望对你有用)

    在这里,我们总结了Java常见的面试题,涵盖了Java的基础部分,包括基本语法、类相关的语法、内部类的语法、继承相关的语法、异常的语法、线程的语法、集合的语法、IO的语法、虚拟机方面的语法等。 1. Java基础部分 ...

    10万字总结java面试题和答案

    Java 10万字总结java面试题和答案 其包含的内容模块有:基础、JVM、多线程与高并发、Spring、MyBatis、SpringBoot、MYSQL、SpringCloud、Dubbo、Nginx、MQ、数据结构与算法、Linux、Zookeeper、Redis、分布式、网络...

    2023最新JAVA面试题集

    最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 35道 BTA 常问的 Java基础39道常见面试题及详细答案 Dubbo面试题 47道 ElasticSearch面试题 30道 Git常用命令面试题 60道 Java并发...

    java面试100题及面试技巧总结

    java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 java面试100题及面试技巧总结,自己整理总结的java面试技巧及面试题。 ...

    最新各大公司企业真实面试题-Java面试题

    本压缩包包含了一系列由IT资深专家单兴华整理的最新各大公司企业的真实Java面试题,旨在帮助求职者提升自己的技术水平和面试准备。 首先,我们来看"java练习题2.doc",这可能是针对基础语法和编程技巧的练习,涵盖...

    10万字208道Java经典面试题总结(附答案).pdf

    Java编程语言作为软件开发的核心技术之一,面试题的掌握对于求职者来说至关重要。这份10万字的PDF文档包含了208道Java经典面试题,旨在帮助开发者们系统地复习和提升自己的技能,以应对包括阿里、腾讯、字节跳动、...

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题笔试WORD资料汇总(19个).zip

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题 JAVA笔试面试WORD资料汇总(19个): 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者...

    java面试题总结资料

    这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),变量的声明与使用,以及运算符的优先级。同时,要熟悉...

    机构应届毕业生-java企业面试题总结

    机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----...

    java中高级面试题十大总结

    Java作为一门广泛使用的编程语言,其中高级面试题往往涵盖了多方面的知识点,旨在考察候选人的技术深度和广度。以下是对这些面试题的详细解析: 1. **内存管理与垃圾回收** - Java的内存分为堆内存(Heap)和栈...

    java经典面试题

    ### Java经典面试题知识点 #### Java数据结构容器 - **核心知识点**:Java集合框架,包括List、Set、Map等接口及其实现类。List接口代表有序的集合,例如ArrayList和LinkedList;Set接口代表不允许重复元素的集合,...

    Java面试题,10万字208道Java经典面试题总结(附答案)

    以下是一些Java面试中常见的知识点: 1. JDK和JRE的区别: JDK(Java Development Kit)是Java开发工具包,它包含了编写、编译和调试Java应用程序所需的所有工具,包括JRE(Java Runtime Environment)。JRE则是...

    Java常见数据结构面试题(带答案)

    以下是对Java常见数据结构面试题的知识点总结: 栈和队列 * 栈和队列的共同特点是只允许在端点处插入和删除元素。 * 栈通常采用的两种存储结构是线性存储结构和链表存储结构。 * 栈的特点是后进先出,但它不是非...

    sql面试题,JAVA常见面试题120道

    在准备Java和SQL面试时,理解并掌握这两个领域的核心概念是至关重要的。...同时,文档“java面试常见问题 120道.doc”和压缩包中的“sql试题.rar”将提供具体的题目和解答,进一步巩固你的理解和应用能力。

    10万字总结java面试题和答案(八股文之二).pdf

    以下是针对Java面试题的一些关键知识点的详细解析: 1. **Java语言特点**: - **简单易学**:Java设计时考虑了C++的复杂性,简化了许多语法,使得学习曲线较为平缓。 - **丰富的类库**:Java拥有庞大的标准类库,...

    java经典面试题汇总(精华版).pdf

    ### Java经典面试题汇总 #### 一、面向对象与面向过程的区别 **面向对象**与**面向过程**是编程中两种不同的思想模式。 1. **面向过程**: - **特点**:关注解决问题的具体步骤和流程。 - **示例**:如洗衣服的...

    10万字总结java面试题和答案.pdf

    这份文档是一份关于Java面试题目的总结,其中包含了面试基础篇的详细内容。它针对Java语言特点、面向对象与面向过程的区别、Java基本数据类型及其封装类、标识符命名规则、instanceof关键字的作用以及Java自动装箱与...

    2020年java常见面试题汇总%28附答案%29.pdf

    干货资源推荐: JVM干货调试视频教程分享 ...2020年java常见笔试面试题汇总(附答案)!!! 本资源整理自互联网,仅供学习交流使用,请勿商用,坚持每日分享一套Java学习资源干货,一起提高,一起进步!!!

    Java常见面试题 pdf.pdf

    以上是对Java常见面试题中涉及的一些关键知识点的总结。这些知识点不仅对于准备面试的人来说非常重要,同时也是深入理解Java编程的基础。希望这些内容能够帮助读者更好地掌握Java的核心概念和技术。

Global site tag (gtag.js) - Google Analytics