java面试题基础(一)

1.jvm,jre,jdk的区别?

jvm是java虚拟机,是能够执行java字节码文件的虚拟机进程,jre包括核心类库的jvm,jdk是供开发人员使用的,其中包括了java的开发工具,也包括了jre。

2.如何环境变量?

创建新的变量名称JAVA_HOME,为JAVA_HOME添加新的变量值,jdk的安装目录,在path环境变量下添加%JAVA_HOME%in

3.java的数据类型?

分为基本数据类型和引用数据类型,基本数据类型分为四类,整型、浮点型、字符型和布尔型,int(32),float(32),long(64),double(64),short(16),byte(8),char(16),boolean(8),
引用数据类型常见的有类、接口和数组。

4.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

static关键字是静态的,被static修饰的方法不能被覆盖,被private修饰的方法只能在本类使用不能够被覆盖。

5.override和overload的区别?

override是重写,重写发生在继承中,是对方法的重新编写,overload是重载,重载发生在方法中,方法名相同,但是参数列表不一样,极大地减少了方法的命名。

6.接口和抽象类的区别?

从定义上来说,接口是抽取特有的属性和方法,而抽象类是抽取公有的属性和方法,从功能上来说,接口中的方法都是抽象的
,而抽象类中既可以有抽象方法也可以有非抽象方法,类可以实现很多个接口,而只能继承一个抽象类,接口中的变量默认都
是final修饰的,接口中的方法是public修饰的,而抽象类可以是private,protected和public修饰。

 7.进程和线程的区别?

线程是资源分配的最小单位,进程是程序执行的最小单位,进程是执行着的应用程序,而线程是进程内部的一个执行序列,一个进程可以有多个线程,线程又叫做轻量级进程。

8.java集合类框架基本接口有哪些?

collection是单列集合的父接口,包括list和set,list包括ArrayList和linkedlist,ArrayList的底层是数组,
特点是查询快,增删慢,linkedlist的底层是链表,特点是查询慢,增删快,set集合主要包含hashset和treeset,
hashset的底层是哈希表,而treeset的底层是平衡树。set集合无序无索引不可重复,map是双列集合,map主要包括
hashmap和hashtable和treemap,hashmap是线程不安全的,但是效率高,hashtable是线程安全的,效率低。

9.java的三大特性?

封装、继承和多态,封装是把对象的属性和方法结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,在java中对于对象的属性
一般用private来实现隐藏,通过get和set方法提供对外访问,继承就是子类继承父类的属性和方法,提高代码的复用性,子类继承父
类将可以获得父类的公有属性和方法,多态是父类引用指向子类对象。

10.Java中hashmap的工作原理?

Java中hashmap是以键值对的形式存储在集合中的,hashmap是需要一个hash值,它使用hashcode()和equals()方法从集合中添加和检索元素,
当调用put()方法的时候,hashmap会计算key和hash值,然后把键值对存储在集合中合适的索引上,如果key值已经存在了value就会被更新成新值。

一点点学习,一丝丝进步。不懈怠,才不会被时代所淘汰!

原文地址:https://www.cnblogs.com/fqh2020/p/11574911.html