Java经典面试题(一)
1.在 Java 中类的定义在 Java 中,类是用于创建对象和定义数据类型的模板。 它充当面向 Java 语言的系统的构建块。
2.静态加载和动态加载有什么区别?静态类加载涉及使用新关键字来创建对象和实例,而动态加载是在编译时不知道类的名称的场景执行的。
3. 什么是多线程多线程是一种编程概念,用于在单个程序中以并发方式运行多个任务。
4. 何时以及是谁开发的 Java ?Java 由 James Gosling 于 1995 年在 Sun Microsystem 中开发。
5. JDK,JRE 和JVM 分别代表什么?
- JVM 代表 Java 虚拟机
- JRE 代表 Java Runtime Environment
- JDK 代表 Java Development Kit
6. Java 中使用指针吗?不,Java不使用指针。 它具有严格的安全性。 而不是指针,Java中使用引用,因为与指针相比,它们更安全,更安全。
7.如何使用Java连接数据库?使用Java连接数据库的步骤如下:
- 注册驱动程序类
- 创建连接
- 创建声明
- 执行查询
- 关闭连接
8. JVM和JRE的功能是什么?JVM 为要执行的 Java 字节代码提供运行时环境。 JRE 包括 JVM 在运行时期间所需的文件集。
9.重载和覆盖(重写)有什么区别?当有两个名称相同但属性不同的方法时,它会重载。 当有两个具有相同名称和属性的方法时,会发生覆盖,一个在子类中,另一个在父类中。 查看此帖子以获得更深入的分析。
10.哈希基于集合的负载因子的默认大小是多少?默认大小为0.75,默认容量计算如下: 初始容量*负载因子
11.什么是包?包是相关类和接口的集合。
12.所有异常类的基类是什么?Java.lang.Throwable 是所有异常类的超类,所有异常类都是从这个基类派生的。
13. equals()和= =之间有什么区别?equals()方法用于检查业务逻辑定义的两个对象的相等性。 == 或等于运算符用于比较基元和对象。
14.说两个内部类和子类之间的差异Inner类在同一个文件中,子类可以在另一个文件中。 考虑到这一点,虽然子类具有其父类的方法,但内部类获取他们想要的方法。
15.如何用Java定义析构函数?由于Java有自己的垃圾收集,因此不需要定义析构函数。 垃圾收集机制自动执行对象的回收。
16. JSON定义JSON是JavaScript Object Notation的首字母缩写。 它使用JavaScript语法,格式仅为文本。
17.列举Java最重要的特性Java是一种独立于平台的语言。
18.什么是匿名类?使用new关键字在单行代码中没有名称定义的类称为匿名类。
19.什么是JVM?JVM是Java虚拟机,它是已编译的Java类文件的运行时环境。
20.死去的线程可以重新开启吗?不,处于死状态的线程无法再次启动。
21. 数组是原始数据类型吗?不,在Java中,数组是对象。
22.什么是Java中的构造函数?在Java中,构造函数是用于初始化对象的代码块。
23.有哪些类型的构造器?有两种类型的构造函数: 1.默认构造函数: 没有参数的构造函数称为默认构造函数。 如果我们没有在类中定义构造函数,编译器会为该类创建一个默认构造函数(没有参数),如下所示:
// no-argument constructor
importjava.io.*;
class Sprint{
intnum;
String name;
// this would be invoked while object
// of that class created.
Sprint(){
9 System.out.println("Constructor called");
}
}
class Z{
13 public static void main (String[] args){
// this would invoke default constructor.
Sprint zeal1 = new Sprint();
16 // Default constructor provides the default
17 // values to the object like 0, null
18 System.out.println(zeal1.name);
19 System.out.println(zeal1.num);
}
}
参数化构造函数 参数化构造函数具有已知参数的构造函数是参数化构造函数。 如果我们想用自己的值初始化类的字段,那么使用*参数构造函数。
// Java Program to illustrate calling of
// parameterized constructor.
import java.io.*;
4
class Sprint{
6
// data members of the class.
String name;
int id;
// contructor would initialized data members
// with the values of passed arguments while
// object of that class created.
Sprint(String name, int id){
this.name = name;
this.id = id;
}
}
class Z{
20
public static void main (String[] args){
// this would invoke parameterized constructor.
Sprint zeal1 = new Sprint("adam", 1);
System.out.println("Sprint Name :"+ zeal1.name +" and Sprint Id :" + zeal1.id);
}
}
24.解释Java中的垃圾收器。在Java中,当不再使用或引用对象时,将调用垃圾收集并自动销毁对象。
25.堆栈和队列之间有什么区别?堆栈和队列之间的区别在于堆栈基于后进先出(LIFO)原则,而队列基于FIFO(先进先出)原则。
Java经典面试题(一)的更多相关文章
- 2019年19道java经典面试题(附答案)
1.不可变对象 指对象一旦被创建状态不能再改变.任何修改都会创建一个新的对象,如 String.Integer及其它包装类. 2.能否创建一个包含可变对象的不可变对象? 可以.不要共享可变对象的引用就 ...
- 115道Java经典面试题(面中率最高、最全)
115道Java经典面试题(面中率最高.最全) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可 ...
- LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成
今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...
- Java经典面试题+答案(全)
这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试. 1.一个".java"源文件中是否可以包括多 ...
- BATJ等公司必问的8道Java经典面试题,你都会了吗?
1.谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗? 考点分析: 对于这类笼统的问题,你需要尽量表现出自己的思维深入并系统化,Java 知识理解得也比较全面,一定要避免让面试官 ...
- BAT等公司必问的8道Java经典面试题,你都会了吗?
工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面原因: 1.“知其然不知其所以然”.做了多年技术,开发了很多业务应用,但似乎并 ...
- Java经典面试题-不古出品
@ 目录 一.Java 基础 1.JDK 和 JRE 有什么区别? 2.== 和 equals 的区别是什么? 3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? ...
- Java经典面试题
1. Java中的异常处理机制的简单原理和应用. 当Java 程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是Java类库内置的语义检查. ...
- Java经典面试题及详解
Java基础方面: 1.作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package ...
随机推荐
- 【转】运维DBA的4大纪律9项注意
朋友们调侃说,运维是个把脑袋别在裤腰带上的活,更有人说,运维是个把脑袋别在他人裤腰带上的活,苦劳没人认,有锅就有得背! 测试的同学说,“吃瓜群众很难感知运维背后的付出,倒是出了事情更能体现我们的专业性 ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '***' (2)
有时候,当我们使用“mysql”.“mysqladmin”.“mysqldump”等命令管理数据库时,服务器抛出类似如下错误: ERROR (HY000): Can't connect to loca ...
- Ubuntu下安装kate编辑器
Ubuntu下安装kate编辑器 Ubuntu 下安装kate编辑器 #sudo apt-get install kate 安装kconsole #sudo apt-get install kco ...
- IEDA序列化设置
- 使用python调用shell判断当前进程是否存在
使用subprocess模块判断当前进程是否存在 #! /usr/bin/env python import subprocess res = subprocess.Popen(r'ps -ef |g ...
- 字符转ASCII码
char k = '成'; int str = (int)k; Console.WriteLine(str); 结果25104就是‘成’对应的ASCII值
- linux操作系统中oracle数据库的密码过期问题解决
1:首先确定linux登录的用户是root 切换到数据库用户 su oracle(切记,如果这里su oracle不可以,那么就使用此命令su - oracle,这个命令切换到数据库用户肯定可以成功. ...
- 安装和强行卸载fuse
先卸载 yum list fuse yum --setopt=tsflags=noscripts remove fuse.x86_64 安装 yum install automake gcc-c++ ...
- (1).NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型
开发工具:VS2017 .Net Core 2.1 什么是微服务?单体结构: 缺点:1)只能采用同一种技术,很难用不同的语言或者语言不同版本开发不同模块:2)系统耦合性强,一旦其中一个模块有问题,整个 ...
- URL地址编码和解码
0. 参考 [整理]关于http(GET或POST)请求中的url地址的编码(encode)和解码(decode) python3中的urlopen对于中文url是如何处理的? 中文URL的编码问题 ...