自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

呆萌小新@渊洁的博客

希望你能到这里有所收获!

  • 博客(184)
  • 资源 (4)
  • 问答 (5)
  • 收藏
  • 关注

原创 MySQL高性能及性能优化技巧

Mysql的高性能优化和架构设计. 索引设计,查询方式,mysql底层结构

2021-10-25 22:18:49 2016 6

原创 SpringBoot整合Netty整合WebSocket-带参认证

【代码】SpringBoot整合Netty整合WebSocket-带参认证。

2024-04-02 10:42:22 574

原创 关于mybatis插入返回主键id和SpringBoot事务注解自调用演示

结论: 建议事务注解放在controller层。或者放在controller调用的第一个service作为事务入口 不需要考虑很多问题。

2023-11-27 20:33:33 632

原创 maven多仓库私库模板配置

文章目录<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://mave

2023-11-13 11:51:50 859

原创 Jakarta-JVM篇

本篇总结 周志明 第三版内容;黑马程序员满一航,美团技术团队等内容综述安娜的档案-全球最全书籍文献数据库-科学上网GraalVM官方文档JDK8+ 调参官网指令首先要讲述的包含两类,当下使用最多的hotSpotVM和GraalVM。

2023-11-06 17:14:24 586

原创 go-gin-vue3-elementPlus带参手动上传文件

go的mvc层使用gin框架. 总的来说gin的formFile封装的不如springboot的好.获取值有很多的坑.当然使用axios的formData也有不少坑.现给出较好的解决办法。axios前后端网络交互。

2023-11-01 14:46:54 1263 2

原创 go创建枚举类型

用惯了springboot和Jakarta.才发现springboot和Jakarta的语言是多么精妙!一些场景我们需要使用枚举: 如建立字典值映射,仅通过代码实现方便快捷;维护自定义响应码;维护下拉菜单选项 等.需要注意的是go建立结构体应尽量避免使用基本数值类型,应当使用`基本数值类型指针`. 因为基本数值类型默认数值可能会与状态值冲突.前端传值无法判nil. 当然也可借助gin等三方框架的校验规则,亦或设置负值默认值.这里给出的是弱依赖,仅用go就能解决的方式....

2023-10-25 16:29:23 573 1

原创 EFK代替ELK方案7.17.3

最近发现,logstash日志收集器本身的内存占用和es相当,这也是logstash用java开发,其jvm本身就是内存消耗大户.为了降本增效,发现用go开发的beats可以替代logstash.ELK : 通常我们将服务器日志通过logback的http发送至logstash服务器统一处理,logstash采集处理后发送到elasticsearch服务器.filebeat应该和服务器代码一起,利用filebeat采集服务器存储的日志文件发送到es.以下是7.17.3到8.6的官方配置.只做增添.

2023-09-18 20:56:55 787 1

原创 es倒排索引深入解读

FST在Lucene中被大量使用,例如:倒排索引的存储,同义词词典的存储,搜索关键字建议等。∶索引系统通过扫描文章中的每一个词,对其创建索引,指明在文章中出现的次数和位置,当用户查询时,索引系统过就会根据事先简历的索引进行查找,并将查找的结果反馈给用户的检索方式。Lucene是一个成熟的全文检索库,由Java语言编写,具有高性能、可伸缩的特点,并且开源、:当且仅当有限状态机在输入序列的末尾处于“最终"状态时,才"“接受”"特定的输入序列。约定: 所有没有对应出边的字符默认指向一个不存在的 “死状态”

2023-09-05 15:51:11 301

原创 万级数据优化EasyExcel+mybatis流式查询导出封装

我们不妨先给大家讲一个概念,利用此概念我们正好给大家介绍一个数据库优化的小技巧:需求如下:将一个用户表的数据导出800万条。如果你不假思索,直接一条sql语句搞上去,直接就会内存溢出,因为mysql会将结果记录统一查询出来然后返还给内存:那内存可能直接OOM!@Test// 1、定义资源try {// 获取连接// 获取使用预编译的statement// 关闭资源。

2023-08-28 17:35:30 3568 2

原创 传输对象一定要实现Serializable接口吗

先说结论,Serializable不一定需要被实现. 在对象需要持久化保存到非关系型数据,网络传输RPC调用时候我们一般使用主流的Jackson,fastjson,fastjson2,hession2,protobuf,koyo等序列化工具. 而不是JDK序列化工具. 一般的上述主流序列化框架不需要检测Serializable接口,都有自己的实现.非关系型数据库以及网络对象传输肯定要序列化,但是得看用的啥框架.一般的主流框架不需要实现Serializable,它是jdk序列化识别的标志.

2023-08-17 13:24:22 249

原创 electron+vue+ts窗口间通信

