- 博客(32)
- 问答 (12)
- 收藏
- 关注
原创 RAG 全体系技术分类
Naive RAG < 向量+BM25多路RAG < SAG实体双路RAG < GraphRAG < Agentic RAG1.能力梯度:纯文本匹配(Naive/多路RAG)→轻量化实体关联(SAG)→ 深度图谱推理(GraphRAG)→ 智能自主决策(Agentic RAG)2.SAG核心优势:在低成本、高稳定的工业级前提下,补齐了传统RAG无业务实体关联的致命短板,是普通向量RAG向GraphRAG过渡的最优工程落地方案。3.选型核心逻辑。
2026-07-24 15:57:14
370
原创 idea cpu干到100%的解决方法?
idea版本: IntelliJ IDEA 2024.1.7 (Ultimate Edition)Help >> Change Memory Settings设置成2048M后重启idea。操作系统版本: win10。jdk版本: 1.8。
2025-03-13 15:15:02
6732
原创 开发过程中如何减少属性注释?
举个例子,我们在开发项目中肯定会有状态字段,现在有个工单状态枚举然后在BO、VO实体类里有用到状态属性,通常我们会在状态属性上写硬编码注释BO.javaVO.java硬编码注释会存在不小的维护成本,比如枚举里面的状态增加了,新增了审核不通过状态,那么BO、VO的状态属性上的注释也需要维护。
2025-01-31 11:45:51
276
原创 maven打包报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
mvn clean package -Dmaven.test.skip=true(idea terminal命令行窗口可能执行不了)mvn package -DskipTests=true(idea terminal命令行窗口可以执行)二是写入pom文件,
2025-01-17 16:08:54
620
原创 设计模式之七大软件设计原则
一、单一职责原则二、接口隔离原则三、依赖倒转(倒置)原则四、里氏替换原则五、开闭原则六、迪米特法则七、合成复用原则八、总结
2023-06-07 10:40:44
12
原创 设计模式之单例模式
它基于 classloader 机制避免了多线程的同步问题,不过,instance 在类装载时就实例化,虽然导致类装载的原因有很多种,在单例模式中大多数都是调用 getInstance 方法, 但是也不能确定有其他的方式(或者其他的静态方法)导致类装载,这时候初始化 instance 显然没有达到 lazy loading 的效果。描述:这种方式能达到双检锁方式一样的功效,但实现更简单。描述:这种方式具备很好的 lazy loading,能够在多线程中很好的工作,但是,效率很低,99% 情况下不需要同步。.
2022-08-30 11:45:23
50
原创 并发编程之并发工具集
信号灯.限流器,限制资源的访问.本质上抢占一个令牌,如果抢占到令牌,就通行,否则,就阻塞!acquire()抢占一个令牌release()释放一个令牌.为0的时候,阻塞,有可能同时阻塞N个线程release=令牌+1有令牌了,唤醒。从阻塞的线程中去唤醒。为什么要用共享锁?因为同时可以释放多个令牌,那么意味着可以同时有多个线程抢占到锁。.........
2022-07-23 16:13:15
146
原创 并发编程之阻塞队列
队列是一种只允许在一端进行删除操作,在另一端进行插入操作的线性表,允许插入的一端称为队尾、允许删除的一端称为队头。那么阻塞队列,实际上是在队列的基础上增加了两个操作。
2022-07-23 16:10:48
140
原创 并发编程之多线程基础
进程进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程线程是进程中的一个执行单元(执行路径),负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之一个程序运行后至少有一个进程,一个进程中可以包含多个线程。什么是多线程呢?即就是一个程序中有多个线程在同时执行。...................................................
2022-07-19 11:43:02
221
原创 并发编程之异步编程技术
一、FutureTask1.1 基本介绍和应用Future接口:用来记录线程任务执行完毕后产生的结果。Callable接口:与Runnable接口功能相似,用来指定线程的任务。其中的call()方法,用来返回线程任务执行完毕后的结果,call方法可抛出异常。FutureTask:FutureTask是JDK并发包为Future接口提供的一个实现,代表一个支持取消操作(cancel)的异步计算任务。它实现了Future接口和Runnable接口,所以既是计算任务对象也是结果对象。它可以提交到线程池中去
2022-05-20 17:52:26
84
原创 并发编程之线程池技术
一、基本介绍线程使用上的问题new Thread().start();1、线程的频繁创建销毁比较浪费资源2、线程的数量过多,会造成CPU资源的额外开销。(上下文切换消耗cpu资源)思考: 如何实现线程的复用?池化技术举例: 连接池、对象池、内存池、线程池 。。。池化技术的核心:复用线程池提前创建一系列的线程,保存在这个线程池中。有任务要执行的时候,从线程池中取出线程来执行。没有任务的时候,放回线程池。Java中提供的线程池Executors 线程池创建工厂类创建线程池对象的方法
2022-05-18 17:14:14
144
原创 并发编程之ConcurrentHashMap
一、为什么要用ConcurrentHashMapHashMap -> 非线程安全的HashTable synchronized 锁的粒度粗ConcurrentHashMap(偏向锁、轻量级锁(CAS)、synchronized)锁的粒度细性能 -> 安全性之间做好平衡二、ConcurrentHashMap的使用computeIfAbsentcomputeIfPresentcompute(computeIfAbsent和computeIfPresent两者的结合)merge(合并
2022-05-10 15:27:54
251
原创 并发编程之线程通信
一、线程通信方式共享内存基于某个条件来等待或者唤醒:Wait/Notify、join、Condition二、Wait/Notify2.1 生产者消费者案例生产者import java.util.Queue;public class Producer implements Runnable { private Queue<String> bags; private int maxSize; public Producer(Queue<String&g
2022-04-26 11:26:05
1772
原创 ReentrantLock实现原理分析
一、锁设计猜想1.1 设计目的满足线程的互斥特性意味着同一个时刻,只允许一个线程进入到加锁的代码中。多线程环境下,线程的顺序访问。1.2 设计过程猜想一定会涉及到锁的抢占,需要有一个标记来实现互斥。 全局变量(0,1)。抢占到了锁,怎么处理(不需要处理)。没抢占到锁,怎么处理a、需要等待(让处于排队中的线程,如果没有抢占到锁,则直接先阻塞->释放CPU资源)。wait/notify(线程通信的机制,无法指定唤醒某个线程)LockSupport.park/unpark(阻塞一个指定的
2022-04-25 11:30:29
526
原创 并发编程之并发三要素
一、可见性1.1 不可见问题这个案例比较简单,就是t1线程中用到了stop这个属性,接在在main线程中修改了 stop 这个属性的值来使得t1线程结束,但是t1线程并没有按照期望的结果执行。public class VolatileExample { public static boolean stop=false; public static void main(String[] args) throws InterruptedException { Thread
2022-04-20 17:46:21
449
原创 并发编程之锁
一、原子性问题在下面的案例中,演示了两个线程分别去去调用 demo.incr 方法来对 i 这个变量进行叠加,预期结果应该是20000,但是实际结果却是小于等于20000的值。public class AtomicDemo { int i=0; public void incr(){ i++; } public static void main(String[] args) throws InterruptedException {
2022-04-20 14:35:46
165
原创 省市sql脚本
CREATE TABLE Province(ProvinceID INT Primary Key ,Name varchar(50)); CREATE TABLE City(CityID INT Primary Key ,ProvinceID INT ,Name varchar(50));INSERT INTO Province(ProvinceID,Name)VALUES('1','北京'); INSERT INTO City(CityID,Name,ProvinceID)VALUES('1...
2021-09-13 09:57:49
575
1
原创 解决idea无法拉取jar
1、在idea主界面上面选择 Terminal 窗口2、选择需要执行的maven命令的pom.xml文件所在的目录3、输入命令:mvn -U package 回车即可
2021-08-27 09:43:20
3930
原创 oracle的clob大字段查询优化
oracle的clob大字段模糊查询很慢,亲测通过以下方法加全文索引会明显提高查询速度:1,对于要查询的clob字段使用以下语句创建全文索引CREATE INDEX 自定义索引名ON 表名(列名)INDEXTYPE is CTXSYS.CONTEXT; 2.查询的时候对于clob字段使用如下函数,不要使用likeselect * from 表名 where contains(列名,'XXXXX')>0 order by id desc可以对比like '%XXXXX%'会发现查...
2021-07-26 16:53:16
5298
原创 mybatis插入List集合到Oracle报ORA-00933
一、环境说明mybatis版本:mybatis-3.4.5.jarOracle版本:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production二、报ORA-00933java实体类public class Eenty implements Serializable{ private String sdate; private String rs; private String gro...
2021-05-21 20:04:58
930
原创 linux常用命令总结
一、常用目录命令pwd:查看当前路径## 切换目录:cdcd 目录 cd 目录/目录 cd .. :返回上一级目录 cd ../..:返回上上级目录 cd ../..:返回上上级目录 cd ../目录名 :进入同级目录(相对路径用法) cd ~ :回家(进入该用户目录)## 创建和删除目录mkdir 创建 单一创建 mkdir 目录名 递归创建 mkdir -p a/b/crmdir 删除...
2021-04-23 16:47:55
278
原创 从hdfs上获取表并生成文件命令
一:以下两行为一条linux命令,第一行中temp_test为要获取的表,第二行temp_test.txt为生成文件名/home/hadoop/hadoop-2.2.0/bin/hadoop fs -getmerge /user/hive/warehouse/temp_test/ /home/hadoop/fs/temp_test.txt;二:将生成的文件的分隔符替换成制表符(tab)分割列数据...
2018-07-04 15:40:18
706
转载 数据仓库建模与ETL的实践技巧
一、数据仓库的架构 数据仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型DataBase,它的数据基于OLTP源系统。数据仓库中的数据是细节的、集成的、面向主题的,以OLAP 系统的分析需求为目的。 数据仓库的架构模型包括了星型架构与雪花型架构两种模式。星型架构的中间为事实表,四周为维度表,类似星星;而相比较
2018-01-02 10:13:46
343
原创 windows下任务计划程序调用kettle job
windows下任务计划程序调用kettle jobC:cd C:\pdi-ce-7.0.0.0-25\data-integrationKitchen.bat /norep /file D:\ETL\jb\testdb.kjb注释:以上为windows命令行下的三行三个命令(不可写成一行),第一行命令是选择kitchen.bat所在的盘,第二行命令是进入kitchen.bat安
2017-11-09 09:33:46
1931
原创 hive开窗函数over(partition by ......)用法
一、over(partition by ......)主要和聚合函数sum()、count()、avg()等结合使用,实现分组聚合的功能。示列:根据day_id日期和mac_id机器码进行聚合分组求每一天的该机器的销量和即sum_num,hive sql语句:select day_id,mac_id,mac_color,day_num,sum(day_num)over(partition by
2017-10-13 10:10:35
23977
原创 wireshark报没有可以捕获的接口
问题描述:There are no interfaces on which a capture can be done.解决步骤:1,管理员方式运行cmd2,输入命令net start npf3,先退出wireshark,再打开wireshark-capture-interface,可以看到接口列表,选中一个点击start,开始抓包
2017-08-21 09:48:19
2080
原创 mysql数据表之间求余集
//数据表之间有相同类型的数据列求余集(数据表见图)mysql> (SELECT a.id FROM etl02 a LEFT OUTER JOIN etl01 b ON a.id = b.id WHERE b.id is null) -> UNION -> (SELECT c.id FROM etl01 c LEFT OUTER JOIN etl02 d ON c.id
2017-08-11 14:20:39
598
原创 spark-beeline连接hvie
[hadoop@bis-hadoop-datanode-s-01 ~]$ sh spark-1.6.1-bin-2.2.0/bin/beelineBeeline version 1.6.1 by Apache Hivebeeline> !connect jdbc:hive2://ip:port/defaultConnecting to jdbc:hive2://ip:port/defa
2017-08-01 10:19:10
2056
空空如也
springboot1.5.22下内置tomcat8.5.43配置jndi报错
2021-03-18
请教hive 查询sql里的多行注释怎么写
2017-11-22
hive sql语句中min后的[]的作用
2017-10-13
集合元素属性求最大值
2017-10-12
kettle作业中的运行结果怎样输出
2017-08-08
kettle作业中调用转换步骤
2017-08-08
hadoop大数据开发ETL清洗日志
2017-06-06
用户画像精准度验证方法
2017-06-02
用R语言绘制三维立体图
2017-06-02
用java代码判断相邻元素是否重复
2017-05-12
mysql5.7.17声明光标报错
2017-05-15
mysql两张表反复查询条件限制
2017-05-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