零散的面试题

作者 : admin 本文共1072个字,预计阅读时间需要3分钟 发布时间: 2024-06-15 共1人阅读

1.java常见的引用类型

:普通的变量引用

:内存够时,GC不会主动删除,内存不够时,GC会删除

:一旦执行GC就会被删除

:用了感觉没用


2.JDK1.8新特性

  1. lambda表达式(极大简化了匿名内部类的创建,促进函数式编程的风格)
  2. 函数式接口(只能有一个抽象方法的接口 )
  3. 日期时间的新API(LocalDate,LocalTime,LocalDateTime等)
  4. StreamAPI(提供了一种声明式、高效且易于并行化的集合数据处理方式 )
  5. Optional类(处理Null值,防止空指针异常)
  6. 方法引用(更为简洁的lambda表达式,可以直接引用现有方法和构造函数 )
  7. 接口的默认方法和静态方法(可以包含默认方法,允许在接口中提供方法的具体实现,而无需强制实现类去覆盖它 ; 可以包含静态方法,增强接口的功能性)

3.JAVA异常

1.运行时异常(Running Exception)在程序中可以不进行显示处理的异常(ArithmeticException[运算异常] ClassCastException[类型转换异常] IndexOutOfBoundsException[下标越界异常] NullPointerException[空指针异常] IllegalArgumentException[非法参数异常] )

2.检查时异常(Checked Exception)必须显示处理,不然程序不允许代码编译运行.(FileNotFoundException [文件未找到异常]  MalformedURLException[错误的URL异常]  IOException [I/O异常]  SQLException [Sql异常])

3.错误(Error) 系统级别的错误,程序无法处理,会立刻停止运行(OutOfMemoryError[堆空间溢出] StackOverflowError[栈空间溢出])


4.双亲委派

零散的面试题插图

1.启动类加载器(Bootstrap ClassLoader):即根类加载器,负责加载Java虚拟机核心类库,如java.lang.Object等。

2.扩展类加载器(Ext ClassLoader):加载Java扩展类库,如javax或java.util等。

3.应用程序类加载器(Application Class Loader):即系统类加载器,负责搜索应用程序的类路径并加载。

4.自定义类加载器:开发人员可以根据需要实现的类加载器。

 为什么需要双亲委派?

避免类的重复加载 ; 保证安全性(例如java.lang.String,这个类只会加载根类加载器的,避免被覆写)


 

本站无任何商业行为
个人在线分享 » 零散的面试题
E-->