自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 解决缓存一致性问题

我们能放入缓存的数据本就不应该是实时性、一致性要求超高的。所以缓存数据的时候加上过期时间,保证每天拿到当前最新数据即可,这是一个保险方案。正常来说推荐失效模式使用先更新数据库。我们不应该过度设计,增加系统的复杂性。遇到实时性、一致性要求高的数据,就应该查数据库,即使慢点。性能和一致性不能同时满足,性能与场景结合考虑,是否选择最终一致性,还是强一致性(加锁)。失败场景下要保证一致性,常见手段就是重试,同步重试会影响吞吐量,所以通常会采用异步重试的方案。

2022-11-16 23:44:55 1607

原创 Windows下Java代码CPU占用高解决问题定位

Windows下Java代码CPU占用高解决问题定位一、情况在点击页面时,页面数据不显示,请求到后端的逻辑中。查看到CPU占用到有90%以上。二、代码定位打开任务管理器,记录需要查看的进程PID没有显示PID列可以在这设置打开命令行,导出进程文件使用该命令可导出Java进程的状态信息由于windows不自带查看线程的工具,所以使用Proccess Exploer查看。Process Explorer - Windows Sysinternals | Micros

2022-03-07 09:35:46 1372

原创 MySQL储存过程详解

1 概述存储过程就像是程序中的子程序,存储在数据库中。存储过程可以有名称、参数列表和 SQL 语句。使用 CALL 语句调用。2 特点运行速度快。利用缓存的优势等。可移植的好处:简化应用开发人员的工作。增强安全性。减少数据在数据库和应用服务器之间的传输。3 案例实际运行创建一个存储存储过程DELIMITER;;CREATE DEFINER=`root`@`localhost` PROCEDURE `selectitem`()BEGIN #Routine body goes

2021-12-24 16:38:05 5415

原创 Java8新特性Optional详解

Java8新特性Optional概述由于NullPointException这个错误是我们常间的错误,为了减少这样的错误,很多是否要对对象进行判断操作,Optional类就从此出现,为了减少NullPointException,优化我们的代码判断空指针的繁锁,且提供了一些方便的对象操作方法。Optional是一个容器对象,内部存储需要操作的对象。存储存在的对象使用Optional.of();方法,如果该方法参数为空会抛出异常,避免这个问题就可以使用Optional.ofNullable();方法能够传

2021-10-15 11:48:01 685

原创 Ubuntu20.04安装详细图文教程(双系统)

Ubuntu安装前言最近想把自己开发环境换成linux的,想了一下还是ubuntu比较面向桌面,而且想熟悉使用一下Linux操作系统,决定使用ubuntu。开始了着手查找安装Ubuntu双系统的方法。安装有三种,虚拟机安装、wubi安装和U盘安装。第一种发挥不出硬件本身的性能,尝鲜还行。使用wubi–就是ubuntu提供的一种简便的安装系统方法,但是当时使用一直出错。所以我用了第三种,就出现了这篇博客。一、需要资源U盘一个(提前备份数据)Ubuntu 20.04 LTS 镜像下载地址:清华源

2021-01-30 00:52:34 361080 39

原创 《快速排序》的思想以及代码实现--排序算法(五)

文章目录前言1.排序算法的分类一、(Shell Sort)的基本概念1.基本介绍2.执行逻辑3.图解过程4.代码实现四、排序算法情况前言1.排序算法的分类内部排序:指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。常见的排序算法分类一、(Shell Sort)的基本概念1.基本介绍2.执行逻辑3.图解过程4.代码实现四、排序算法情况相关文章:《冒泡排序》的思想以及代码实现–排序

2020-11-05 12:29:15 219 1

原创 Manjaro的EFI系统分区迁移(通用Linux)

我是用的是Manjaro,由于当时/home目录的分区太小了,而Linux上扩展分区只能连续的分区中扩展,我的efi堵在了中间,所以就想把他迁移到另一个分区,顺利扩展/home目录分区。

2023-05-13 15:46:49 1246 1

原创 备份Linux系统(通用)

我装的manjaro系统,但避免Linux出现什么问题,我已近作为日常系统使用了,需要维持系统稳定,所以备份一个系统显得很重要。我的场景是这样,把系统的文件备份到新的存储区域,这个区域可以是U盘,硬盘其他分区空间甚至是网络服务器的空间。下面我执行一个具体操作把系统备份到一个移动U盘上。

2023-02-26 11:35:53 2572

原创 安装wine版微信,缺少deepin-udis86解决办法

出现问题找不到deepin-udis86包,把项目clone下来,执行。1.本地安装这个依赖。3.如果出现以下问题。

