-
知道编译时多态和运行时多态吗?(其实当时并不知道,就给面试官说没了解过,但是根据名字可以大概知道这两个东西是什么,编译时多态就是在编译器就已经确定好了实现类的类型,运行时多态是在运行时才可以确定实现类是哪个,需要执行哪一个具体的行为)
-
类加载机制了解吗?(类加载机制就是 Java 如何将 class 文件给加载到内存中,Java 使用了双亲委派模型来加载 class 文件,会通过将加载任务不断委托给父类加载器来执行)
我回答说输出是 1 2 4 25
,这里是说错了,但是面试官一点一点在引导着我说,你感觉还有什么问题吗?我想了想,虽然直到面试官在提示我,但是还是看不出来哪里有问题,面试官又进一步提示说,如果你的答案中有一个是没有输出的,那你觉得是哪一个呢?之后我又重新分析了一下,并且把分析的过程讲给了面试官,之后说应该不会输出 4,因为在加载到 Father 类时,就已经拿到了 factor 静态变量,此时就已经不需要去加载 Son 类了,因此正确输出是 1 2 25
class Grandpa {
static {
System.out.println("1");
}
}
class Father extends Grandpa {
static {
System.out.println("2");
}
public static int factor = 25;
public Father() {
System.out.println("3");
}
}
class Son extends Father{
static {
System.out.println("4");
}
public Son() {
System.out.println("5");
}
}
public class Main {
public static void main(String[] args) {
System.out.println(Son.factor);
}
}
- Spring 是 Java 中常用的框架,那么Spring 中用到了哪些设计模式呢?(在获取 bean 的时候使用到了单例模式,其他的不清楚了)
- 你给我写一个单例模式的实现吧?(这里的单例模式其实问了很长时间,因为单例模式我只记得双端检锁了,这里让实现一个单例模式,我只想起来了下边这一种实现方式,单例模式问了很长时间是因为我一开始写错了,将变量定义为成员变量,在静态变量中访问成员变量了,还好面试官问我你看看代码是不是有点问题,我再看了看才发现有问题,于是将成员变量改成静态变量,但是没有添加 private 修饰符,面试官又进一步问你这样静态变量的作用域是什么呢?会不会被其他类修改呢?于是又将 private 修饰符给添加上了,这才写好下边这个单例模式/(ㄒoㄒ)/~~,单例模式没复习到是真不应该呀 ku ~~)
public class SingletonObj {
private static Object instance;
public static Object getInstance() {
if(instance == null) {
instance = new Object();
}
return intance;
}
}
-
API 网关和 Nginx 之间是什么样的关系呢?(是一对多的关系,通过 Nginx 做负载均衡,将请求路由到网关的多个模块)
-
具体讲一下算法怎样实现的吧?(不了解怎么实现的,我就只说了说我对这个最少连接数算法的理解,通过监听每个应用的连接数量,来将新的请求路由到连接数量最少的应用上去)
-
鉴权怎么鉴权了呢?(使用 jwt token 进行鉴权,讲一下流程,这里建议如果你在项目中使用到哪个小的组件,一定要去了解他的原理是怎样的)
原文地址:https://blog.csdn.net/qq_45260619/article/details/134689854
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_40154.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!