常见面试题

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

相关推荐
被摘下的星星3 分钟前
Java 中 .length、.length() 以及 .size() 的区分
java·开发语言
代码不停8 分钟前
子数组问题
java·算法
geovindu15 分钟前
CSharp: State Pattern
开发语言·后端·c#·.net·状态模式·行为模式
IT小白杨20 分钟前
TikTok小店防封号浏览器实战:2026年多店铺环境隔离与账号安全运营技术解析
开发语言·数据库·安全·php·chrome devtools·指纹浏览器
信誓旦旦的程序猿23 分钟前
【零依赖量化数据实战 #25】北交所技术指标与基本面
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
2601_9669496525 分钟前
Python 量化开发为什么适合使用金融数据 SDK?从数据获取到策略研究的工程化实践
开发语言·python·数据分析·量化交易·股票数据·quantdash
万年咸鱼27 分钟前
Java ArrayList 详解:原理、用法与实战
java·开发语言·windows
长友cy31 分钟前
Qt官方示例Application源码阅读
开发语言·qt
程序员良辰38 分钟前
服务器 JDK 环境变量配置:一键安装和手动配置有什么区别?
开发语言·python
奈斯先生Vector1 小时前
本地图片识别怎么接入多模态 AI?用 Python API 理解 GPT-4o Vision 的真实工作流
开发语言·人工智能·windows·python·网络协议·http·aigc