2023-01-06 18:25:19 840

原创 设置访问SSH为密钥访问

共有两个文件私钥用来登录,公钥用来放服务器上。接下来上传公钥到服务器,使用私钥加密数据访问服务器。

2022-12-27 10:35:22 1189

原创 FRP搭建内网穿透

内网穿透方式很多,可以用公网IP进行端口映射,DDNS等。现在我有个云服务器,使用它做中转作为内网穿透的工具。内网穿透工具的原理与开发实战。

2022-12-16 18:59:53 1681

原创 Docker安装可视化管理器Portainer

Portainer 提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm 集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足个人用户对容器管理的全部需求。能轻松构建和管理 Docker、Docker Swarm、Kubernetes 和 Azure ACI 中的容器。Portainer 由两个元素组成:Portainer 服务器和 Portainer 代理。两者都在您现有的容器化基础设施上作

2022-12-04 12:59:51 933

原创 SpringBoot项目中使用线程池

在SpringBoot环境使用线程池并可配置。

2022-12-02 22:29:03 733

原创 ElasticSearch-全文检索快速入门

全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。

2022-11-04 16:24:01 945

原创 Docker安装Nginx较佳实践

为了更好的操作容器中的Nginx我们需要把Nginx的一些配置文件提取出来。做关键文件的映射。

2022-11-03 22:28:03 878

原创 manjaro搭建smb共享文件夹

注销或重启电脑(很重要,我就是没有注销导致不生效一直排查问题,花费许多时间了)创建/home/share目录,授权777。在windows电脑打开文件管理器,访问。目录打开配置samba.conf。添加用户到sambashare组。查看对应IP上的samba服务器。查看所有Samba用户。测试配置文件是否正确。...

2022-07-14 21:11:35 1150

原创 manjaro安装输入法成功但无法使用问题&搜狗输入法安装教程

1.安装必要的软件2.配置环境变量提供两个方法二选一即可方法1:输入下面内容方法2:1.配置环境变量问题2.我所遇到的这个问题安装之后出现输入法调用不出来,网上找答案都是配置变量解决,问题在于我的变量已经配好了。搞了很长时间,在配置输入法的时候添加一个汉语键盘竟然就成功了,啥原理啊。添加这个就行了...

2022-07-13 01:15:47 3152 2

原创 刷入Magisk通用方法

输入面具的方式很多,这里只使用推荐的修补boot的方式刷入。其他使用第三方Rec刷入和Root权限安装的方式感兴趣可以自行了解。但使用boot修补方式是最好的。我的是小米11pro,其他机型手机也大同小异。.........

2022-06-21 16:29:23 29555 1

原创 Maven依赖冲突详解

Maven依赖冲突详解前言最近在项目的使用maven过程中,出现了maven依赖包冲突的问题。后续解决了。记下相关的知识点和资料。希望对你有作用。一、maven依赖处理1 对依赖的工作模式当我们引入一个依赖时,maven会导入对应的包,并且该依赖所依赖的所有包都会进行导入,知道没有依赖为止。2 包冲突什么是冲突。它的意思就是在用一个项目导入不同版本的相同名的多个包,那么就产生的冲突。而这个冲突就很有可能导致项目无法运行。举个例子A->B->C1.0,D->E->C2.0

2022-05-31 00:20:12 5832 2

原创 Docker的x509: certificate signed by unknown authority解决

Docker的x509: certificate signed by unknown authority解决背景在使用私库Harbor的时候,登录报错,x509: certificate signed by unknown authority。解决办法打开deamon,json(不存在就创建这个文件)sudo vi /etc/docker/daemon.json添加以下配置{ "insecure-registries":["xxx"] }xxx填写私库地址然后重启docke

2022-04-27 15:33:47 2423

原创 认识WebSocket并搭建服务端

认识WebSocket并搭建服务端前言一、概述WebSocket 协议在2008年诞生,2011年成为国际标准。webSocket能够在建立连接之后,在服务器端推送数据到客户端,解决HTTP协议的弊端。特点:(1)建立在 TCP 协议之上,服务器端的实现比较容易。(2)与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。(3)数据格式比较轻量,性能开销小,通信高效。(4)可以发送文本,也可以

2022-03-17 16:52:40 27616

原创 非常简单安装NodeJS与配置

安装NodeJS与配置一、概述NodeJs是一个JavaScript的运行环境,基于V8引擎。使JavaScript实现后端程序成为可能。Node.js使用一个事件驱动、非阻塞式 I/O 的模型,使其轻量且高效。Node.js的软件包生态系统npm是全球最大的开源库生态系统二、windows安装Node.js 官方网站下载:https://nodejs.org/en/download/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kJiecwqu-164584231

