面试于2014年2月27日更新

Java异常处理中的Throw和Throws有什么区别?

你盯着问你这个问题并思考的人,我应该知道这个!但在那一刻,你不能再记得,然后在精神上踢自己以便不准备你的面试。

好事只是一个假的情景,你肯定能够回答这个问题,当时到来时更多!

招聘Java程序员的典型公司是在寻找编程能力远远超过Java入门课程所教水平的人。面试官问的问题不一定会让你哑口无措,但他们的目的是为了让求职者对这个话题有更深的了解。我们建议你学习Java彻底在接受采访之前,这篇文章将给你一个特别的先睹为快前15个Java面试问题在工作面试中可能会遇到的问题。

让我们从更容易的问题开始,然后向稍微更强硬的问题开始。

什么是JVM?为什么Java称为“平台独立编程语言”?

htmlprojectsJVM,或Java虚拟机,是一个解释器,接受“字节码”并执行它。

Java被称为“平台独立语言”,因为它主要工作在“编译一次,到处运行”的概念上。下面是在Java中建立平台独立性特性的顺序步骤:

2.JDK和JRE有什么区别?

当被问到典型时Java采访问题大多数启动Java开发人员都与JDK和JRE混淆。最终,只要我的节目运行,他们就会满足于“任何事情都会做人物!”如果你渴望谋生和职业,那就不合适。

“JDK”是Java开发工具包。betwayapp下载安装例如,JDK是一组软件,你可以用它来开发基于Java的软件。

“JRE”是Java运行时环境。也就是说,JRE是Java虚拟机的一个实现,它实际执行Java程序。

通常,每个JDK包含一个(或多个)JRE以及各种开发工具,如Java源代码编译器、绑定和部署工具、调试器、开发库等。betwayapp下载安装

3.“静态”关键字是什么意思?

我们确信你必须得到得很好Java基础知识。现在我们与最初的概念定居,让我们研究语言特定的产品。

静态变量与一个类关联,而不是该类的对象。例如:

public class ExplainStatic {public static String name = "我是一个静态变量";}

还有另一个类,我们打算在其中访问刚才定义的静态变量。

public class Application {public static void main(String[] args) {System.out.println(ExplainStatic.name)}}

我们不创建类解释静学的对象以访问静态变量。我们直接使用类名称:semoxstatic.name

4.Java支持哪些数据类型?什么是自动装箱和拆箱?

这是最常见和最基本的Java面试问题之一当你被问到这个问题的时候,你应该把它放在你的指尖上。Java支持的八种原始数据类型是:

自动装箱:为了便于编译,Java编译器将原始类型(int、float、double等)自动转换为它们的对象或包装类型(Integer、float、double等)。

unboxing.将包装器类型自动转换为与其等价的原语类型称为开箱。

5.STRINGBUFFER和STRING之间的区别是什么?

字符串对象是不可变的。也就是说,存储在String对象中的值不能被更改。考虑以下代码片段:

string mystring =“hello”;mystring = mystring +“guest”;

当你打印myString的内容时,输出将是“Hello Guest”。虽然我们使用了相同的对象(myString),但在过程中内部创建了一个新对象。这是性能问题。

StringBuffer/StringBuilder对象是可变的:StringBuffer/StringBuilder对象是可变的;我们可以对存储在对象中的值进行更改。这意味着字符串操作,例如附加如果使用stringBuffer / StringBuilder对象比String对象执行更高效。

string str =“对您的薪水很满意。''str + =”,因为增量是一个神话“; stringbuffer strbuf = new stringbuffer(); strbuf.append(str); system.out.println(strbuf);

代码片段的输出将是:为你的薪水感到快乐。因为增量是一个神话。

6. java中的功能过度乘坐和过度加载是什么?

这是一个非常重要的概念面向对象编程并且是每个Java程序员的必须知道。

最重要的:重写是发生在继承自另一个类的类中的函数类型。override函数“替换”从基类继承的函数,但这样做的方式是,即使类的实例通过多态性假装为不同类型时,也会调用该函数。这可能有点太夸张了。下面的代码片段可以更好地解释这些问题。

