Java面试手册V2.0+突击V3.0知识点整理(七) 附封面图片

在这里插入图片描述


1. 什么是Java程序的主类?应用程序和小程序的主类有何不同?
  • 一个程序中可以有多个类,但只能有一个类是主类。在Java应用程序中,这个主类是指包含main()方法的类。而在Java小程序中,这个主类是一个继承自系统类JApplet或Applet的子类。应用程序的主类不一定要求是public类,但小程序的主类要求必须是public类。主类是Java程序执行的入口点。
2. Java应用程序和小程序之间有哪些差别?
  • 简单说应用程序是从主线程启动(也就是main()方法)。applet小程序没有main()方法,主要是嵌在浏览器页面上运行(调用init()或者run()来启动),嵌入浏览器这点跟flash小游戏类似
3. Java是如何支持正则表达式操作的?
  • Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作,如:
	package otherDemo;
	
	import java.util.regex.Matcher;
	import java.util.regex.Pattern;
	
	public class RegDemo {
	    public static void main(String[] args) {
	        String str = "成都市(成华区)(武侯区)(高新区)";
	        Pattern p = Pattern.compile(".*?(?=\\()");
	        Matcher m = p.matcher(str);
	        if (m.find()) {
	            System.out.println(m.group());
	        }
	    }
	}

在这里插入图片描述


4. Java是否支持多继承?
  • Java中类不支持多继承,只支持单继承(即一个类只有一个父类)。但是Java中的接口支持多继承,即一个子接口可以有多个父接口。(接口的作用是用来扩展对象的功能,一个子接口继承多个父接口,说明子接口扩展了多个功能,当类实现接口时,类就扩展了相应的功能)

5. 讲讲Java中有哪些特性,并举一个和多态相关的例子
  • 特性:封装、继承、多态。
  • 多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采取多种不同的行为方式。(发送消息就是函数调用)

6. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
  • Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者重新编译。Java虚拟机让这个称为可能,因为它知道底层硬件平台的指令长度和其他特性

7. 列举Java虚拟机中哪些对象可作为ROOT对象
  • 虚拟机栈中的引用对象
  • 方法区中类静态属性引用的对象
  • 方法区中常量引用对象
  • 本地方法栈中JNI引用对象

8. Java一点补充
  • Java属于静态类型语言(静态类型,编译时就能够知道每个变量的类型,编程的时候也需要给定类型),对于静态类型,在编译后会大量利用已知类型的优势,如int类型,占4个字节,编译后的代码就可以用内存地址加偏移量的方法存取变量,而地址加偏移量的算法汇编很容易实现
  • Java语言,分为两个阶段:
    1. 首先像C++语言一样,经过编译器编译。和C++不同,C++编译生成本地代码,Java编译后,生成字节码,字节码与平台无关
    2. 第二阶段,由Java的运行环境也就是Java虚拟机运行字节码,使用解释器执行这些代码。一般情况下,Java虚拟机都引入了IT技术,将字节码转换成本地代码来提高执行效率

9. Java nextLine和next两个方法的区别?
  • next不会接收回车符,tab或者空格键,在接收有效数据之前会忽略这些符号,若已经读取了有效数据,遇到这些符号会直接退出
  • nextLine可以接收空格或者tab键,其输入以enter键结束

10. 什么是JavaConfig?
  • Spring JavaConfig是Spring社区的产品,它提供了配置Spring IoC容器的纯Java方法,因此它有助于避免使用XML配置。使用JavaConfig的优点在于:
    1. 面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等
    2. 减少或消除XML配置。基于依赖注入原则的外化配置的好处已经被证明。但是,许多开发人员不希望在XML和Java之间来回切换。JavaConfig为开发人员提供了一种纯Java方法来配置与XML配置概念相似的Spring容器。从技术角度来讲,只使用JavaConfig配置类来配置容器是可行的,但实际上很多人认为将JavaConfig与XML混合匹配是理想的
    3. 类型安全和重构友好。JavaConfig提供了一种类型安全的方法来配置Spring容器。由于Java5.0对泛型的支持,现在可以按类型而不是按名称检索bean,不需要任何强制转换或基于字符串的查找

上一篇:Java面试手册V2.0+突击V3.0知识点整理(六) 附封面图片😍
下一篇:Java面试手册V2.0+突击V3.0知识点整理(八) 附封面图片😍


如果觉得封面图片还行,请顺手点个赞😍
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SimpleZihao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值