- 博客(98)
- 收藏
- 关注
原创 MongoDB升级经历(4.0.23至5.0.19)
为了解决MongoDB的两个漏洞决定把MongoDB升级至最新版本,期间也踩了不少坑,在这里分享出来供大家学习与避坑~
2023-08-14 14:34:13 1945
原创 SpringSecurity6.0+Redis+JWT+MP基于token认证功能开发(源码级剖析可用于实际生产项目)
引子:最近做项目时遇到了一个特殊的需求,需要写共享接口把本系统的一些业务数据共享给各地市的自建系统,为了体现公司的专业性以及考虑到程序的扩展性(通过各地市的行政区划代码做限制),决定要把接口做的高级一些,而不是简单的传个用户名和密码对比数据库里面的,那样真的很low。于是写了基于token的认证功能,在这里分享出来供大家学习与探讨。
2023-06-25 14:00:35 4884 7
原创 Java网络编程
Java网络编程1、网络编程1.1、概述1、计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。2、Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。3、Java提供的网络类库,可以实现无痛的网络连
2020-11-28 17:29:17 11012 2
原创 HashMap源码分析
HashMap是Map接口使用频率最高的实现类,也是面试比较喜欢考察的内容,无论是面试还是日常开发中,只有了解底层才能正确的使用他们,本文就以JDK1.8为例详细了解HashMap底层到底是怎样实现的。
2024-05-05 15:39:55 297
原创 SpringBoot源码阅读1-依赖管理
问题1:为什么pom文件有些声明的依赖不需要指定版本?问题2:spring-boot-starter-parent父依赖启动器的主要作用是进行版本的统一管理,那么项目运行的jar包是从而而来的?
2024-04-26 16:32:02 136 2
原创 面试精选-前端
事件,如果每次输入都去请求服务器获取数据,会造成不必要的请求浪费。此时就可以使用防抖技术,将一定时间内的多次触发合并为一次操作,只请求一次服务器数据,减少了请求次数和服务器负载。的含义是指在一定时间内,多次触发同一个事件,只执行最后一次操作。例如,当我们在搜索框中输入关键词时,输入框会不断触发。
2024-02-25 10:06:48 1188
原创 Crypto的简单应用-前后端加密传输
最近遇到一个数据脱敏处理的需求,想要用一种轻量级的技术实现,必须足够简单并且适用于所有场合如前后端加密传输、路由加密、数据脱敏等。抽时间研究了一下Crypto加密库的一些API,发现完全符合上述需求,扩展也比较容易。
2024-01-02 17:33:10 573
原创 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 634
原创 ORACLE数据恢复(误操作delete或update如何恢复?)
有时候会不小心 DELETE 或 UPDATE 错了某张表的某条数据,如何快速简单恢复数据?
2023-09-29 11:28:56 3310
原创 RocketMQ 5.0 快速入门
Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景,现如今Apache RocketMQ也迭代到了5.0带来了很多新特性如重试机制、流控机制、消息清理机制、消费者负载均衡等
2023-07-19 14:08:10 2123 6
原创 Oracle解析JSON字符串
假设某个字段存储的JSON字符串,我们不想查出来后通过一些常见的编程语言处理(JSON.parse()或者是JSONObject.parseObject()等),想直接在数据库上处理,又该如何书写呢?
2023-07-15 23:26:42 2129
原创 新版RocketMQ可视化管理页面搭建(rocketmq-dashboard)
现如今在GitHub apache/rocketmq-externals 项目下已经找不到 rocketmq-console模块了,官方已经从 apache/rocketmq-externals 独立出来并更名为 rocketmq-dashboard。
2023-05-03 20:11:58 5090
原创 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 171
原创 Linux Docker离线安装
官方推荐我们使用yum管理器一建安装与卸载Docker,但是不是所有的服务器都能访问到公网在线部署,特别是政府项目一般都在内网。并且yum命令必须是root来执行,如果是普通用户,虽然可以使用sudo来提权,还是非常不方便,这就可以使用安装包手动安装Docker。
2023-05-02 12:39:06 552
原创 Java内置的四大核心函数式接口
Java从诞生之日起就一直倡导"一切皆对象",在Java编程里面向对象(OOP)就是编程的一切。但是随着JavaScript、Python、Scala等语言的兴起和新技术的挑战,Java不得不做出相应调整以便支持更加广泛、更加灵活的技术要求,因此Java发展至今不但支持OOP还支持OOF(面向函数编程),很多源码都有OOF的影子,OOF也成为Java必修之一。
2023-04-16 13:16:44 334
原创 Activiti7-进阶(SpringBoot 2.6版)
续接上一篇文章,在上一篇文章中,我们完成了activiti7基础的学习包括25张表、类关系图、流程符号、画流程图、部署流程、启动流程实例、任务查询等,并且使用activiti7提供的API完成了请假申请的流程流转。明白了流程引擎是如何工作的,要想完成企业级的开发,这些知识还是远远不够的,在这一篇文章,我们会深入activiti7的学习,继续探索流程引擎更高级的知识。
2022-12-11 11:15:35 760
原创 PostgreSQL导库实战
最近新项目,频繁遇到开发环境与正式环境数据不一致问题,开发环境改了一些东西,没有及时做记录,等正式环境上线时,都不知道需要同步那些东西,为了避免程序出现bug,最稳妥的就是只能重新导库,整体导库也做了不少,笔者也总结了一些经验,在这里分享给大家。
2022-12-03 13:46:38 411
原创 Activiti7-基础(SpringBoot 2.6版)
说到审批,就一定会有流程。例如 开始 -> 申请 -> 主管审批 -> 人事审批 -> 结束,就是一个简单业务审批流程,按照某种预定义的规则传递文档、信息或任务的过程,通俗的说流程就是多种业务对象在一起合作完成某件事情的步骤。而在计算机体系中为了把步骤变成计算机能理解的形式就衍生出了流程引擎!在复杂多变的业务场景下,流程引擎能保证我们业务执行的准确性,大大降低我们设计业务的成本,因此市面也出现了Osworkflow、BPM、Activiti、flowable、Camunda等功能强大的流程引擎。
2022-10-30 15:33:53 2210
原创 SpringBoot 2.6 集成 swagger 3.0
为了方便在线测试API,相信很多项目都没有弃用swagger,swagger依然是在线文档生成优秀框架。如今swagger也迭代到3.0,整体ui风格相比较swagger2更加整洁,配置方面也调整了不少,非常容易踩坑~
2022-08-30 22:41:39 2454
原创 MultipartFile解析zip文件(解压获取每个文件的输入流和文件元数据)
以zip文件上传至服务端,如果我们需要操作文件内容,那么就不得不对文件进行解压,以获取文件元数据(文件名、创建时间等)和输入流。
2022-08-19 21:14:44 4932
原创 经典RPC框架 - Dubbo-2.7.x
Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。(摘自官网)
2022-07-23 18:50:53 1254
原创 HTTP客户端请求工具RestTemplate
服务端访问HTTP服务随处可见!传统情况下我们都会使用Apache的HttpClient,不过Apache的封装的API非常复杂,还得自己做二次封装和管理资源的回收,因此在项目上非常推荐使用Spring提供的模板类RestTemplate发HTTP请求,RestTemplate封装了更加简单易用的API,能很大程度提升开发者的开发效率....................................
2022-07-17 14:14:25 2316
原创 聊聊Spring中的事务
事务在实际开发中,重要性不言而喻。假设没有合理的事务控制,A向B发起了100元转账,A账户减100,B账户加100,但是转账中途因网络等因素导致程序异常(B账户更新记录没有成功,A账户更新成功),这就导致A账户无缘无故损失100元。。。这就是事务的一个简单例子,何时提交事务、何时事务回滚、合理设置事务的超时时间也是程序设计非常重要的一部分。.....................................................................................
2022-06-25 11:44:36 2678 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人