Java面试基础篇(一)

1.JVM、JRE和JDK的关系

JVM--Java虚拟机,负责加载.class文件并运行(不同的操作系统有不同的虚拟机)

JRE--Java运行环境(包含JVM+运行java程序所必须的环境)

JDK--Java开发工具包(JRE+开发工具)

实际上我们在安装JDK时,它会包含一个Jre,同时还包含了编译Java源码和运行Java 类文件的一个开发、调试和分析的工具。简单点说,假如你需要运行Java程序,只需要安装Jre就可以了,如何你需要编写,调试Java程序,需要安装JDK。

2.什么是跨平台性?原理是什么?

跨平台性就是通过java语言编写的应用程序在不同的系统平台上都可以运行。

原理:我们所编写的java程序是.java源文件,这些文件计算机无法直接执行,需要编译为.class后缀的字节码文件,交给虚拟机运行,不同的操作系统上安装相对于的JVM,这样就实现了Java程序的跨平台性,也成为Java具有良好的可移植性。

3.什么是字节码?采用字节码的最大好处是什么?

字节码:Java源代码经过编译后产生的文件,他不面向任何特定的处理器,只面向虚拟机。

采用字节码的好处:通过字节码的方式,一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且字节码不专对一种特定机器,因此,Java程序无需重新编译即可在多种不同的操作系统上运行。

4.什么是Java程序的主类?应用程序和小程序的主类有何不同?

一个程序可以有很多个类,但只能有一个类是主类。在Java应用程序中,这个主类是指包含main()方法的类。而在Java小程序中,这个主类是一个继承自系统类JApplet或Applet的子类。应用程序的主类不一定要求是 public 类,但小程序的主类要求必须是 public 类。主类是 Java 程序执行的入口点。

5.Java和C++的区别?

都是面向对象的语言,都支持封装继承多态;

C++支持多继承,Java只支持单继承,但是接口可以多继承;

Java语言不提供指针访问内存,程序内存更安全;

Java有自动内存管理机制,无需手动释放内存。

6.字符型常量与字符串常量的区别?

形式上:字符型是单引号引起的字符,字符串是双引号引起的若干个字符;

含义上:字符常量相当于一个整型值,可以参与表达式运算,字符串常量表示一个地址值;

占内存大小:字符常量只占两个字节,字符串占若干个字节。

7.构造器是否可以被重写?

子类无法继承父类的私有方法和构造方法,所以构造器无法被重写,但是可以被重载。

8.重载和重写的区别?

重载:发生在同一个类中,方法名相同,参数类型不同,个数不同,顺序不同,返回值和访问修饰符可以不同; 

重写:发生在子类中,方法名相同,参数列表必须相同,返回值类型小于等于父类,抛出的异常小于等于父类,访问修饰符大于等于父类,如果父类被private修饰,那么该方法不可被重写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值