由于ts和electron上下文隔离策略限制不允许直接使用request读取IpcRederer对象. 我们可以借助 usevue vue的第三方集成api综合库.读取ipcRederer。因此官方为我们提供了IpcRederer向主进程发送消息的能力. 以及IpcMain主进程监听处理消息的能力.vue作为纯渲染线程不具备操作本地数据以及窗口间通讯的功能,必须由经electron主进程解决.现有场景: 用户点击图,在新窗口展示实时数据。Main.js/Main.ts 主进程。

2023-08-02 21:02:40 1195 1

原创 vue3+ts+pinia整合websocket

笔者自行整合网络资源,写了一套较为通用的通信模板. 包含 消息队列缓存, 心跳检测, 断线重连.读者可以自行阅读以下代码调整到业务所需.同时也请大家捉虫,笔者会及时修改.使用pinia原因是pinia具备共享数据性质.可以作为消息队列缓存数据,降低渲染压力.同时方便多个页面或组件获取websocket数据。先有实时数据需要展示. 由于设备量极大且要对设备参数实时记录展示.axios空轮询不太适合.注册pinia不再详细叙述,自行看官方文档.选择websocket长连接通讯.

2023-08-02 20:33:39 2635

原创 centos7离线拨号上网

由于去了新地方,公司管住.我的nuc服务器寸步不离我工作的地方,但是没想到要拨号上网…本文借鉴了CentOS 7 离线拨号(PPPOE)

2023-07-24 09:07:51 458

原创 Flink1.17.0数据流

必须连续处理无限流,即事件必须在摄取后立即处理。不可能等待所有输入数据到达,因为输入是无限的,并且在任何时间点都不会完成。处理无界数据通常需要按特定顺序(例如事件发生的顺序)引入事件,以便能够推断结果完整性。可以通过在执行任何计算之前引入所有数据来处理有界流。Flink 被设计为在所有常见的集群环境中运行,以内存中的速度和任何规模执行计算。控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager所控制执行。可以在代码中指定,提交job指定,也可以在集群配置给默认的并行度.

2023-07-18 10:14:25 1296

原创 vue3+ts+vite+electron打包exe

该种方式十分简便.缺点是必须用vue开发完才能打包客户端.无法实时查看客户端样式。

2023-06-16 16:57:25 1995

原创 封装单例Jackson工具类

为什么不注入spring容器代理. 像这样的无状态的工具类,共享资源配置池,无状态配置类等.都可以不注入. 但是这个工具类不注入spring是因为.如下自定义单例写法/**// 日期格式化 private static final String STANDARD_FORMAT = "yyyy-MM-dd HH:mm:ss";} // 静态工厂方法获取单例 public static ObjectMapper getInstance() {

2023-06-07 22:27:18 299

原创 SpringSecurity多源认证之全部交给spring容器

权这篇文章描述了基本security架构.如今这篇是全部交由spring security托管.但博主依然有一个问题不太清楚.放在文末.本篇文章基于认证/支付/优惠劵策略模式-security多源认证文章继续讲解。

2023-06-07 22:08:47 1263

原创 内网穿透常见方式推荐

● 打开代理配置>License管理页面,可以看到系统已经自动为管理员初始化了一条License记录,复制该LicenseKey备用,后续客户端配置需要。,下载最新的release包:neutrino-proxy-server.jar、neutrino-proxy-admin.zip。● 将neutrino-proxy-server.jar、neutrino-proxy-admin.zip上传至服务器部署目录。● 在服务器上创建目录:/root/neutrino-proxy/config。

2023-06-04 14:24:25 529

原创 No provider available for the service.dubbo服务互调启动异常 java.util.HashMap is in module java.base of load

dubbo和openfeign的区别是dubbo是真正的rpc框架.支持多种通信协议.能面对更多的调用场景,而且跨语言. 它的思路是–>服务暴露自己的方法,注册到注册中心. 消费端则从注册中心调用服务暴露的方法.openfeign目的是让开发者调用更简约,因此它是http通信框架. 它的思路是–>服务指定url接口.直接调用目标模块的接口.我的dubbo提供端和消费端配置dubbo : application : name : vector - member # 与服务名一致即可。

2023-05-26 20:59:17 1005

原创 基于gin和gorm的go开发流程

项目地址写在文章最后。

2023-05-22 14:42:42 129

原创 SpringBoot数据库换源

baomidou提供的@DS自定义AOP自动换源实现AbstractRoutingDataSource手动换源。

2023-04-19 20:08:40 2770 4

原创 BIO/NIO/Netty网络通信编程

魔数,用来在第一时间判定是否是无效数据包版本号,可以支持协议的升级序列化算法,消息正文到底采用哪种序列化反序列化方式,可以由此扩展,例如:json、protobuf、hessian、jdk指令类型,是登录、注册、单聊、群聊… 跟业务相关请求序号,为了双工通信,提供异步能力正文长度消息正文。

