三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

2026年5月28日笔记

2026年5月28日笔记

get put post请求流只能请求一次,不能进行再次请求,内部原理是啥?

核心原因是请求体以流的形式存在,具有 “一次性消费” 的特性,且 HTTP 协议和 Web 框架的设计都遵循这一原则,以优化性能并避免潜在的逻辑问题。如果需要重复使用请求数据,通常需要在第一次读取时将其缓存(如存入变量或对象)。

如何避免在GET请求中发送敏感信息?

避免用 GET 传输敏感信息,优先使用 POST 等方法并配合 HTTPS。若必须使用 GET,则需结合加密和临时令牌机制,同时严格限制敏感数据的暴露范围和生命周期。

Synchronized和Lock有什么区别?

特性synchronizedLock
实现方式JVM 内置关键字接口(java.util.concurrent.locks
锁释放自动释放手动释放(需unlock()
可中断性不可中断支持中断(lockInterruptibly()
超时获取不支持支持(tryLock(time)
公平锁不支持支持(构造函数指定)
条件变量仅一个(依赖Object方法)多个(Condition
灵活性低(固定语法)高(可自定义逻辑)

使用建议

  • 简单同步场景优先用synchronized(简洁、不易出错)。
  • 复杂场景(如超时、中断、多条件通信)用Lock(更灵活)
← 返回列表