- 博客(106)
- 收藏
- 关注

原创 MongoDB升级经历(4.0.23至5.0.19)
为了解决MongoDB的两个漏洞决定把MongoDB升级至最新版本,期间也踩了不少坑,在这里分享出来供大家学习与避坑~
2023-08-14 14:34:13
3404
3

原创 SpringSecurity6.0+Redis+JWT+MP基于token认证功能开发(源码级剖析可用于实际生产项目)
引子:最近做项目时遇到了一个特殊的需求,需要写共享接口把本系统的一些业务数据共享给各地市的自建系统,为了体现公司的专业性以及考虑到程序的扩展性(通过各地市的行政区划代码做限制),决定要把接口做的高级一些,而不是简单的传个用户名和密码对比数据库里面的,那样真的很low。于是写了基于token的认证功能,在这里分享出来供大家学习与探讨。
2023-06-25 14:00:35
6982
8

原创 Java网络编程
Java网络编程1、网络编程1.1、概述1、计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。2、Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。3、Java提供的网络类库,可以实现无痛的网络连
2020-11-28 17:29:17
11207
2
原创 Java实现pdf文件压缩(aspose-pdf实现压缩、itextpdf去除aspose-pdf版权水印)
时间换空间,实现pdf文件无损压缩。
2025-02-28 15:07:06
554
原创 docker /var/lib/docker/overlay2目录把磁盘空间占满问题
2、进入overlay2目录,查找那个容器目录占用最高。了,docker系统文件把磁盘空间占满了。3、占用过高的目录,确定与那个容器有关联。,确定是与那个正在运行的容器有关联。好家伙占用110G!4、进入容器,查找大文件。1、查看服务器磁盘空间。
2025-02-07 14:32:55
382
原创 Linux定时启动jar应用shell脚本分享
应用的进程ID,判断是否有进程ID,如果有进程ID就杀死进程,否则直接启动即可。我们要实现的功能也很简单,就是精确找到。1、如何精确找到jar应用进程。
2024-09-14 22:02:31
566
原创 OpenFeign中的HttpClient替换(替换成带有连接池的)
OpenFeign中的HttpClient如果不做任何特殊的配置,默认是采用JDK自带的HttpURLConnection发送HTTP请求,由于JDK的HttpURLConnection没有连接池,性能和效率上是比较低的。
2024-08-11 21:29:05
697
原创 HashMap源码分析
HashMap是Map接口使用频率最高的实现类,也是面试比较喜欢考察的内容,无论是面试还是日常开发中,只有了解底层才能正确的使用他们,本文就以JDK1.8为例详细了解HashMap底层到底是怎样实现的。
2024-05-05 15:39:55
396
原创 SpringBoot源码阅读1-依赖管理
问题1:为什么pom文件有些声明的依赖不需要指定版本?问题2:spring-boot-starter-parent父依赖启动器的主要作用是进行版本的统一管理,那么项目运行的jar包是从而而来的?
2024-04-26 16:32:02
290
2
原创 面试精选-前端
事件,如果每次输入都去请求服务器获取数据,会造成不必要的请求浪费。此时就可以使用防抖技术,将一定时间内的多次触发合并为一次操作,只请求一次服务器数据,减少了请求次数和服务器负载。的含义是指在一定时间内,多次触发同一个事件,只执行最后一次操作。例如,当我们在搜索框中输入关键词时,输入框会不断触发。
2024-02-25 10:06:48
1237
原创 Crypto/Jsencrypt的简单应用-前后端加密传输
最近遇到一个数据脱敏处理的需求,想要用一种轻量级的技术实现,必须足够简单并且适用于所有场合如前后端加密传输、路由加密、数据脱敏等。抽时间研究了一下Crypto加密库的一些API,发现完全符合上述需求,扩展也比较容易。
2024-01-02 17:33:10
888
原创 mongodb-gridfs下载文件报Sort exceeded memory limit of 104857600 bytes异常
com.mongodb.MongoQueryException: Query failed with error code 292 and error message 'Executor error during find command :: caused by :: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting.' on server 11.51.141.63:27017
2023-10-24 21:17:38
763
原创 ORACLE数据恢复(误操作delete或update如何恢复?)
有时候会不小心 DELETE 或 UPDATE 错了某张表的某条数据,如何快速简单恢复数据?
2023-09-29 11:28:56
6784
原创 RocketMQ 5.0 快速入门
Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景,现如今Apache RocketMQ也迭代到了5.0带来了很多新特性如重试机制、流控机制、消息清理机制、消费者负载均衡等
2023-07-19 14:08:10
3529
6
原创 Oracle解析JSON字符串
假设某个字段存储的JSON字符串,我们不想查出来后通过一些常见的编程语言处理(JSON.parse()或者是JSONObject.parseObject()等),想直接在数据库上处理,又该如何书写呢?
2023-07-15 23:26:42
3171
原创 新版RocketMQ可视化管理页面搭建(rocketmq-dashboard)
现如今在GitHub apache/rocketmq-externals 项目下已经找不到 rocketmq-console模块了,官方已经从 apache/rocketmq-externals 独立出来并更名为 rocketmq-dashboard。
2023-05-03 20:11:58
9105
原创 use jar not war SpringBoot项目不推荐你使用Tomcat部署
随着微服的务兴起手动部署Tomcat的方式逐渐被淘汰,每一个服务只要有基础的web功能就足够了。假如有100个微服务,不可能手动部署100次Tomcat,使用jar包才是最方便。另外Tomcat经常存在一些安全漏洞,每次做安全测评都需要升级Tomcat才能解决,试想一下如果100个微服务都需要升级Tomcat漏洞(手动安装、手动配置)…因此SpringBoot内嵌了轻量级的tomcat,配合docker将应用程序依赖的JRE环境,jar包制作成一个镜像并运行起来可以很大程度节约服务器资源、部署成本。
2023-05-02 20:49:16
375
原创 Linux Docker离线安装
官方推荐我们使用yum管理器一建安装与卸载Docker,但是不是所有的服务器都能访问到公网在线部署,特别是政府项目一般都在内网。并且yum命令必须是root来执行,如果是普通用户,虽然可以使用sudo来提权,还是非常不方便,这就可以使用安装包手动安装Docker。
2023-05-02 12:39:06
708
原创 Java内置的四大核心函数式接口
Java从诞生之日起就一直倡导"一切皆对象",在Java编程里面向对象(OOP)就是编程的一切。但是随着JavaScript、Python、Scala等语言的兴起和新技术的挑战,Java不得不做出相应调整以便支持更加广泛、更加灵活的技术要求,因此Java发展至今不但支持OOP还支持OOF(面向函数编程),很多源码都有OOF的影子,OOF也成为Java必修之一。
2023-04-16 13:16:44
548
原创 Activiti7-进阶(SpringBoot 2.6版)
续接上一篇文章,在上一篇文章中,我们完成了activiti7基础的学习包括25张表、类关系图、流程符号、画流程图、部署流程、启动流程实例、任务查询等,并且使用activiti7提供的API完成了请假申请的流程流转。明白了流程引擎是如何工作的,要想完成企业级的开发,这些知识还是远远不够的,在这一篇文章,我们会深入activiti7的学习,继续探索流程引擎更高级的知识。
2022-12-11 11:15:35
895
原创 PostgreSQL导库实战
最近新项目,频繁遇到开发环境与正式环境数据不一致问题,开发环境改了一些东西,没有及时做记录,等正式环境上线时,都不知道需要同步那些东西,为了避免程序出现bug,最稳妥的就是只能重新导库,整体导库也做了不少,笔者也总结了一些经验,在这里分享给大家。
2022-12-03 13:46:38
453
原创 Activiti7-基础(SpringBoot 2.6版)
说到审批,就一定会有流程。例如 开始 -> 申请 -> 主管审批 -> 人事审批 -> 结束,就是一个简单业务审批流程,按照某种预定义的规则传递文档、信息或任务的过程,通俗的说流程就是多种业务对象在一起合作完成某件事情的步骤。而在计算机体系中为了把步骤变成计算机能理解的形式就衍生出了流程引擎!在复杂多变的业务场景下,流程引擎能保证我们业务执行的准确性,大大降低我们设计业务的成本,因此市面也出现了Osworkflow、BPM、Activiti、flowable、Camunda等功能强大的流程引擎。
2022-10-30 15:33:53
2558
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人