2023-04-17 20:24:43 517

原创 Maven项目集成Lombok-Log4j日志

以下是springboot改良的普通项目log配置内容。

2023-04-15 13:01:10 858

原创 基于推特雪花算法的改进-处理时间回拨和工作中心自动切换

【代码】基于推特雪花算法的改进-处理时间回拨和工作中心自动切换。

2023-04-06 20:51:02 363

原创 SpringBoot过滤器获取Bean-请求重复可读-获取请求体数据-用户IP归属地获取

这样,在需要多次读取body的地方,只需要在过滤器中把原来的request换成这个自定义的request,然后把这个自定义的带缓存功能的request传到后续的过滤器链中。和加载顺序无关. 无法通过自动注入获取的原因是因为自动注入的前提是两个都加入容器中的对象,才能引用.那由于某些原因不能直接把当前类注入容器中.我们可以通过一个application上下文引用工具类,维护Bean内容.这也能有力证明,和加载顺序无关,否则凭啥我application能注入,自动注入不行?

2023-04-06 17:55:47 763

原创 认证/支付/优惠劵工厂策略模式-security多源认证

那对于后续添加新的登录方式来说不太友好而且代码显得太过臃肿,需要重新梳理一遍业务流程.添加认证逻辑.那有没有一种只用新建一个认证类就ok了?AuthenticationManagerProcessingFilter认证过滤器。如图我们新增认证方式只需要直接实现AuthStrategy接口和新增枚举即可.在使用策略模式以前,我们在单一接口凭借前端的类型判断.他们会调用具体匹配到的Provider完成认证。联系前端认证方式和对应的认证容器名。策略模式+枚举就是一种.可能需要写出如下代码。

2023-04-03 12:41:50 218

原创 Spring-Boot-JPA带括号复杂动态查询

对于xxx以下数组用[0,xxx],对于xxx以上用[xxx]来解析.areaId传形如"1,2,3"的字符串后端切割.也可前端直传一维数组.如查询北京,上海的 车价格在20w-30w 以及40w-50w的车量。如查询深圳,上海的 楼房在 15w-30w, 40w以上的房子.price是价格. 可以多选,也可以不选.area是地区.可以多选,也可以不选.这样不是模糊搜索,而是选择动态查询.price传二维数组字符串。

2023-03-31 12:27:34 522 1

原创 logstash+elasticsearch+Kibana(ELK)日志收集

访问 http://ip:9200,http://ip:5601看es,kibana是否安装完成。3.3 进入logstash容器的挂载目录logstash.conf。3.进入容器后执行以下命令 傻瓜式设置账号密码。2.重启es容器并进入es容器。3.2 重启logstash。

2023-03-21 21:39:45 1681

原创 分布式事务

在二阶段提交的阶段二中,当协调者向参与者发送commit请求之后,发生了局部网络异常或者在发送commit请求过程中协调者发生了故障,这会导致只有一部分参与者接受到了commit请求。尤其在第二阶段,协调者发生故障,那么所有的参与者还都处于锁定事务资源的状态中,而无法继续完成事务操作。是多个数据库或应用程序之间的网络通信事务,它们协调彼此的提交和回滚,以确保整个事务的完成性。那么即使协调者通过选举协议产生了新的协调者,这条事务的状态也是不确定的,没人知道事务是否被已经提交。如果资源不足,则回滚并中止事务。

2023-03-18 21:57:59 697 2

原创 mongo聚合操作练习题

此题简单理解是这样的.但明显不符合逻辑.哪有不同专业pk成绩的.额各个专业专门统计太复杂。(3)查看计算机应用技术专业男生和女生的总学分,最高学分和最低学分。(4)查询各个专业学生的平均成绩,第一个人的成绩和最后一个人的成绩。(2)查看计算机应用技术专业的学生,并按照学分进行降序的排序。(6)显示成绩排名第4和第5的学生的姓名,专业和成绩。(1)查询软件技术和移动应用开发专业学生的平均年龄。(5)统计各个专业的学生人数并按人数从多到少排序。(7)统计不同性别的学生姓名。

2023-03-17 22:17:15 252

原创 Gradle7.4安装与基本使用

gradle有突出的版本不兼容问题.因此要注意SpringBoot对Gradle的要求,以及IDEA对Gradle的要求在IDEA的plugins/lib/gradle中规定了gradle的最大版本号. 在2022.2.1中是6.7 在2022.3.2中是7.4.其余自行查看该位置的版本控制.不过idea规定的版本号可以更改.查看SpringBoot与Gradle的兼容性。

