- 博客(66)
- 问答 (2)
- 收藏
- 关注
原创 Base64 编码优化 Web 图片加载:异步响应式架构(Java 后端 + 前端全流程实现)
本文提出了一种高效安全的图片加载方案,结合Java后端和JavaScript前端实现。后端通过Base64编码传输图片,并包含路径安全校验防止恶意访问;前端采用响应式布局适配不同设备,并分批次异步加载图片避免请求拥堵。核心优势包括减少HTTP请求、适配多设备、分批加载和安全防护,有效提升页面性能和用户体验。
2025-08-23 10:33:24
942
原创 Spring Boot应用实现图片资源服务
本文介绍了如何使用Spring Boot构建安全的图片资源REST API。通过添加Maven依赖配置项目环境,核心代码实现了一个图片控制器,包含路径安全检查、文件存在性验证和缓存控制等功能。该API会校验请求参数,防止路径遍历攻击,并设置1天的缓存时间。代码采用Lombok简化日志记录,通过ResponseEntity返回图片资源,同时记录处理耗时。这个实现为开发者提供了构建安全高效图片服务的参考方案。
2025-08-19 21:37:33
377
原创 CentOS 7 安装 MySQL 8.4.6(二进制包)指南
本指南详细介绍了在CentOS 7系统上安装MySQL 8.0.43(二进制包)的完整步骤。主要内容包括:创建专用mysql用户、下载解压MySQL二进制包、初始化数据库、配置my.cnf文件、设置systemd服务、配置root密码和远程访问权限、开放防火墙端口等。安装采用最小安装版本以兼容CentOS 7的glibc 2.17环境,最终将MySQL安装在/home/ap/mysql目录下,并设置root密码为123456。文章还提供了目录结构说明和安装总结,帮助用户快速了解关键配置信息。
2025-07-26 16:57:52
616
原创 Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器
本文介绍了在Linux系统上安装Nginx并配置HTTPS的完整流程。主要内容包括:1) Nginx安装步骤,从依赖安装、源码下载到编译配置和安装;2) 提供Nginx启动管理脚本;3) 使用OpenSSL生成自签名证书的方法,包括私钥和证书请求文件的生成。重点说明了编译Nginx时必须包含的http_ssl_module模块以支持HTTPS功能,并给出了详细的配置参数说明。文章为搭建安全Web服务器提供了简明实用的技术指南,适合系统管理员参考实施。
2025-07-25 21:59:55
1088
原创 SQL查询连续登陆的用户
这段SQL查询的核心目标是找出连续登录天数大于等于3天的用户。注:登录表为单日随机一次登录数据,该题忽略单日多次登录情况。解释:1102在9日、10日、11日,登陆了系统满足查询条件;1106在10日、11日、12日登录了系统满足查询条件。(log_id-登录动作id,user_id-用户id, log_time-登录时间, log_port-登录端口)(user_id-用户id, reg_time-注册时间, reg_port-注册端口)是关键的一步,用于识别连续登录的天数。子查询的作用及其背后的逻辑。
2025-04-14 15:08:38
887
原创 Java应用导致CPU/内存占用率过高排查与解决方案
以上步骤可以帮助我们诊断和定位Java应用程序中的性能瓶颈。一旦找到问题,就可以着手优化代码或调整JVM参数来降低资源消耗。这里有一个简单的Java程序,它会持续计算三角函数,从而消耗大量CPU资源。命令,结合之前得到的十六进制线程ID,分析导致高负载的具体代码段。命令查看系统进程状态,找出CPU占用较高的进程。命令定位具体哪个线程占用了大量CPU。命令将十进制的进程ID转换为十六进制。从输出中,我们可以看到某个线程(如。)的CPU使用率特别高。
2024-07-16 11:11:06
1223
原创 java代码混淆生成可执行jar包并添加第三方依赖
执行maven命令即可生成两个插件对应的和 代码混淆包.生成的包指定了main方法,可通过java -jar 执行.
2023-03-20 21:13:06
2030
1
原创 class文件无法拖动到idea打开(win10)
class文件无法拖动到idea打开(win10)问题描述win10系统中,class文件无法拖动到idea打开,拖动时显示禁止图标。原因分析win10系统限制,BUG???解决方法打开注册表,按Windows键+R,打开“运行”对话框:输入regedit,回车或确定。依次找到以下键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system右键“EnableLUA” 选“修改”。把值改
2022-01-26 10:15:43
1462
原创 ORACLE运维常用命令
--新建表空间CREATE TABLESPACE bimsdbDATAFILE '/home/db/oracle/oradata_new/data01.dbf'SIZE 10M-- 系统权限查看SELECT * FROM SYSTEM_PRIVILEGE_MAP ORDER BY NAME;--创建用户CREATE USER bimsIDENTIFIED bimsDEFAULT TABLESPACE bimsdb-- 分配权限GRANT CONNECT,RESOURCE,DBA
2021-07-05 12:35:47
542
原创 JAVA UTF8编码环境下,按GBK编码截取固定(定长)长度报文内容
JAVA UTF8编码环境下,按GBK编码截取固定长度报文内容。应用于服务端和客户端编码不一致,需要截取定长报文场景。String result = "一杯敬明天,一杯敬过往!";System.out.println("result:" + result);// 按GBK编码,截取固定长度报文内容 ,此处截取“敬过往”// GBK编码下,一个中文、中文标点符号点两个字节长度result = new String(result.getBytes("GBK"), 16, 6, "GBK");.
2021-04-25 20:29:28
1263
原创 haproxy安装配置
haproxy安装配置yum安装查看列表[root@SERVER1 ~]# yum list | grep haproxyRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fasthaproxy.x86_64 1.5.18-9.el7 base pcp-pmda-haproxy.x86_64
2021-04-11 10:07:57
336
原创 Linux常用操作命令
添加用户/组groupadd elauseradd ela -d /home/ap/ela -g elapasswd ela主机名修改vi /etc/hostnamerebootHOST修改[root@MASTER ~]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.locald
2021-04-10 20:39:32
118
原创 Linux 最常用命令
Linux 最常用命令一、linux 的目录结构bin (binaries) 存放二进制可执行文件sbin (super user binaries) 存放二进制可执行文件,只有 root 才能访问etc (etcetera) 存放系统配置文件usr (unix shared resources) 用于存放共享的系统资源home 存放用户文件的根目录root 超级用户目录dev (devices) 用于存放设备文件lib (library) 存放跟文件系统中的程序运行所需要的
2021-01-01 21:41:47
148
原创 Linux最常用命令
Linux最常用命令linux 的目录结构bin (binaries) 存放二进制可执行文件sbin (super user binaries) 存放二进制可执行文件,只有 root 才能访问etc (etcetera) 存放系统配置文件usr (unix shared resources) 用于存放共享的系统资源home 存放用户文件的根目录root 超级用户目录dev (devices) 用于存放设备文件lib (library) 存放跟文件系统中的程序运行所需要的共享库及内核模块
2021-01-01 21:38:17
160
原创 Socket读取固定长度的报文
响应报文格式如下</</</</</</</</</</</</</</</</</</</</</报文前6位是包长度,刚开始使用下面这种方式读取数据:先读取前6位,得到包长度,每次读取1024个字节,按1024个字节计算出需要读取的次数,剩余的再一次性读取。例如包长为2049,则读取两次1024个字节,然后剩余的1个字节再一次性读取出来。以上逻辑在实际操作的时候碰到一个问题,在执行read方法读取1024个字节的时候,并非每次都能正常读取到1024个字节,最终导致报文不完整。
2020-12-30 17:22:13
2689
原创 java执行maven命令
java执行maven命令打包一、调用脚本方式执行脚本指定setting文件: --settings E:\java\apache-maven-3.5.0\conf\settings.xml指定pom.xml文件: -f D:\common\pom.xml跳过test: -DskipTests=truemvn clean package --settings E:\java\apache-maven-3.5.0\conf\settings.xml -f D:\common\pom.xml -
2020-12-19 22:06:57
1915
2
原创 JDK1.8 stream流式数据处理检查list中是否有重复元素,并返回重复元素
JDK1.8 stream流式数据处理检查list中是否有重复元素,并返回重复元素@Datapublic class Dept { private String deptCode; private String deptName;}public static List<String> getDuplicateElements(List<Dept> list, boolean flag) { return list.stream() //
2020-12-15 21:07:28
7804
1
原创 Zookeeper学习
Zookeeper1. 下载安装Zookeeper下载地址: https://www.apache.org/dyn/closer.cgi/zookeeper/解压文件至目录: /opt/module/zookeeper-3.4.142. 配置Zookeepervim /opt/module/zookeeper-3.4.14/conf/zoo.cfgdataDir=/opt/module/zookeeper-3.4.14/zkData3. 启动Zookeeperbin目录文件#Usa
2020-08-11 22:09:25
252
原创 线程池如何保证所有子线程运行完再执行主线程
package pub.qingyun.weixin;/** * @Author CQY * @Date 2020/7/13/013 19:28 * @Version 1.0 **/import java.util.Random;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;pub
2020-07-13 20:53:08
1285
原创 apache.commons.io.FileUtils遍历目录所有文件,及替换文件内容
apache.commons.io.FileUtils遍历目录所有文件,及替换文件内容导包<!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2
2020-05-10 19:46:18
3927
原创 阿里ECS(linux centos)安装nacos注册中心
阿里ECS(linux centos)安装nacos注册中心一. linux下载安装nacos客户端Shell登录ECS Linux控制台,使用wget下载nacosNacos GitHub下载地址-- cd到/usr/localwget -c https://github.com/alibaba/nacos/releases/download/1.2.1/nacos-server-...
2020-05-05 10:50:48
1092
1
转载 参数校验Validator
参数校验Validator为什么要用validatorjavax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验不然我们的代码就像下面这样: // http://localhost:8080/api/user/save/serial /** * 走串行校验 * * @param userVO * @re...
2020-04-25 15:10:32
420
转载 关于 MyBatis的10种通用的写法
关于 MyBatis 的10 种通用的写法用来循环容器的标签forEach,查看例子foreach元素的属性主要有item,index,collection,open,separator,close。item:集合中元素迭代时的别名,index:集合中元素迭代时的索引open:常用语where语句中,表示以什么开始,比如以’('开始separator:表示在每次进行迭代时的分隔符,...
2020-04-25 15:05:25
230
转载 如何优雅地使用 Nginx 限流
如何优雅地使用 Nginx 限流限流算法令牌桶算法令牌桶算法算法思想是:令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时,多余的令牌被丢弃;请求要消耗等比例的令牌才能被处理;令牌不够时,请求被缓存。漏桶算法漏桶算法算法思想是:水(请求)从上方倒入水桶,从水桶下方流出(被处理);来不及流出的水存在水桶中(缓冲),以固定速率流出;水桶满后水溢出(丢弃)。这个算法的核心...
2020-04-25 15:01:18
258
原创 start.aliyun.com 极速构建 Spring Cloud 应用
start.aliyun.com 极速构建 Spring Cloud 应用以下文章来源于阿里巴巴中间件 ,作者良名背景相信很多人都使用过 start.spring.io 来初始化自己的 Spring Boot 工程,这个工具为开发者提供了丰富的可选组件,并且可以选择多种打包方式,大大方便了开发人员的使用。最近,阿里的 Nacos、Sentinel 也进入 start.spring.io 的...
2020-04-25 14:44:36
1253
转载 Maven全教程
Maven全教程一、为什么使用Maven这样的构建工具【why】① 一个项目就是一个工程如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,...
2020-04-25 14:02:46
171
转载 JDK 中定时器实现
JDK 中定时器实现正文jdk中能够实现定时器功能的大致有三种方式:java.util.Timerjava.util.concurrent.DelayQueuejava.util.concurrent.ScheduledThreadPoolExecutor一. java.util.Timer示例代码:/** * 安排指定的任务task在指定的时间firstTime开始进行重复...
2020-04-25 13:57:20
297
转载 Java反射机制
一个例子让你了解Java反射机制demo1:通过java反射机制得到累的包名和类名demo2:验证所有的类都是Class类的实例对象Demo3: 通过Java反射机制,用Class 创建类对象[这也就是反射存在的意义所在]Demo4: 通过Java反射机制得到一个类的构造函数,并实现创建带参实例对象demo5: 通过Java反射机制操作成员变量, set 和 getdemo6...
2020-04-25 13:51:45
149
转载 网站全站变灰代码
哀悼日网站全站变灰代码通过几行简单的代码,来实现网站全站变灰代码功能。第一种:修改CSS文件我们可以在网页的CSS文件中添加以下的CSS代码,来实现网页黑白色,也就是网站变灰。html { filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(...
2020-04-25 13:42:14
2010
空空如也
haproxy负载均衡健康检查失败求助
2021-04-11
linux下载nacos1.2.1无法启动,内存溢出错误
2020-05-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人