
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
首先定义三个注解,用来标注"哪些类需要管理"和"哪些字段需要注入"。@bean—— 标记需要容器管理的类这个注解放到类上,id就是 Bean 的唯一标识。启动时容器会根据这个 id 把实例放到一个 HashMap 里。@property—— 标记需要注入的字段type="ref"表示按引用注入(从容器里找),其他值就是直接赋值。—— 标记路由映射类上的key是路径前缀,方法上的key是具体路径。拼
MyBatis 全量加载 → 50万行×3~5倍内存膨胀 → 堆撑爆文件写入时字符串拼接 → 大量临时对象 → GC风暴。
这两年技术圈有个风气,新项目不管三七二十一先上微服务,好像不用Spring Cloud、不上K8s就不配做架构似的。我今天说一个真实案例,一套完全没有微服务的架构,跑了几年,稳如老狗。
HttpServer:ServerSocket + HTTP解析 + 返回静态文件——这就是Connector:URLClassLoader动态加载Servlet + service()调用——这就是Wrapper:RequestFacade/ResponseFacade门面模式——这就是安全隔离写完这三步,Tomcat的Connector、Container、Wrapper、Facade,不再是
现象:导出OOM↓应急:加锁限制并发(治标,防不住单次大数据)↓根因:ByteArrayOutputStream把全部数据攒在内存↓根治:游标逐行写文件,内存中只有一行- 早期:JDBC游标(MyBatis 3.1.1不支持游标,绕开它)- 现在:MyBatis Cursor(3.5+原生支持,不用绕)↓锁删掉:根因解决了,应急措施没用了。
这个循环就是机器学习最核心的套路。后面的CNN、Transformer,换了模型结构,没换这个循环。相关阅读:《一个Java老鸟的TensorFlow入门——从计算图到GradientTape》《一个46岁架构师的AI实战经验总结》
在Hystrix把任务提交到线程池之前被调用。这里劫持了传入的Callable——把它包进里。在当前线程(主线程)尚未离开这个调用点之前,把ThreadLocal里的用户对象快照下来,传给真正执行的线程。① 网关认证└── 鉴权完成后,将 CurrentLoginUser 序列化为JSON└── 写入 HTTP Header: CUSTOM-REQUEST-HEADER② Service A 入站
1. 在容器内配置完整环境# 配置jdk环境、数据库连接参数等...# 2. 将运行的容器提交为本地镜像docker commit -m "Tomcat9+JDK8+项目环境" my-tomcat my-tomcat:v1.0# 3. 现在本地有了新镜像# 4. 导出镜像为tar文件# 5. 拷贝到其他服务器# 6. 在新服务器上导入# 在新服务器上执行:一键启动相同环境,实现跨机器无缝复用。学习
某政务热线有94万条历史问题,怎么搞清楚这些问题到底在问什么?哪些是高频的?哪些知识库还没覆盖?这篇记录我用三种方法分析这批数据的过程:KMeans聚类做粗分、向量相似度做精分、大模型做语义分类。
不要拿LLM直接做风险主分类器——离线POC好看不等于业务可用,幻觉/校准/漂移/成本/合规全是拦路虎非结构化数据清洗+文本抽取,产出结构化语义特征决策交还给传统分类器——训练快、迭代快、推理廉价、指标原生、可解释合规LLM衍生特征必须与普通特征同等监控——PSI/缺失率/准确性,不能无条件信任大模型输出大模型不是用来推翻原有成熟风控体系的,是给传统模型增加新弹药——实现1+1>2。







