后端

LeetCode热门100题算法和思路(day6)

LeetCode 146 LRU缓存 题目详情 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字

RAG 架构地基工程-Retrieval 模块的系统设计分享

目录一、知识注入的关键前奏——RAG 系统中的检索综述(一)模块定位:连接语言模型与知识世界的桥梁(二)核心任务:四大关键问题的协调解法(三)系统特征:性能、精度与可扩展性的三角权衡(四)应用视角:从技术模块走向业务场景&#xff0

k8s-实战入门-Service(九)

Service 通过上节课的学习,已经能够利用Deployment来创建一组Pod来提供具有高可用性的服务。 虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题: Pod IP 会随着Pod的重建产生变化 Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问 这样对于访问这个服务带来了难度。因此,kubernetes设计了Service来解决这个问题。 Serv

Java开发中常用的框架有哪些?

什么是框架 “框架(Framework)"一词最早出现在建筑领域,指的是在建造房屋前期构建的建筑骨架。在编程领域,框架就是应用程序的骨架,开发人员可以在这个骨架上加入自己的东西,搭建出符合自己需求的应用系统。 软件框架 软件框架是一种通用的、可复用的软件环境,它提供特定的功能,促进软件应用、产品和解决方案的开发工作。软件框架会包含支撑程序、编译器、代码、库、工具集以及API,它把所有这些部件汇集在

HashMap底层实现原理

java1.7 以前HashMap底层由数组+链表形式实现。 1.1 插入数据时首先计算数据key的hash值,根据hash找到对应的数组槽位。 1.2 找到槽位后,判断当前数组槽位是否为null,null则直接作为链表表头插入,否则判断当前需要插入的key是否已经在当前槽位的链表中存在,存在则直接替换新值,不存在则插入到头结点。 // hash值计算 static final int has

【Spring Cloud】环境和工程基本搭建

系列文章目录 文章目录 系列文章目录 一、开发环境安装 1.1、JDK 1.1.1、JDK版本介绍 2、案例介绍 2.1、需求 2.2、服务拆分 3.数据准备 4.工程搭建 4.1、构建父子工程 4.1.1、创建父工程 4.1.2、创建子项目-订单服务 4.1.3、创建子项目-商品服务 4.2、完善订单服务 4.2.1、完善启动类, 配置文件

JVM

1. JVM体系结构 JVM体系结构 堆和栈的关系 “对象的引用”在栈里面 真正对象的“数据”在堆里面 2.类加载器及双亲委派机制 类加载器 作用:加载class文件 类是模板,对象是具体的 public class Test { public static void main(String[] args) { //类是模板,对象是具体的

11、ArrayList和linkedList的区别

ArrayList和linkedList的区别 Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。 Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数据前移). 缺点: 数组初始化必须指定初始化的长度, 否则报错. 例如: List—是一个有序

04.《JavaEE 学习笔记》MVC设计模式

参考链接: 1、Web应用运行流程: (1)浏览器发送请求到收到响应,简要的过程如下: 浏览器发送请求后,由Web.xml中规定的协议,进入TomCat中