常见面试题

1.stringbuffer和stringbuilder的区别,stringbuffer是通过什么实现线程安全的?

StringBufferStringBuilder 都是用于处理可变字符串的类,但它们的主要区别在于 线程安全性

StringBuffer 的线程安全是通过方法加锁(synchronized)来实现的。

具体来说,它的大多数方法(如 append()insert()delete() 等)都使用了 synchronized 关键字。

  1. 跨域问题解决

跨域问题(CORS) 是前后端分离架构中最常见的问题之一,主要是浏览器的同源策略导致前端无法直接请求不同源(域名、端口或协议不同)的后端接口。

方式一:使用 @CrossOrigin 注解

方式二:全局跨域配置(推荐企业项目)

创建一个配置类,注册全局 CORS 策略:

java 复制代码
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 所有路径
                .allowedOriginPatterns("*") // 允许所有源(或填写前端地址)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .allowedHeaders("*")
                .allowCredentials(true) // 允许携带 cookie
                .maxAge(3600); // 预检请求缓存时间(秒)
    }
}

方式三:Nginx 添加 CORS 跨域响应头。

相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++