- 博客(37)
- 收藏
- 关注
原创 设计模式——责任链
责任链模式是一种行为设计模式,用于将请求的发送者和接收者解耦。在这种模式中,请求通过一条由多个对象组成的链传递,直到有一个对象能够处理该请求为止。每个对象都可以决定是否处理请求以及是否将请求传递给下一个对象。处理请求的对象可能不确定:当请求的处理对象需要动态确定时,可以使用责任链模式。责任链模式允许请求在链中传递,直到有一个处理者能够处理该请求。需要避免发送者和接收者之间的耦合:责任链模式可以将发送者和接收者解耦,发送者不需要知道具体的接收者是谁,只需要将请求发送给责任链的第一个处理者即可。
2024-06-26 15:49:46 913
原创 Maven导包太慢
找到目录:IntelliJ IDEA 2023.2\plugins\maven\lib\maven3\conf\setting.xml。
2024-06-05 16:30:48 166 1
原创 报错总结 Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for propert
解决办法:如果在实体类中利用自定义注解@Id在插入到数据库表前生成随机Id值,需要去掉注解,因为这种情况下,我们在新增数据时不需要考虑为新数据的 ID 赋值。
2024-06-05 10:58:29 2057
原创 springboot集成shiro+前端vue,前后端分离项目遇到跨域以及sessionid拿不到等问题
近期在写前后端分离的项目,由于前后端分离导致原来使用的shiro配置无法满足现有系统要求。同时在前后端分离项目中存在的一些问题。例如,一些用户信息需要存储在后端方便进行安全性判断,但这些存储在后端的session前端却获取不到(特别奇怪),以及浏览器访问后端接口出现的跨域问题。
2024-01-16 16:24:02 1510
原创 ElasticSearch入门到上手学习笔记
Elaticsearch,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据,本身扩展性很好可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应用。
2023-11-02 12:45:33 271
原创 SpringBoot集成ElasticSearch8.10.4版本
Client(High Level Rest Client (HLRC))的支持,从而替换为推荐使用的Java API Client 8.x。由于Elasticsearch7.x版本和8.x版本差距较大,并且在8.x版本中放弃了对旧版本中的Java。4、在Test类中对document进行增删改查测试。这里学习和记录8.10.4版本的集成和使用。3、在Test类中对索引进行增删改查测试。5、批量插入document。
2023-11-02 11:55:38 920
原创 java: NoClassDefFoundError: com/fasterxml/jackson/core/exc/StreamWriteException
背景:在使用SpringBoot集成Elasticsearch8.x版本的途中,出现该错误,我的jackson版本如下。:升级SpringBoot版本至2.6.4以上或者降低jackson版本即可。:SpringBoot版本太低与Jackson版本不兼容。
2023-11-01 17:35:11 1931
原创 “error“ : “no handler found for uri [xxx] and method [POST]或者[GET]”
Elasticsearch8.x版本中type已经被弃用了!所以一些请求的命名方式也随之改变。
2023-10-26 15:26:58 2947 2
原创 nginx简单介绍
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,Nginx是由伊戈尔 赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文: Pam6nep) 开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。其特点是占有内存少,并发能力强,事实上ninx的并发能力在同类型的网页服务器中表现较好,中国大陆使用ix网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2023-09-08 19:41:09 107
原创 Spiking GATs(基于尖峰神经网络的学习图注意)论文学习笔记
在峰值神经网络(SNNs)中,可以通过将输入信号数据传输到离散的峰值序列中进行廉价的计算,也可以返回稀疏的输出。作者从中收到启发,提出利用SNN学习图注意,并提出了一种新的图峰值注意网络(GSAT)用于图数据表示和学习。
2022-10-28 22:05:26 1113 1
原创 通俗理解transductive learing和inductive learing
transductive learing和inductive learing的通俗理解
2022-10-22 10:17:01 397
原创 VS code报错,Bad owner or permissions on C:\\Users\\admin/.ssh/config的解决方法
解决vscode连接远程服务器问题
2022-10-17 22:46:43 1695
原创 通俗易懂的GCN原理讲解
GCN,图卷积,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类、图分类、边预测,还可以顺便得到图的嵌入表示(graph embedding),可见用途广泛。
2022-10-17 16:04:28 7547
原创 Dubbo和Zookeeper集成
项目存放地址:https://github.com/Rechiard/ProjectCollection,后缀名为"Dubbo+Zookeeper"分布式、集群、Dubbo+Zookeeper+SpringBoot什么是分布式系统?分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。分布式系统是由一组通过网络进行通信、为了完成共同的任务和协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器、处理
2022-01-19 10:53:52 2059
原创 本地springboot项目连接不上远程服务器上的RabbitMQ
我们的在本地的SpringBoot的项目连接本地虚拟机的RabbitMQ时没有出现连接问题, 但是在连接远程服务器的RabbitMQ时,会出现连接超时,拒绝连接等错误。以下总结了几点错误的原因:原因一:远程服务器的安全组没有开放端口和授权对象原因二:服务器的防火墙没有开放相应端口原因三:yml配置文件出现了错误以下展示标准的配置文件:spring #RabbitMQ rabbitmq: #服务器 host: 8.142.14.138 username: test
2022-01-17 12:22:12 4021
原创 Idea的GenerateAllSetter插件,快速填充对象属性
使用GenerateAllSetter插件使用效果如下:1、创建对象2、光标放在对象名上,然后按Alt+Enter3、之后就会自动生成其中的所有setter方法idea安装步骤Ctrl+Alt+S打开Plugins,搜索GenerateAllSetter,然后Install...
2022-01-09 13:13:39 1786
原创 二叉树的一些基础算法
总结二叉树中一些基础算法1、首先定义二叉树的数据结构public class TreeNode { public int val; //数据 public TreeNode left; //左孩子 public TreeNode right; //右孩子 public TreeNode(int x){ this.val = x; } static ArrayList<Integer> list = new A
2021-12-11 08:13:02 122
原创 KMP算法计算next数组和nextval数组(通俗易懂)
KMP算法(举例说明)例:给出一个字符串序列:ababaaababaa。利用KMP算法分别求出next数组和nextval数组分析:数组索引:0-n逻辑索引:1-nnext数组:1、next[0]=0,next[1]=1;2、当判断一个字母X的next值时,需要将前一个位置的字母Y和其next值m相同的逻辑索引的字母Z进行比较,注意是Y和Z比较,并不是X;逻辑索引值12…N-1N字符串ZY…YXnext数组01…1分别有以下两种情况
2021-09-22 22:42:49 9586 4
原创 操作系统——如何求磁盘的物理地址
如何求磁盘的物理地址概念:磁盘上的物理地址一般用:柱面号,盘面号,扇区号(或者块号)表示1、柱面:我理解为其实就是一个盘片的一面,每个盘面有自己的编号。2、扇区:将盘片分为若干个扇形区域,每一个区域有自己的编号。3、磁道:在盘片的一个圆环就是一个磁道,从内到外或者从外到内编号。通过柱面,扇区,磁道这样划分,一个磁盘的盘片可以分为若干个物理块,然后这样的盘片(柱面)又不止一个,这就是我们外存存放数据的方式。如何将一个内存中的簇号来转化为磁盘上的物理地址:将簇号转化为磁盘物理地址的过程由磁盘
2021-09-17 10:20:46 6728 10
原创 Jpa和MyBatis的对比学习总结
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。JPA是一个Java应用程序接口规范,描述了使用Java标准平台和Java企业版平台的应用中的关系数据的管理。Spirng Data JPA什么是JPA?维基百科:JPA(Java Persistence API,Java持久化API)是一个Java应用程序接口规范,描述了使用Java标准平台(Java SE)和Java企业版平台(Java EE)的应用中的关系数据的管理。Spring Data JPA 全面解析
2021-09-17 09:31:41 4457
原创 《剑指Offer》编程题代码(Java版本)
《剑指Offer》编程题全解(Java版本)这是个人关于《剑指Offer》中编程题的一些总结,都是基于Java版本实现的,非常齐全,希望对大家有帮助。希望在学习的路途上一起进步。另外在read.me文件夹加中注解,分别讲述了各个文件夹是干啥用的。这个是完全免费的总结,毕竟我自己也是学生,非常懂好兄弟们需要什么。在这里附上宝贵的链接:https://gitee.com/rechiard/Offer请使用的小伙伴们给个git星标吧~顺便拿去使用的时候麻烦标注一下版权!!如果你觉得这篇文章对您有帮
2021-09-11 10:00:18 112
原创 Java后端学习框架(2020)
Java后端学习整体框架本博客附上整个java后端学习的整体框架图(图片所属权归属于B站Up主CodeSheep),非常适合学习java后端的同学们查漏补缺,查看自己有无遗漏和没有学到的地方。在这里插入图片描述图片一共分为四个大版块:编程基础研发工具应用框架运维知识希望对你有所帮助~Java后端的学习整体框架,从基础编程到运维知识都有一个大概的分类和汇总。(图片所属权归属于B站Up主CodeSheep)...
2021-09-10 15:46:57 3533
原创 Redis.conf详解
这篇博客主要讲解的是在Redis中关于conf文件的详细作用。由于这个文件十分重要,学习这个文件的相关配置可以让我们在面对不同企业的一些特定的功能的时候如鱼得水,所以我觉得有必要抽出来一篇博客总结一下关于conf文件的相关知识。由于这是Redis系列博客,看不太明白的可以看看我博客里关于Redis其他的博客串起来方便理解。Redis.conf,是Redis开启时的必须文件,也是Redis的核心配置文件,本文将介绍Redis的核心配置文件的各个字段的作用Redis.conf详解单位配置文件 u
2021-09-10 15:33:44 370
原创 Redis核心详解
Redis的发布订阅,用于实时聊天;Redis的主从复制,用于缓存存储;Redis缓存击穿、缓存穿透以及雪崩的高可用问题的解决方法都是Redis的核心内容Redis发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送信息,订阅者(sub)接收信息Redis 客户端可以订阅任意数量的频道订阅/发布消息图:第一个:消息发送者,第二个:频道,第三个:消息订阅者下图展示了频道channel1,以及订阅这个频道的三个客户端——client2、client5和clien
2021-08-26 11:12:03 299
原创 Redis介绍以及基础使用
Redis(Remote Dictionary Server),是远程字典服务。本文主要介绍Redis,五大基础数据结构,三大特殊数据结构以及Redis的事务特性RedisReids是什么Redis(Remote Dictionary Server),是远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了maste
2021-08-22 22:16:38 285
原创 Redis整合SpringBoot
本文主要介绍SpringBoot集成Redis的使用,用于我们实际场景的中的各种开发JedisJedis,是Redis官方推荐的Java连接开发工具,使用Java操作Redis的中间件。所以我们需要对Jedis十分熟悉才能很好的用Java操作Redis1、导入相关依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId>
2021-08-22 22:13:42 164
原创 NoSQL
NoSQL,泛指非关系型的数据库。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。Nosql概述1、单机MySQL的年代90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够这种情况下,整个网站的瓶颈是什么?1、数据量如果太大,一个机器放不下2、数据的索引(B+Tree),一个机器内存也放不下3、访问量(读写混合),一个服务器承受不了2、Memcached(缓存)+MySQL+垂直拆分(读写分离)网站80%的情况都是在读,每
2021-07-20 17:37:50 247
原创 对Java核心--Java多线程并发的理解(3)
JAVA 阻塞队列原理阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况:当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。当队列中填满数据的情况下,生产者端的所有线程都会被自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。阻塞队列的主要方法方法类型抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e,time,unit)移除remove(
2021-07-11 20:20:48 248
原创 对Java核心--Java多线程并发的理解(2)
对Java核心——Java多线程并发的理解(2)本文主要讲述:Java锁的理解与知识普及为什么要用锁?在了解为什么要用锁之前需要了解两个概念,线程安全和线程不安全:线程安全指的是多个线程对共享变量访问时的结果和单线程下顺序对共享变量访问的结果是一致的,是符合预期的;线程不安全指的是多个线程对共享变量访问的结果每次都是不确定的。为了保证线程安全这里又几种方法:第一个不用共享变量,各自用各自的变量就不会有线程安全的问题;第二采用加锁机制,synchronized和Lock接口下的各种锁;第三就是
2021-06-29 14:20:42 141
原创 对Java核心——Java多线程并发的理解
Java多线程并发的理解(1)J.U.C,即java.util.concurrent的缩写,提供了并发编程的解决方案,是Java多线程学习中必不可少的部分。本文主要讲述:JAVA线程实现的四种方式、线程池、线程的生命周期、线程的基本方法、后台线程从网上大多数地方找到的一张关于J.U.C的整体框架图:JAVA线程实现的四种方式继承Thread类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start(
2021-06-28 08:32:26 175
原创 对Java核心——垃圾回收与算法
对Java核心——垃圾回收与算法附上一张JVM GC的框架图片:确定垃圾:引用确定垃圾: 在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。可达性分析: 为了解决引用计数法的循环引用问题,Java 使用了可达性分析的方法。通过一系列的GC roots对象作为起点搜索。如果在GC
2021-06-27 17:28:23 119
原创 对Java核心——JVM的详细了解
Jvm底层运行过程利用一个简单的java程序来阐述Jvm底层运行过程:编写了一个App.java文件,在其内部拥有main()方法和add()两个方法,我们通过build(ctrl+F9)可以在项目文件中生成一个橙色的target文件夹,在其内部中会自动利用javac把App.java文件转化为App.class文件,通过运行App.java文件中的main方法的实际效果也是一样的。点击了run main()方法之后,系统就会将App.class文件用java直接运行到Java虚拟机也就是J
2021-06-26 11:42:23 159
原创 JavaScript整体学习和掌握
1.什么是JavaScript1.1、概述JavaScript是一门世界上最流行的脚本语言一个合格的后端人员,必须要精通JavaScript1.2、历史https://blog.csdn.net/kese7952/article/details/79357868ECMAScript它可以理解是JavaScript的一个标准最新版本已经到了es6版本~但是大部分浏览器还只停留在支持es5代码上导致:开发环境–>线上环境,版本不一致2.快速入门2.1、引入JavaScript1、内
2021-06-16 22:14:08 230 2
原创 快速搭建个人博客(超级方便使用)
本项目为记录我的第一次利用hugo框架建立自己的个人博客过程 通过B站的CodeSheep(程序羊)的视频教学认识到了博客的个人搭建过程,整个搭建过程大概可以分为 个步骤:1.下载并部署git(一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理)1.1 git官方下载链接1.2 git基本命令教学网站2.下载Hugo并配置环境变量path2.1 从Github上下载hugo.exe压缩包(window方法)2.2 通过brew工具(MacOS上的包管
2021-06-14 22:39:20 476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人