当前位置: 首页 > news >正文

常见面试题

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

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

StringBuffer 的线程安全是通过方法加锁(synchronized)来实现的。
具体来说,它的大多数方法(如 append()insert()delete() 等)都使用了 synchronized 关键字。

2. 跨域问题解决

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

方式一:使用 @CrossOrigin 注解

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

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

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

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

http://www.dtcms.com/a/194515.html

相关文章:

  • 预测模型开发与评估:基于机器学习的数据分析实践
  • DAY24元组和OS模块
  • 从小区到商场再到校园,AI智能分析网关V4高空抛物检测方案全场景护航
  • 微服务中服务降级和异常的区别
  • git克隆github项目到本地的三种方式
  • OAT 初始化时出错?问题可能出在 PAM 配置上|OceanBase 故障排查实践
  • HTTPS 加密原理
  • 第二十次博客打卡
  • 【日撸 Java 三百行】Day 18(循环队列)
  • 101. 对称二叉树
  • MGX:多智能体管理开发流程
  • 时钟产生的公共模块示例
  • C++动态内存分配
  • 【AI面试秘籍】| 第11期:大模型“复读机“难题的破局之道
  • Vue百日学习计划Day9-15天详细计划-Gemini版
  • STM32 ADC+DMA+TIM触发采样实战:避坑指南与源码解析
  • 如何有效的开展接口自动化测试?
  • 面试题:详细分析Arraylist 与 LinkedList 的异同
  • 【Spring AI】本地大模型接入MCP实现联网搜索
  • 综合项目:博客
  • Python之三大基本库——Matplotlib
  • 对称二叉树的判定:双端队列的精妙应用
  • 源码:处理文件格式和字符集的相关代码(3-3)
  • Spring WebFlux与Quarkus实战:云原生微服务开发的两大主流框架深度解析
  • 一分钟了解机器学习
  • Linux系统启动相关:vmlinux、vmlinuz、zImage,和initrd 、 initramfs,以及SystemV 和 SystemD
  • 割点与其例题
  • 消防应急处置管理的全流程概述
  • NLP双雄争霸:GPT与BERT的生成-理解博弈——从技术分野到产业融合的深度解码
  • C++:单例模式