Skip to main content
 首页 » 编程设计

Java面试题带答案系列七

2022年07月19日134lhb25

61.几种常见排序法的比较

排序法 平均时间 最差情形 稳定度 额外空间
冒泡 O(n2)     O(n2) 稳定 O(1)
交换     O(n2)     O(n2) 不稳定 O(1)
选择 O(n2) O(n2) 不稳定 O(1)
插入 O(n2) O(n2) 稳定 O(1)
基数 O(logRB) O(logRB) 稳定 O(n)
Shell O(nlogn) O(ns) 1<s<2 不稳定 O(1)
快速 O(nlogn) O(n2) 不稳定 O(logn)
归并 O(nlogn) O(nlogn) 稳定 O(n)

62.优化Hibernate所鼓励的7大措施:

  1).尽量使用many-to-one,避免使用单项one-to-many
  2).灵活使用单向one-to-many
  3).不用一对一,使用多对一代替一对一
  4).配置对象缓存,不使用集合缓存
  5).一对多使用Bag 多对一使用Set
  6).继承使用显示多态 HQL:from object polymorphism="exlicit" 避免查处所有对象
  7).消除大表,使用二级缓存

63.HTTP中的POST和GET的区别

操作方式

数据位置

明文密文

数据安全

长度限制

应用场景

GET

HTTP包头

明文

不安全

长度较小

查询数据

POST

HTTP正文

可明可密

安全

支持较大数据传输

修改数据

64.Java类加载器  

   类的加载是由类加载器完成的,类加载器包括:根加载器( BootStrap )、扩展加载器( Extension )、系统加载器( System )和用户自定义类加载器    ( java.lang.ClassLoader 的子类)。从 Java 2 ( JDK 1.2 )开始,类加载过程采取了父亲委托机制(PDM )。 PDM 更好的保证了 Java 平台的安全性,在该机制中, JVM 自带的 Bootstrap 是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。 JVM 不会向 Java 程序提供对 Bootstrap 的引用。下面是关于几个类加载器的说明:

  • Bootstrap :一般用本地代码实现,负责加载 JVM 基础核心类库( rt.jar );
  • Extension :从 java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是 Bootstrap ;
  • system class loader :又叫应用类加载器,其父类是 Extension 。它是应用最广泛的类加载器。它从环境变量 classpath或者系统属性 java.class.path 所指定的目录中记载类,是用户自定义加载器的默认父加载器。
  • 用户自定义类加载器: java.lang.ClassLoader 的子类 

65.虚存最基本的特征是多次性。

66.


本文参考链接:https://www.cnblogs.com/wgl1995/p/5867675.html