一、现象 springboot从2.0.2升级到 2.5.7后线上环境无法通过request.getHeader("x-forwarded-for")获取客户端ip地址,测试...
一、现象 springboot从2.0.2升级到 2.5.7后线上环境无法通过request.getHeader("x-forwarded-for")获取客户端ip地址,测试...
前言 ThreadLocal能够在单个线程中传递参数,使用可以用在系统参数的传递或者在链路跟踪中传递trace相关信息,需要说明的是单单使用ThreadLocal是不会出现T...
事务有原子性、一致性、隔离性、持久性的特点,在开发中我们将一组不可分割的操作放在事务中,要么一起成功,要么一起失败,例如最简单的转账,我们看一下spring是如何实现事务管理...
百度搜unicode
一次性搞清楚unicode、codepoint、代码点、UTF最近在处理字符过滤,重新研究了下字符、unicode和代码点的相关知识,首先要说一下编码的基本知识unicode unicode unicode是计算机科学领域里的一项业界标...
condition的作用 condition的使用场景其实很多,涉及到条件判断的并发场景都可以用到,比如: 阻塞队列的ArrayBlockingQueue中做队列满和空的条件...
链路收集大体逻辑 这里先不分析skywalking是如何自动收集数据的,而是说一下agent在收集后如何存储与发送给collector,这部分的架构关系到性能开销与对服务的影...
性能没有优势,不要误导别人啊
Java之synchronized和Lock的区别1、Lock是java的一个interface接口,而synchronized是Java中的关键字,synchronized是由JDK实现的,不需要程序员编写代码去控制加锁和...
java在做日期转换时我们会使用SimpleDateFormat做时间转换,但其实SimpleDateFormat不是线程安全的,如果SimpleDateFormat用sta...
上一篇介绍了AQS独占模式的原理,参考链接AQS原理解析(一),这篇介绍一下AQS的共享模式如何实现的。 共享模式可以做什么 java concurrent包中的很多阻塞类可...
很少写技术博客,一是觉得自己技术有限,怕误人子弟;二是文笔较差,比较排斥写作之类的工作。话说不锻炼,哪会有进步呢,因为陌生而抵触,往往会陷入恶性循环,生活中其他事又何尝不是这...