- 博客(62)
- 收藏
- 关注
原创 【GraphRAG知识图谱详解】
如果问题只是文章中提到了几次西瓜,那它和老王和喜欢吃都没有关系,所以说整体的相关度不够高,查询的时候就可能会把老王喜欢吃西瓜漏掉。所以说矛盾来了,切的太大,容易漏掉细节,而切的太小,又容易失去羽翼之间的联系。然后AI会为每个社区生成更高层次的摘要描述,在这个过程中,AI很聪明,能够举一反三,经常能推理出原文没有明说的信息,比如从小王只吃瓜和老王吃瓜和桃,就能推断出"小王不爱吃桃"。如果ai模型足够的聪明,ai就会根据要求返回类似这样的格式,它会识别出老王和西瓜两个实体,以及老王爱吃瓜这样一个关系。
2025-10-09 17:58:17
877
原创 Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project
把setting 和 project structure里面的JDK版本相关的全部换成1.8的(根据自己的来),maven出现这个问题的原因是:主要是。这些版本一定要对应!
2025-10-09 17:55:03
138
原创 深入理解JVM
jdk中包含了jvm和“屏蔽了操作系统差异的组件”重点补充:类加载机制类加载指的是JVM加载字节码(class文件)的过程。这张图是java类的生命周期图,完整一点可以在加载前面加上javac编译这个过程。类加载只包括加载、连接、初始化。注意区分加载和类加载的区别,加载只是类加载的一个过程其中解析部分是灵活的,它可以在初始化之前或之后再进行,实现"后期绑定"。其他顺序不可改变。逐个了解:加载:加载是一个读取class文件,将其转化为某种静态数据结构存储在方法区内,并在堆中生成一个便于用户调用的java.la
2025-10-09 17:53:29
992
原创 【提示词优化神器:教你 10 分钟用 AI 做一个实用小工具】
注意:禁止直接回答用户问题,也不要追问用户具体细节, 无论用户输入什么,都直接生成一个prompt。避免使用专业术语(如“叠加态”、“非局域性”),语言要生动有趣。你是一个智能提示词生成助手,任务是根据用户输入的问题,自动将它优化成一个清晰、结构化的Prompt,让大模型能够更精准地理解你的意图并输出高质量结果。一般大模型的系统提示词都是固定的通用的,得以回答用户大部分问题。“帮我写个辞职信,干了3年,老板还行,就是工资低想走,下周离职。“最近要搞个读书会,推荐5本有意思的书,别太厚。
2025-09-22 18:05:52
701
原创 【自媒体福音!一招教你把抖音视频文案轻松提取出来】
发现有开源大佬们实现的方法,这里用的是douyinzx,地址这会儿找不到了,不过下面贴了代码。嘎嘎嘎,大家好啊 ,这里是伶羽。拿到音频之后,需要调用其他模型来转成文字, 这里用的是硅基流动的FunAudioLLM/SenseVoiceSmall模型,这里得去官网申请一个APIKey。不过有想法了先别着急动手, 我们走的路,别人多半已经走过了,所以先看看能不能借鉴下前辈的经验。基本上的功能都有,大致的思路是请求抖音的链接,把视频下载下来,把视频转成音频 , 音频再转成文字。好了,会也开的差不多了,下班!
2025-09-05 15:17:16
972
原创 git拉取代码
git公钥出错"//.ssh/id_rsa" failed: No such file or directory。ssh-keygen -t rsa -C “your_email@example.com” 然后回车就行。在模块pom.xml 文件上,右键 Add as Maven Project。从gitlab中拉取代码,使用git clone SSH地址。直接拉master,其他分支切换的时候会自动下载下来。IDEA 将普通模块转换为maven模块。
2024-12-25 15:31:52
120
原创 华为数字化转型之道(方法篇)
数字化转型是企业的必答题,数字化转型是一项复杂的系统工程,而规划就是这项系统工程的顶层设计。数字化转型规划分为三个阶段,分别为描述愿景、设计架构蓝图及规划举措项目。
2024-12-04 18:14:56
888
原创 AQS层层剖析
在源码中,tryAcquire方法是被protected修饰,参数是int值,代表队state的修改,在共享模式下,可能会有多个线程正在共享资源,所以state需要表示线程占用的数量,所以是int类型的。然后程序将会从队列的尾节点开始搜索,找到除了head之外最靠前的节点,即head的后面一个(第二个)当一个线程以共享模式获取锁时,其他也想以共享模式获取锁的线程,也能够争抢锁,从而一起访问共享资源。在AQS的FIFO队列中,头结点其实是一个虚节点,意思是说,头结点并不是当前需要去拿锁的节点,...
2022-08-26 22:02:42
915
原创 CAS,乐观锁
Java并发包为了解决这个问题,提供了一个带有标记的原子引用类“AtomicStampedReference”,它可以通过控制变量值的版本来保证CAS的正确性。CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。因此,在使用CAS前要考虑清楚“ABA”问题是否会影响程序并发的正确性,如果需要解决ABA问题,改用传统的互斥同步可能会比原子类更高效。的缩写,中文意思是:比较并替换。有舔狗一号,舔狗二号,舔狗一号率先冲到女神这,并且把牌子改为1,...
2022-08-26 21:57:42
414
原创 Java中的锁机制详解
并发情况下,多个线程可能会对统一资源产生争抢,那么可能导致数据不一致问题。为了解决这个问题引入了锁机制,通过一种抽象的锁来对资源进行锁定。
2022-08-26 11:47:23
677
原创 面面面试三
项目中的ThreadLocal用作获取登录后用户的信息。它首先就是实现put get remove 三个方法,在用户登录后放进ThreadLocal中,需要的时候get,get完进行remove。如果不进行remove会造成内存泄露内存泄露:之后都不用的东西一直留在内存中。
2022-08-19 19:26:13
309
原创 面试经验二
MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
2022-08-19 19:25:00
318
原创 [Vue warn]: Error in render: “TypeError: Cannot read properties of null (reading ‘length‘)
这是我遇到这个报错的解决方法,希望对你也有所启发!读题:就是**资源找不到,或者为null**,接下来就是找哪里出错了!
2022-08-09 09:12:23
1305
原创 缓存穿透击穿雪崩
缓存穿透:在默认情况下,,数量少可能问题不大,可是一旦。网络安全中也有人恶意使用这种手段进行攻击被称为洪水攻解决方法,以便快速确定是否存在这个值,一次请求若在缓存和数据库中都没找到,就在缓存中放一个空对象用于处理后续这个请求。。解决这个缺陷的方式就是即使对空值设置了过期时间,还是会存在缓存层和存储层的数据会有一段时间窗口的不一致,这对于需要保持一致性的业务会有影响。...
2022-08-08 17:53:54
149
原创 redis三大特殊数据类型
使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用key longitud(经度) latitude(纬度) member […] 将具体经纬度的坐标存入一个有序集合key member [member…] 获取集合中的一个/多个成员坐标key member1 member2 [unit] 返回两个给定位置之间的距离。默认以米作为单位。...
2022-08-08 17:28:19
165
原创 redis五大数据类型
在redis中无论什么数据类型,在数据库中都是以key-value形式保存,通过进行对Redis-key的操作,来完成对数据库中数据的操作。
2022-08-08 17:27:25
177
原创 一天搞定Linux常用的基本命令!!!
tips:更改主机名:hostnamecd : 切换目录命令!./ : 当前目录cd … : 返回上一级目录创建文件夹 mkdir chen进入根目录 cd /查看当前文件夹的文件 ls查看当前文件夹的全部文件 ls -al在Linux中ls可能是最常常被使用的!-a 参数 : all ,查看全部的文件,包括隐藏文件-l 参数 :列出所有的文件,包含文件的属性和权限,没有隐藏文件所有Linux可以组合使用!如 ls -alcd 目录名(绝对路径都是以/开头的,相对路径,对于当前目录该如何寻找 …/
2022-08-08 17:25:07
235
原创 redis入门-1
1、单机Mysql时代数据量增加到一定程度,单机数据库就放不下了数据的索引(B+ Tree),一个机器内存也存放不下访问量变大后(读写混合),一台服务器承受不住。2、Memcached(缓存) + Mysql + 垂直拆分(读写分离)优化过程经历了以下几个过程:优化数据库的数据结构和索引(难度大)文件缓存,通过IO流获取比每次都访问数据库效率略高,但是流量爆炸式增长时候,IO流也承受不了。...
2022-08-08 17:16:20
171
原创 java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does no e
是beans.xml文件的位置问题在项目的根目录下新建一个包,名字随意,把beans.xml拉到里边选中该包右键选择Mark Directory as选择Resources rootOK!
2022-07-12 19:00:23
781
原创 SpringBoot基础实操记录
springboot基础实操记录了解一下三层架构及其作用:Dao层(持久层):封装一些关于数据库操作在此,但是实际实现不在这。JPA/MyBatis只要关于数据库操作都在这里定义,里面写的方法都交给service层调用,这样service完全不需要接触数据库,实现了高耦合。Service层(业务层):具体实现都在这,增删改查等一般是定义接口service,然后serviceImpl去实现这些方法。Web(controller)层(表现层):前端页面的控制器:调用service的方法来实现业务以
2022-05-26 21:49:00
175
原创 SpringBoot入门
SpringBoot入门1.微服务:一个项目 可以由多个 小型服务构成(微服务)2.spring boot可以快速开发 微服务模块 a.简化j2ee开发 b.整个spring技术栈的整合(整合springmvc spring) c.整个j2ee技术的整合(整合mybatis redis)3准备:jdk:JAVA_HOME: jdk根目录path:jdk根目录\binclasspath: .;jdk根目录\libmaven:MAVEN_HOME: maven根目录path:
2022-05-26 21:48:06
150
原创 Java对象和构造方法
Java对象概念的理解编程思想中有一句话万物皆对象,对于Java来说,就是把数据和对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出他们的共性,形成——类。在面对对象的编程方式里,对象有属性有方法,例如dog类cat类,都有年龄、名字等属性,dog会吃狗粮,cat会吃猫粮,吃东西就是方法。对象不是孤立的,是有父子关系的。例如有一个父类pet,dog、cat共同的属性方法都可以在父类pet中定义,如年龄、名字、吃(这个动作)在父类中定义,子类继承后就可以使用了。以下为转载内容,在
2022-05-26 21:45:16
187
原创 Java类加载机制
重点补充:类加载机制类加载指的是JVM加载字节码(class文件)的过程。这张图是java类的生命周期图,完整一点可以在加载前面加上javac编译这个过程。类加载只包括加载、连接、初始化。注意区分加载和类加载的区别,加载只是类加载的一个过程其中解析部分是灵活的,它可以在初始化之前或之后再进行,实现"后期绑定"。其他顺序不可改变。逐个了解:加载:加载是一个读取class文件,将其转化为某种静态数据结构存储在方法区内,并在堆中生成一个便于用户调用的java.lang.Class类
2022-05-26 21:37:31
166
原创 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile
原因:JDK版本不一致step1:修改pom文件里的jdk版本 <properties> <java.version>1.8</java.version> </properties>step2:step3:step4:在这里插入图片描述step5:
2022-03-07 08:51:23
579
原创 Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3
原因是没有导入maven-site-plugin:3.3在配置文件中手动导入:<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.3</version> </d
2022-03-07 08:34:59
3571
原创 Java数据结构与算法之栈与队列
栈:底层为数组与手枪压子弹一样,先进的后出,后进的先出。下面是代码演示:package com.ShuJu;/* Creat by CJ 2022/2/26 15:00*/import java.util.Arrays;public class MyStack { //栈的底层是用数组来存储数据的 int[] elements; public MyStack(){ elements = new int[0]; } //压
2022-02-26 16:00:06
110
原创 Java数据结构与算法之数组
数组的基本使用package com.ShuJu;/* Creat by CJ 2022/2/13 20:28*/public class TestArray { public static void main(String[] args) { int[] arr1 = new int[3]; int length1 = arr1.length; System.out.println("arr1's length: " + leng
2022-02-24 20:51:12
453
原创 java基础面试题51~60
51.创建线程有哪几种方式?继承Thread类创建线程定义Thread类的子类,重写run()方法,即线程的执行体创建Thread子类的实例,即创建线程对象调用线程对象的start()方法来启动线程实现Runnable接口创建线程定义实现Runnable接口的类,重写run()方法创建Runnable实现类的实例,以此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象调用线程对象的start()方法启动线程使用Callable
2022-02-13 14:18:43
442
原创 java基础面试题41~50
41.ArrayList 和 Vector 的区别是什么?Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList是线程不安全的,它的方法之间是线程不同步的,导致Vector效率无法和ArrayList相比。ArrayList和Vector都采用线性连续存储空间,当存储空间不足时,ArrayList默认增加为原来的50%,Vector默认增加原来的一倍。从源码可以看出vector多了一个public Vector(int initialCapacity, int
2022-02-12 20:54:29
296
原创 java基础面试题31~40
31.java中如何跳出多重循环在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环public static void method1(){ ok: for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.println("xxx"); if(j==2){ break ok;//跳到循环外的ok,终止整个循
2022-02-11 16:56:25
594
原创 java基础面试题21~30
对字符串的都有哪些方法?详细说明下。具体有String、StringBuffer和StringBuilder这三个类。String是不可变类,每次操作都会生成新的String对象,并将结果指针指向新的对象,由此会产生内存碎片。如果要频繁对字符串修改,采用StringBuffer 和 StringBuilder更好一些。StringBuffer是线程安全的,多线程的时候推荐使用StringBuffer,但是大多数情况下是单线程,大多使用StringBuilder。22.String str=.
2022-02-10 15:00:18
633
原创 Java基础面试题11~20
11.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。equals与hashCode的关系?equals()相等的两个对象,hashCode()一定相等;hashCode()不相等,一定能推出equals()也不相等;hashCode()相等,equals()可能相等,也可能不等。12.final、finalize 和 finally
2022-02-09 14:56:01
119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