常见面试题

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 跨域响应头。

相关推荐
快乐非自愿25 分钟前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
树在风中摇曳29 分钟前
Java 静态成员与继承封装实战:从报错到彻底吃透核心特性
java·开发语言
芳草萋萋鹦鹉洲哦3 小时前
【Windows】tauri+rust运行打包工具链安装
开发语言·windows·rust
权泽谦3 小时前
R Shiny 交互式网页实战:从零到上线可视化应用
开发语言·信息可视化·r语言
hweiyu003 小时前
Go Fiber 简介
开发语言·后端·golang
键来大师4 小时前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
合作小小程序员小小店5 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
多多*6 小时前
maven常用的命令
java·log4j·maven
xie_pin_an6 小时前
MyBatis-Plus 实战:MPJLambdaWrapper 多表联查用法全解析
java·spring boot·spring·mybatis
ᐇ9596 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表