自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 AI大模型的Function Calling 是什么

Function Calling 是大语言模型(LLM)的一项重要特性,它允许模型在处理用户输入时,不是直接生成文本回答,而是调用外部工具函数来获取更准确、专业的信息。当模型判定用户的问题借助外部函数能更好地解答时,就会输出一个包含函数调用的 JSON 对象,其中涵盖函数名、所需参数等内容,进而调用相应的工具来完成任务。信息查询:查询实时的股票价格、天气状况等信息。数据处理:对数据进行格式转换、数据分析等操作。系统交互:调用系统命令、发送邮件、创建文件等。

2025-04-02 16:59:13 71

原创 大模型的参数是什么

大模型参数是什么?

2025-04-01 06:44:27 105

原创 HBase的列族必须提前定义

在HBase中,列族(Column Family)必须在创建表时提前定义,而列(Column)是动态添加的,无需提前定义。一旦表创建完成并列族定义好之后,可以动态地向表中的列族中添加新的列,而无需修改表的结构。2. **列是动态添加的:** 列是在列族内动态添加的,无需提前定义。而列是动态添加的,可以根据需要随时向列族中添加新的列。1. **列族必须提前定义:** 在创建HBase表时,需要指定表的列族,每个列族都需要提前定义。列族的定义是静态的,一旦表创建完成并列族定义好之后,列族的结构就不能再改变了。

2024-04-24 14:12:25 520 3

原创 Mac配置jdk和maven

新建或修改.bash_profile文件。

2024-04-15 15:06:56 219 1

原创 Stable Diffusion介绍

总之,Stable Diffusion是一种基于潜在扩散的文本到图像生成模型,在图像生成质量和应用灵活性方面具有显著优势。1. 高度灵活:Stable Diffusion模型能够用于生成各种类型的图像,如人脸、物体等,为开发者提供了广泛的应用场景。2. 高质量图像生成:Stable Diffusion模型经过大量高质量图像训练,生成的图像具有较高的逼真度和细节表现力。3. 开源模型:现在已经有了预训练模型的支持,开发者可以在本地机器上进行二次开发和调整,这降低了学习和使用的门槛。

2024-04-10 08:43:47 802 1

原创 Zookeeper

提到注册中心,zk就不得不说,dubbo开源时注册中心默认的方案就是zk,直到现在也有很多公司使用dubbo,也采用zk作为注册中心,zk能作为注册中心主要是zk提供了一种临时节点和节点监控的功能,服务提供启动时往zk某个目录下(一般是服务名称)创建临时节点,节点一创建就会通知监控该服务的消费者服务消费者就会获取到,然后服务提供者和zk之间维持心跳检测,因为该节点是临时节点,所以一旦心跳失败,zk就会删除临时节点,同时服务消费者也会收到通知,这样就摘除了不健康的节点。

2024-04-08 11:23:10 196

原创 常见的算法时间复杂度

4. **线性对数时间复杂度 O(n log n)**:在数据规模增大时,执行时间介于线性和平方之间。7. **指数时间复杂度 O(2^n)**:执行时间随着数据规模的增加呈指数增长。1. **常数时间复杂度 O(1)**:无论数据规模多大,算法的执行时间都保持不变。2. **对数时间复杂度 O(log n)**:随着数据规模的增加,执行时间以对数速度增长。5. **平方时间复杂度 O(n^2)**:执行时间与数据规模的平方成正比。3. **线性时间复杂度 O(n)**:执行时间与数据规模成正比。

2024-04-08 08:40:17 522

原创 MySQL中自增主键的当前最大值保存在哪里?

2. **持久化到磁盘**:虽然自增计数器的值是在内存中维护的,但当表中的数据发生变化(如插入新的记录)时,这个值会随着事务的提交持久化到磁盘上。4. **重启数据库的影响**:当MySQL数据库重启时,InnoDB会为每个含有自增列的表重新初始化自增计数器的值。3. **表的元数据**:在InnoDB中,表的元数据存储在数据字典中,这包括了表的结构定义等信息。虽然自增的最大值不是直接存储在元数据中,但通过表中实际存在的最大自增值,InnoDB能够在数据库启动或表首次被访问时重建自增计数器的值。

