用友后端
1、接口除了public 和 abstract ?还可以用什么?可以用static修饰接口方法嘛?
从 Java 8 开始,接口可以包含默认方法(default)和静态方法(static)。
protected :在接口中不能使用 protected 修饰符。
原因: 接口的目的是提供公共 API,而 protected 只能被同一包中的类或子类访问,这与接口的设计理念相悖。因此,接口中的方法和字段只能是 public 或默认(包私有)。
private:从 Java 9 开始,你可以在接口中使用 private 修饰符。
用途: private 方法可以用于接口内部的辅助方法,主要是为了减少代码重复和提高代码的封装性。这些 private 方法不能被实现类访问。
2、public class Go {
public static void main(String[] args) {
Integer i = 0;
test(i);
System.out.println(i);
}
public static void test(Integer i){
i++;
}
}
输出0,因为i是不可变类型,而不是因为缓存机制。原理和String一样
3、springboot环境中,在初始化阶段,static修饰的常量通过配置文件进行赋值应该怎么做?
使用 @PostConstruct 和静态代码块
虽然静态变量不能直接被 Spring 注入,但可以通过一个静态方法在类被加载时执行初始化逻辑
@Configuration
public class MyConstants {
public static String MY_CONSTANT;
@Value("${my.constant}")
private String myConstant;
@PostConstruct
public void init() {
MY_CONSTANT = myConstant; // 在初始化阶段赋值给静态变量
}
}
4、布隆过滤器的路由转发怎么做?
API 网关 or 服务发现机制(如 Consul、Eureka 或 Zookeeper)来动态发现存在的服务
使用 API 网关作为所有请求的入口,网关可以根据请求类型路由到不同的服务。
从 Java 8 开始,接口可以包含默认方法(default)和静态方法(static)。
protected :在接口中不能使用 protected 修饰符。
原因: 接口的目的是提供公共 API,而 protected 只能被同一包中的类或子类访问,这与接口的设计理念相悖。因此,接口中的方法和字段只能是 public 或默认(包私有)。
private:从 Java 9 开始,你可以在接口中使用 private 修饰符。
用途: private 方法可以用于接口内部的辅助方法,主要是为了减少代码重复和提高代码的封装性。这些 private 方法不能被实现类访问。
2、public class Go {
public static void main(String[] args) {
Integer i = 0;
test(i);
System.out.println(i);
}
public static void test(Integer i){
i++;
}
}
输出0,因为i是不可变类型,而不是因为缓存机制。原理和String一样
3、springboot环境中,在初始化阶段,static修饰的常量通过配置文件进行赋值应该怎么做?
使用 @PostConstruct 和静态代码块
虽然静态变量不能直接被 Spring 注入,但可以通过一个静态方法在类被加载时执行初始化逻辑
@Configuration
public class MyConstants {
public static String MY_CONSTANT;
@Value("${my.constant}")
private String myConstant;
@PostConstruct
public void init() {
MY_CONSTANT = myConstant; // 在初始化阶段赋值给静态变量
}
}
4、布隆过滤器的路由转发怎么做?
API 网关 or 服务发现机制(如 Consul、Eureka 或 Zookeeper)来动态发现存在的服务
使用 API 网关作为所有请求的入口,网关可以根据请求类型路由到不同的服务。
全部评论
输出0,因为i是不可变类型,而不是因为缓存机制。原理和String一样
你的答案是一对的,但你的解释有问题,如果按照100分制,你的解释给个30分。
相关推荐