2022-02-26 10:27:24 529

原创 Java的日志生态了解

一、日志概述Java日志一、日志概述二、日志的框架Log4jJULJCL(Jakarta Commons Logging)Slf4j(Simple Logging Facade for Java)LogbackLog4j2最后什么是日志?一个项目它是各个模块组合而成的,在项目的运行过程中,假如出现错误我们怎么定位?日志就可以帮助这样的环境。日志就是输出记录项目在执行时的各种操作,帮助开发人员查看信息、定位问题等等。日志有什么作用?状态监控:记录程序运行情况,问题追踪:出现问题方便排错和调试优

2022-01-25 16:08:28 483

原创 构建自己的Hexo博客过程

构建自己的Hexo博客过程1.安装hexo,初始化博客搭建详情过程参考:Hexo文档2.安装美化主题选择hexo-theme-yelee主题,配置自己的博客。参考:github.com-hexo-theme-yeleeyelee 主题使用说明3.部署到个人服务器将Hexo部署到自己的服务器上4.插件3.1文章添加 emoji 表情符npm install hexo-filter-github-emojis --save根目录下的配置文件 _config.yml 中进行配置,还

2022-01-14 14:31:54 253

原创 Tomcat常用配置

一、Tomcat不同项目配置不同端口前言部署项目很常见是不同的项目部署在不同的端口中。如在默认的8080端口被占用,或者想使用其他端口部署,下面使用tomcat把项目部署在某一个端口中。其实非常简单,只需修改一个配置和创建一个文件夹。1.配置步骤1.在tomcat的conf目录下修改server.xml文件2.在server.xml文件中添加配置简单说明一下,在下有标签,我们就是添加一个标签体。添加的标签体如下:<Service name="Catalina2"> &l

2021-11-29 11:44:09 1605

转载 无法联网的Linux环境离线安装Nginx

前言在一个外部网络环境下的Linux安装nginx。最近工作部署需要在无外部网络Linux上部署Nginx,没有网络也就是不能正常使用yum包工具下载依赖。而nginx需要本地进行编译,编译需要几个依赖。所以整个流程,下载nginx和nginx所需要的依赖,在linux中编译安装依赖,最后编译ngixn完成部署。本次使用的linux发行版需要是支持npm管理工具的发行版。在网上找到了一篇文章有详细的解决步骤,这里就直接转载记录下来。安装准备安装Nginx之前需要先安装openssl、pcre、zli

2021-11-10 15:00:46 3370 6

原创 Java项目在Linux环境使用aspose把word转pdf乱码问题

Java项目在Linux环境使用aspose把word转pdf乱码问题一、问题在项目中有word转pdf并展示的功能,在本地的windows环境下没有问题。但是放在Linux中部署运行,生成的pdf出现框框的字符。二、原因查阅资料,由于Linux上缺少对应的字体导致pdf生成无法显示真实的文字。三、解决方法把windows上的字体安装到Linux上windws的字体在c:\windows\fonts目录3.1 字体复制到Linux创建win目录。把windws的c:\windows\fo

2021-10-26 18:06:15 3004 1

原创 简单工具Java生成Word

Java操作生成Word(poi-tl实现)前言最近有个生成Word报告的需求,把数据统计出来然后以Word的形式展示。在网上找了一些实现的技术,包括apache poi和FreeMarker,但两者对于生成word都有些许不够。apache poi提供Java程序对Microsoft Office格式档案读和写的功能,但使用起来很繁琐,操作自由度高,需要自己设计风格以便于维护。FreeMarker以模板引擎的思想,简单易用,对于HTML和XML的操作还好,但Word操作起来并不方便。最后找到了poi-

2021-09-17 15:53:59 3001 1

原创 syncthing搭建自己的同步云

syncthing前言一、安装linux端windows二、使用前言现在由于自己用着许多不同系统的设备,有安卓,win10,linux等等。平常有使用到一些同步的产品,比如oneDriver,这些产品的确很方便,能让你在各个端访问自己的文件,一处修改处处同步。但是oneDriver的免费存储太少,而且不能再linux上使用。所以我找到了syncthing。这是一个开源的同步工具,使用Go语言编写,速度很快,而且同步的数据都是加密的,把他放到自己的服务器中,让自己的服务器作为同步云也是不错的选择。一、安

2021-09-08 08:54:06 2382

原创 ubuntu20.04修改输入法无法启动桌面

前言我使用ubuntu的搜狗输入法,想卸载掉换成百度的。结果卸载了之后在换输入法的设置时卡住了,只能鼠标在移动。然后我直接电源重启(犯了大忌),ubunut直接无法显示桌面了,卡在桌面黑屏了。这问题我弄了几小时才一步一步发现是那里导致了这个问题。...