2024-04-07 18:14:35 467 1

原创 聚簇索引是什么?

**非聚簇索引的叶节点**:在使用聚簇索引的表中,非聚簇索引(也称为二级索引或辅助索引)的叶节点通常包含聚簇索引键的值,而不是指向行的物理指针。- **数据行顺序**:在聚簇索引中,表中的数据行是按照索引键(Key)的顺序存储的。- **插入性能**:如果经常插入非顺序的数据,可能会导致页分裂等性能问题,因为数据库需要保持数据行的物理顺序与聚簇索引键的顺序一致。- **选择合适的聚簇索引键**:选择一个稳定的、增长顺序的、尽可能独特的键作为聚簇索引键通常是最佳实践。### 聚簇索引的特点。

2024-04-07 15:07:15 381 1

原创 死锁的解决思路

利用`java.util.concurrent`包提供的高级同步工具,如`Semaphore`、`CountDownLatch`、`CyclicBarrier`和`Exchanger`等,这些工具类可以帮助开发者更安全、更有效地管理线程间的协作,从而避免死锁。考虑使用一些高级的并发工具,如`java.util.concurrent`包中的`Lock`类,这些工具提供了比传统`synchronized`块更灵活的锁操作,包括尝试锁定(tryLock)和定时锁定等机制。### 6. 使用单一锁或者锁分段技术。

2024-04-07 15:03:05 425 1

原创 Java中Thread.sleep()的原理

1. **调度器暂停线程执行**:当一个线程调用`Thread.sleep()`时,它向线程调度器(部分由操作系统实现,部分由JVM实现)发出信号,表明当前线程希望暂停执行一段时间。- **中断异常**:如果其他线程在当前线程睡眠期间调用了当前线程的`interrupt()`方法,那么`sleep()`方法会被中断并抛出`InterruptedException`。2. **不释放锁**:`Thread.sleep()`在使线程暂停执行的同时,并不会释放任何锁资源。在这个示例中,线程将睡眠1秒。

2024-04-07 14:58:04 571 1

原创 彻底理解Java中的轻量级锁和偏向锁

2. **实现原理**:偏向锁的核心思想是假设同步块只会被一个线程访问,因此当第一个线程进入同步块时,会将对象头部的标记设置为偏向锁,并将线程ID记录在对象头中。3. **竞争情况**:当有其他线程尝试访问同步块时,偏向锁会升级为轻量级锁,或者直接膨胀为重量级锁,这取决于竞争情况。3. **竞争情况**:如果有多个线程同时尝试获取锁,会导致轻量级锁升级为重量级锁,从而使用传统的互斥量来保证同步。1. **适用场景**:轻量级锁适用于短时间内有多个线程交替访问同步块的情况。

2024-04-04 21:17:16 173 1

原创 Eureka的替代品

Eureka 已经被 Spring Cloud 团队宣布进入维护模式,不再开发新特性。: 是一个更易于管理的中间件,包含服务发现和配置管理功能,并且是阿里巴巴的开源项目。: 是一个分布式、高可用的系统,可以提供服务发现和配置管理的功能。: 是一个分布式的、可靠的分布式键值存储系统,可以作为服务发现。: 是一个分布式的协调服务,可以用作服务发现。

2024-04-02 14:58:02 837 1

原创 AQS锁的共享模式

2,由于共享锁同一时刻可以被多个线程持有,因此当头节点获取到共享锁时,可以立即唤醒后继节点来争锁,而不必等到释放锁的时候。3,举例来说,countdownlatch的实现是共享模式,他允许一个或多个线程,等待count数量变为0后再继续执行,那么如果是多个线程,那么这多个线程就是共同的等待这一个临界资源变的可用。1,共享锁的调用框架和独占锁和实现原理非常相似,两者最大不同在于获取锁的逻辑——共享锁可以被多个线程同时持有,而独占锁同一时刻只能被一个线程持有。