2023-02-26 10:52:22 4794 2

原创 SpringBoot集成mongodb

mongodb属于NoSQL的一种分布式文档型存储数据库.由c++编写介于NoSQL和SQL之间.是最像SQL的非关系型数据库. 也具备ACID能力底层是JSON格式的二进制存储.称BSON.Mongo最大的特点是它支持的查询语言非常强大特点高性能MongoDB提供高性能的数据持久性。特别是,对嵌入式数据模型的支持减少了数据库系统上I/O活动。索引支持更快的查询,并且可以包含来自嵌入式文档和数组的键。

2023-02-23 18:43:56 1230 1

原创 SpringBoot多模块单元测试JPA+MyBatisPlus

本文章内容适合 SpringBoot多模块单系统采用H2内存测试库. 这种情况颇为复杂.因为单元测试必须要依靠主启动类程序. 多模块我试过,每个模块单独设置测试启动类.但是发现一个问题.每个模块都需要mapper扫描.需要关联依赖,还需要在那个模块中引入配置文件.否则读取不到. 也就是说单元测试的性质变了.每个模块的单元测试启动类都需要.像主启动类一样.需要完整的环境加载.这严重偏离了单元测试的目标!

2023-02-19 23:44:08 3378 4

原创 logback之Slf4J日志写入数据库

配置logback-spring.xml入库参数。.也可写相关后台接口控制;建表的SQL语句在图中位置可以找到。配置logging参数。

2023-02-16 12:02:41 1324 3

原创 读取配置文件,注入属性为NULL

2.2 静态属性只能通过set注入.因为静态属性属于类.类加载new的初始化对象被spring托管的执行顺序优先于@Value等读取配置.因此spring代理的对象是无法获取配置文件的值.但可在set注入中重新为静态属性赋值.(尽量不要用这种方式.因为对象的属性应当是无状态的,都应当交给spring管理)2.1 以上方式都需要将类加入spring容器中管理. 故不可在程序的调用链中手动new 对象.应当通过spring注入方式,来调用工具类的属性或方法.

2023-02-16 09:23:30 598

原创 Spring Data JPA和MyBatisPlus比较以及SpringBoot整合

总结: hibernate性能不如MyBatisPlus.但深刻体现面向对象编程的思想无需关注表结构和实体对象的关系.在小项目上hibernate更加方便.而对于复杂业务MyBatisPlus就更胜一筹;

2023-02-09 16:28:37 4625

原创 500 rewrite or internal redirection cycle while internally redirecting to “index.html“

docker部署必须用绝对路径。

2022-11-21 21:51:59 4922 2

原创 ssm+thymeleaf国际化

这是springboot解析规范,当然本章讲解ssm国际化.springboot更为简单.

2022-11-20 21:57:27 385

原创 python多线程+socket实现聊天室(最终版)

【代码】python多线程+socket实现简单了聊天室。

2022-11-13 21:51:12 1816

python聊天室课程设计及源码

关于使用python相关第三方库完成客户端之间的消息通讯,和历史消息持久化json.读取历史消息

2023-03-16

毕业设计springboot+vue音乐网站项目

前端使用: vue/cli “^4.5.15” 后端使用: springboot2.6.2, mybatis-plus3.5.9,mybatis-plus-generator3.5.1 部署:nginx,tomcat,webpack 小结.虽然项目花里胡哨,但是难度不大.收获最多的是: 1.技术选型,任务需求.一旦确定,后期变更代价惨重. 2. 注意备份 3.数据库表单设计 4.bug解决方案 5.更深入体会的是MVVM架构开发模式,流水线式创建实体并实现业务逻辑: domain/pojo/bean → dao/mapper → mapper.xml → service → serviceimpl → controller 6.记得优先对前端进行数据校验.

2022-09-06

数据库课程设计-医院管理系统.zip

mysql-connector-java-8.0.22.jar Window10 IntelliJ IDEA 2021.2.1 apache-jmeter-5.4.1 linux-centos7 spring配bean连接池

2021-12-14

JDBC-mysql银行管理系统.zip

需要自行下载 common-jdbc工具包.运用druid连接池技术.mysql数据持久化技术,mvc编程思想

2021-07-24

基于mysql数据库的图书管理系统.zip

该项目使用JDBC-druid连接池,mysql数据库,java.

2021-07-23

基于javaGUI,IO的网银管理系统.zip

运用了java基础,javaGUI,IO数据持久化技术 (1)登录 (2)注册 (3)首页(4)修改密码 (5)充值 (6)提现 (7)个人信息 (8)添加银行卡(9)银行卡信息 本项目类似于余额宝,微信账户等第三方网银平台.能实现用户的信息修改,不同卡号之间的转账功能.

2021-07-18

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

TA关注的人

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