2021-09-06 23:31:51 1477 5

原创 简单Tomcat和Nginx部署前端项目

前言记录一下前端项目的部署,主要最近也在做这些事情。一、tomcat部署前端这里我使用的事linux环境,windows下类似。1、下载tomcattomcat下载官网版本很多,下载常用的支持Java8的就行。选择对应系统类型的文件2、查看tomcat目录我下载的是Linux版本,windows版本也类似。tomcat的目录如下。重点,两步就能部署起项目我们把前端的项目解压,放到tomcat目录下的webapps下。例如:我在webapps下存放了cloud名称的前端项目

2021-09-02 14:21:14 4124 3

原创 Field * doesn‘t have a default value问题

前言最近开发时,把数据插入表中,出现了Field * doesn’t have a default value报错,找了一些解决方法,记录一下一、场景表使用了String类型作为主键,在插入数据时,主键是带了数据进到数据库的。然后出现了原因是:主键没有设置默认值主键不能为空,String类型不能够自增主键。所以设置默认空字符串即可。...

2021-08-16 10:26:16 15373

原创 Maven安装jar到本地仓库

安装jar到本地仓库1、命令mvn install:install-file -DgroupId=com.shd -DartifactId=mqttv3 -Dversion=1.2.5 -Dpackaging=jar -Dfile=mqttv3-1.2.5.jar2、命令解释:我现在有一个jar包ojdbc,需要导入仓库,由于maven的依赖常规编写:<dependency> <groupId>com.id</groupId> <arti

2021-08-03 16:55:53 857

原创 SpringBoot@Schedule入门基础

SpringBoot@Schedule入门基础前言Schedule是一个任务调度器,SpringBoot中可定时触发执行定时任务。一、基本概念在SpringBoot中,使用 @Scheduled 注解就能很方便地创建一个定时任务。包括有:固定速率执行固定延迟执行初始延迟执行Cron 表达式执行cron表达式Cron表达式由6~7项组成,中间用空格分开。从左到右依次是:秒、分、时、日、月、周几、年(可省略)。值可以是数字,也可以是以下符号:*:所有值都匹配?:无所谓,不关心,通

2021-08-03 16:47:45 410

原创 Maven中的作用范围

目录前言一、==compile==二、==provided==三、==runtime==四、==test==五、system总结参考或相关文章前言一个项目中,项目依赖的包是可以设定范围的,能更为灵活构建整个项目。在maven中导入一个坐标是同样可以设定其范围的。以Scope标签去设定。下面说说常用的几个作用范围。<dependency> <groupId>org.springframework.boot</groupId> <artifactI

2021-07-12 14:41:20 929

原创 Java使用POI通过模板生成Word

Java使用POI通过模板生成Word前言最近工作需要用到,所以记录下来以便查找。一、概述POI读写word使用的核心类是XWPFDocument。一个XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档。主要包含下面这几种对象:XWPFParagraph:代表一个段落。XWPFRun:代表具有相同属性的一段文本。XWPFTable:代表一个表格。XWPFTableRow:表格的一行。XWPFTableCell:表格对应的一个单元格。引用

2021-06-17 10:11:11 10644 13

原创 Spring Boot JPA基础入门

Spring Boot JPA前言JPA的全称是 Java Persistence API, 即 Java 持久化API,是 SUN 公司推出的一套基于ORM 的规范,内部是由一系列的接口和抽象类构成。JPA通过JDK 5.0 注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Spring Boot Jpa 是 Spring 基于 ORM框架、Jpa 规范的基础上封装的一套Jpa应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。一、概述JPA特性:标准化JP

2021-06-11 16:32:09 1248 2

原创 Junit5测试入门使用

<h1 id="junit5测试入门使用">Junit5测试入门使用</h1><h2 id="一、概述">一、概述</h2><p>Junit是一套测试工具包。定义一套测试的API。</p><p>

2021-05-21 10:20:44 662

原创 MyBatisPlus简单入门(SpringBoot)

<h1 id="mybatisplus入门实战(springboot)">MyBatisPlus入门实战(SpringBoot)</h1><h2 id="一、概述">一、概述</h2><p>Myb

2021-05-19 14:32:36 207 1

原创 Swagger基础入门整合SpringBoot

<h1 id="swagger基础入门整合springboot">Swagger基础入门整合SpringBoot</h1><h2 id="一、概述">一、概述</h2><p>Swagger是一个接

2021-05-13 14:33:57 210 3

空空如也

空空如也

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

TA关注的人

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