2024-04-01 09:39:33 207

原创 DDD-实体和值对象的区别

**用户(User)**:在一个系统中,每个用户都有一个唯一的标识(如用户ID)。值对象通常是不可变的,一旦创建就不能更改(如果需要更改,就创建一个新的值对象)。- **订单(Order)**:每个订单都有一个唯一的订单号。通过恰当地使用实体和值对象,可以更准确地捕捉领域中的概念,同时提高模型的表达力和软件的整体质量。- **可变性**:实体的属性可能会变,但其身份不变;- **相等性**:实体的相等性基于标识,而值对象的相等性基于属性值。- **标识**:实体有唯一标识,值对象没有。

2024-03-30 09:59:40 344

原创 学习一下DDD

4. **领域模型(Domain Model)**:是对业务领域知识的抽象,包括领域中的实体(Entity)、值对象(Value Object)、聚合(Aggregate)、领域服务(Domain Service)等。5. **聚合(Aggregate)**:是一组具有一致性边界的相关对象的集合,通常由一个聚合根(Aggregate Root)和多个实体和值对象组成。3. **界限上下文(Bounded Context)**:是DDD的核心概念之一,指的是特定的责任边界内的模型和语言的边界。

2024-03-30 09:49:59 353

原创 谈谈分布式事务TCC

TCC的介绍

2024-03-30 09:38:55 442

原创 如何使用spring状态机

定义表示订单状态的枚举和触发状态转换的事件枚举。```java```这个例子展示了如何使用Spring状态机来管理一个简单的订单流程。通过声明式的配置,我们能够清晰地定义状态、事件和转换逻辑,从而使得业务流程的管理变得更加简单和直观。Spring状态机不仅支持简单的状态管理场景,还能够处理更复杂的状态逻辑,包括状态机的持久化、并发状态机、状态机监听器等高级特性,为开发者提供了强大的工具来构建复杂的业务逻辑。

2024-03-29 18:21:17 1410 1

原创 Redis中Hash数据结构的底层实现

**hashtable**是一种散列表结构,用于存储大量的键值对。- **ziplist**是一种紧凑的、连续的数据结构,可以存储多个键值对。- **优点**:节省内存,适合存储少量小键值对。1. **ziplist(压缩列表)**:当Hash中的键值对数量比较少,且每个键值对的键和值都比较小的情况下,Redis会使用ziplist作为底层数据结构。2. **hashtable(哈希表)**:当Hash中的键值对数量较多,或者键值对的键和值较大时,Redis会使用hashtable作为底层数据结构。

2024-03-27 19:03:54 569

原创 Redis的常用命令

**ZREM key member [member ...]**:从有序集合中移除一个或多个成员。- **SREM key member [member ...]**:从集合中移除一个或多个成员。- **SADD key member [member ...]**:向集合添加一个或多个成员。- **SET key value**:设置指定 key 的值。- **TTL key**:获取 key 的剩余过期时间。- **GET key**:获取指定 key 的值。

2024-03-24 06:36:13 199 1

原创 Threadlocal和弱引用的关系

关键的是,`ThreadLocalMap` 使用 `ThreadLocal` 对象作为键,并且这些键是通过弱引用实现的。这意味着,一旦外部对 `ThreadLocal` 对象的所有强引用都消失,即使线程本身还在运行,垃圾回收器也可以回收这个 `ThreadLocal` 对象。弱引用与常规的强引用不同,它允许垃圾回收器回收其引用的对象,即使这些对象还有弱引用。在 Java 中,`ThreadLocal` 使用弱引用(Weak References)来引用键,这是为了解决潜在的内存泄漏问题。

2024-03-23 21:32:08 306 1

破解 MyEclipse10

详细的破解步骤,你懂的!学校发的,大神开发的,大家放心用!

2014-06-07

面向对象资料

这里是一些C++的题和面向对象的资料,欢迎下载!

2014-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除