
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在单体应用中,我们可以使用 Java 的 synchronized 或 ReentrantLock 来保证多个线程对共享资源的互斥访问。这些锁都依赖于单一的 JVM 进程——锁监视器存在于同一个堆内存中,不同线程看到的是同一把锁。然而在分布式集群环境下,多个服务实例运行在不同的 JVM 进程中,每个进程都有自己独立的内存空间,单体锁无法跨越 JVM 实现线程互斥。此时就需要一把所有进程都能“看见”
例如下面的代码,创建不同类型的日志记录器(文件日志、数据库日志),客户端传入的是 file 就调用 FileLogger() ,传入的是 db 就调用DatabaseLogger()。它的核心思想是:将对象的创建与使用分离,通过一个“工厂”类来负责创建对象,而不是在客户端代码中直接使用 new 关键字。抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。简单工厂模
【代码】通过 ollama 本地接入大模型。
直接向 ChatGPT 提问就能得到不错的回答,但这远远不够。真实的应用场景往往要求模型能够:查询实时信息、访问企业私有文档、按照严格的格式输出,甚至与外部系统交互。纯 Prompt 模式 – 最轻量,模型直接回答,适合通用场景。Function Calling – 让模型主动调用工具/API,获取实时数据或执行操作。RAG(检索增强生成) – 为模型外挂知识库,解决知识过时和私有文档问答问题。F
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,
【代码】通过 ollama 本地接入大模型。
Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取 jar 包,传统工程我们直按把 jar 包放置在项目中,⽽使用 maven 后不⽤⼿动去添加 jar 包,例如下方的 maven 命令,点击package, 就可以完成项⽬的 jar 打包操作。jar 包可以类比成 txt 包,就是把 java 文件压缩了,方便引⼊到其他项⽬中, 同时可以方便直接使⽤这些jar包中的类和属性。Mav
RequestMapping⽤来注册接⼝的路由映射,可以作用在类上,也可以作用在方法上,当标识⼀个类,设置映射请求的请求路径的初始信息,当标识⼀个⽅法,设置映射请求请求路径的具体信息。@PathVariable用来获取 URL 路径中的变量值的注解,例如使用浏览器发送请求 http://127.0.0.1:8080/param/m8/5/zhangsan,最终获取到 id 为 5 ,userNam
Spring Web MVC是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。⽬前现在更主流的开发⽅式是 “前后端分离” 的⽅式, 后端开发⼯程师不再需要关注前端的实现, 所以对于 Java 后端开发者, ⼜有了⼀种新的分层架构: 把整体架构分为表现层、业务逻辑层和数据层. 这种分层⽅式也称之为“三层架构"MVC 中,视图和控制器合起来对应三层架构中