public class Car {public static void main (String [] args) {Car a = new Car();Car b = new Ferrari();//Car ref,但一个法拉利对象。start();//运行Car版本的start() b.start();//运行法拉利版本的start()}}类Car {public void start() {System.out。println("This is a Generic start to any Car");}} class Ferrari extends Car {public void start() {System.out。让我们开着法拉利去参加一个很酷的派对吧。} }

过载:重载是定义具有相同名称但具有不同参数的多个方法的操作。它与覆盖或多态性都无关。理想情况下,Java中的函数可以通过两种机制重载:

} public static void main(String args[]){CalculateArea obj=new CalculateArea();obj.Area (10);//一个正方形的面积obj.Area(20,20);//矩形面积}}

7.什么是构造函数,Java中的构造函数重载和复制构造函数?

对于初学者来说,构造函数构成了OOPs的基础。

构造函数:使用构造函数的唯一目的是创建一个类的实例。它们在创建类的对象时被调用。以下是Java构造函数的一些显著特性:

public class Boss{String name;Boss(String input){//这是构造函数名= "我们的Boss也被称为:" + input;} public static void main(String args[]) {Boss p1 = new Boss("Super-Man");} }

构造函数重载:传递不同数量和类型的变量作为参数,这些变量都是类的私有变量。示例片段如下:

public class Boss{String name;Boss(String input){//这是构造函数名= "我们的Boss也被称为:" + input;{name = "我们的老板是一个好人。"我们不骂他。”} public static void main(String args[]) {Boss p1 = new Boss("Super-Man");Boss p2 = new Boss();} }

拷贝构造函数:复制构造函数是一种构造函数,它从同一类的另一个对象构造类的对象。复制构造函数接受对自己类作为参数的引用。

注意:Java不支持复制构造函数。然而来自C / C ++背景当被问及Java复制构造函数时,我们经常会感到困惑。

8. Java异常处理是什么?错误之间有什么区别,未经检查的异常和检查异常?

任何不正常的东西都是例外。例外是Java中的惯常方式,以指示发生异常情况的调用方法。

在Java中,异常是对象。当你抛出一个例外时,你会扔一个物体。但是,您无法将任何对象抛出作为异常 - 但是 - 只有那些占该类的对象只能从Roplable下降。Throwable是在Java.lang宣布的整个类别系列的基类,您的程序可以实例化和抛出。以下是分层异常类结构:

java 8

在设计大型应用程序时,需要特别注意异常处理。所以我们建议你花点时间复习您的Java技能

9.掷java异常处理中的投掷和投掷有什么区别(记住这个问题?)

投掷:抛出子句列出了方法可能投掷的例外类型,从而警告调用方法 - 'Dude。You need to handle this list of exceptions I might throw.’ Except those of type Error or RuntimeException, all other Exceptions or any of their subclasses, must be declared in the throws clause, if the method in question doesn’t implement a try…catch block. It is therefore the onus of the next-on-top method to take care of the mess.

public void myMethod() throws PRException {..}This means the super function calling the function should be equipped to handle this exception. public void Callee() { try{ myMethod(); }catch(PRException ex) { ...handle Exception.... } }

使用扔:如果用户想抛出一个显式的Exception(通常是自定义的),我们使用throw。Throw子句可以在您认为需要将特定异常抛出给调用方法的代码的任何部分中使用。

try{if(age>100){抛出新的AgeBarException();//自定义异常}else{....} }}catch(AgeBarException ex){ ...handle Exception..... }

10.字节流和字符流的区别是什么?

每一个Java程序员处理文件操作。要生成用户报告,请通过邮件发送附件并泄漏从Java程序中删除数据文件。在处理Java问题的同时,对文件操作的声音知识变得更加重要。

字节流:为了读取和编写二进制数据,包含字节流。程序使用字节流执行字节输入和输出。

字符流:字符流处理字符而不是字节。在Java中,字符是按照Unicode(允许每个字符使用唯一的数字)约定存储的。在这种存储中,字符成为平台无关、程序无关、语言无关的。

11.什么是FileInputStream和FileOutputStream ?用一个例子读取和写入文件。

mysql vs mysqlifileInputStream:它包含来自文件的输入字节并实现输入流。

FileOutputStream:它用于将数据写入文件并实现输出流。

public class FileHandling {public static void main(String [] args) throws IOException {FileInputStream inputStream = new FileInputStream ("Input.txt");FileOutputStream outputStream = new FileOutputStream("Output.txt",true);Byte [] buffer = new Byte [1024];//对于更大的文件,我们指定一个缓冲区的大小来定义数据块的大小int bytesRead;while ((bytesRead = inputStream.read(buffer)) != -1)写(缓冲区,0,bytesRead);inputStream.close ();outputStream.close ();} }

12. Filereader和FileWriter是什么?用一个例子读取和写入文件。

FileReader:FileReader类使以字符流的形式读取文件内容成为可能。它的工作原理与FileInputStream非常相似,只是FileInputStream读取字节,而FileReader读取字符。换句话说,FileReader的目的是读取文本。一个字符可能对应一个或多个字节,这取决于字符编码方案。FileReader对象还允许web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用File或Blob对象指定要读取的文件或数据。

如何写得更好FileWriter:这个类用于写入字符文件。FileWriter的创建不依赖于已经存在的文件。当您创建对象时,FileWriter将在打开该文件以供输出之前创建该文件。它的write()方法允许您将字符或字符串写入文件。filewriter通常由bufferedwriter或PrintWriters等高级Writer对象包装,这些对象提供更好的性能和更高级、更灵活的方法来写数据。

文件的使用可以解释如下:

File File = new File("fileWrite2.txt");FileWriter fw = new FileWriter(file);(int i = 0;我< 10;我+ +){弗兰克-威廉姆斯。写(“Soham is Just Awesome:”+i);fw.flush ();} fw.close ();

FileWriter和FileReader联合使用的用法如下:

int c;FileReader fread = new FileReader("xanadu.txt");FileWriter fwrite = new FileWriter("characteroutput.txt");While (c = fread.read()) != -1) fwrite.write(c);

13.两者的区别是什么ArrayList和LinkedList ?

请特别注意,因为这可能是最常见的一个面试问题。

在这个问题中,我们不打算描述每一个的性质。我们要找的是不同之处。这两种方法的主要区别如下:

Arraylist Linklist
随机访问。 顺序存取。控件从第一个节点遍历到索引节点。
只能添加对象。 LinkedList是使用相互链接的节点来实现的。每个节点包含一个前一个节点链接、下一个节点链接和包含实际数据的值

14.用示例解释迭代器和枚举接口之间的区别。

14.

然而,在列举的情况下:

14 b

15.“simpleDateFormat”的使用是什么,以及如何使用它在“yyyy / mm / dd hh:mm:ss”格式中显示当前系统日期?

SimpleDateFormat就是这样一个具体类,Java开发人员广泛使用它来解析和格式化日期。这也用于将日期转换为字符串,反之亦然。

实际上,每个企业级Java应用程序都会使用SimpleDateFormat来处理用户日期。我们当然不希望Java受访者在语法方面绝对出色。但这门课的基本知识是必须的。

public class CurrentSystemDate {public static void main(String[] args) {SimpleDateFormat sysForm = new SimpleDateFormat("yyyy/MM/DD HH: MM:ss");Date curdate= new Date();System.out.println (sysForm.format (curdate));} }

温习Java知识的最好方法是打开一个月食编写大量代码和示例程序。养成记住语法并尽可能采用最佳编码标准的习惯。

这是前15名!祝你面试好运。

你也可能喜欢:

1。一些高级Java编程

2.使用Eclipse进行Java编程

3.servlet和jsp:用Java创建Web应用程序

4.Android的Java基础

Java顶级课程

硒WebDriver与Java -基础到高级+框架
拉胡尔谢蒂
4.6 (58444)
畅销书
简单的Java 8新特性
杜尔加斯州杜尔加
4.6 (6720)
开发Minecraft插件(Java)
史蒂芬·金
4.7 (2053)
畅销书
Java 9简单的新功能:JShell,JPMS等
杜尔加斯州杜尔加
4.9 (438)
Java设计模式
Bharath thippiveddy.
4.5 (596)
完整的Java核心课程:学习代码
Dezlearn教育
4.5 (736)
介绍Java中的集合、泛型和反射
Holczer Balazs
4.5 (1856)
Java编程:逐步从A到Z
Holczer Balazs
4.7 (574)
完整的Java开发人员课程:从初学者到大师!
Codestars由Rob Percival, John P. Baugh
4.8 (55)
使用IntelliJ IDEA进行Java调试
Swapan Kumar Dutta.
4.6 (100)

更多Java课程

Java学生也学习

让你的团队。领导行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示