- 博客(88)
- 问答 (14)
- 收藏
- 关注
原创 用 Commons Pool 实现对象池
摘要 Apache Commons Pool 是一个通用对象池框架,用于高效管理昂贵对象的创建和复用。本文首先解释了池化思想,即通过预创建对象并存入池中供重复使用,以解决对象创建销毁成本高的问题。接着介绍了Commons Pool 2.x的核心组件,包括对象池接口(ObjectPool)、对象工厂接口(PooledObjectFactory)和配置类。
2025-12-03 13:59:26
617
原创 Java缓存全解析:概念、分类、Guava Cache、算法及对比
缓存是基于“空间换时间”思想的优化手段——将频繁访问的数据/计算结果临时存储在“更快的存储介质”中,后续访问时直接从该介质获取,避免重复计算或慢速IO(如数据库查询、网络请求),从而提升系统响应速度和吞吐量
2025-12-02 19:39:46
725
原创 Java 缓冲区优化
在 Java 中,缓冲区(Buffer) 是一块用于临时存储数据的内存区域,核心作用是协调数据生产者和消费者的速度差异,减少频繁 I/O 操作或数据拷贝的开销,提升程序性能。它本质是 “数据中转站”,避免了直接对原始数据源(如文件、网络流、数组)的频繁读写,通过 “批量处理” 优化效率。
2025-12-02 18:57:44
890
原创 Java 基准测试工具 JMH 详细介绍
JMH(Java Microbenchmark Harness)是OpenJDK官方开发的Java微基准测试框架,专门用于精确测量JVM代码性能。它解决了手动基准测试中的常见问题,如JIT编译干扰、死码消除和GC影响等。JMH通过标准化流程提供可靠性能数据,适用于方法级性能对比、优化验证和JVM特性测试。
2025-12-02 18:21:32
753
原创 Arthas:Java 应用诊断利器
Arthas 是阿里巴巴开源的一款 Java 应用诊断工具,无需修改代码、无需重启应用,就能在线排查生产环境的各种问题(如性能瓶颈、内存泄漏、线程阻塞、异常排查等),被称为 “Java 程序员的瑞士军刀”。
2025-12-02 17:37:10
1107
原创 Java 性能监控工具:jcmd 命令详解
jcmd是JDK自带的综合诊断工具(JDK7+内置),整合了jps、jstat、jmap等传统工具功能,支持JVM进程查询、性能监控、内存分析等操作。核心优势包括功能整合、无侵入性、动态调整参数和跨平台兼容。使用前需安装JDK并确保执行权限,通过jcmd [选项] <PID|主类名> <命令>语法操作。常用功能包括:查看JVM进程(jcmd -l)、获取JVM信息(VM.version)、内存分析(GC.heap_dump)、线程诊断(Thread.print)等。相比传统工具,jc
2025-12-02 12:09:08
769
原创 线程池配置全攻略:从参数逻辑到业务实战
线程池是 Java 并发编程核心组件,其参数配置直接影响系统性能与稳定性。实际开发中,多业务线程池配置常陷入 “凭经验” 误区。本文从线程池核心参数逻辑与工作流程出发,解析 4 类主流任务队列、4 种拒绝策略的优缺点及适用场景,结合 CPU 密集型、IO 密集型、低延迟敏感型等典型业务场景,提供可直接落地的配置原则与参数模板表。无论应对高并发接口、后台批量任务还是混合业务,都能快速掌握核心配置逻辑,避开坑点,让线程池精准适配业务需求。
2025-11-18 15:10:10
714
原创 一键启动、停止、重启 Spring Boot JAR 程序的 Shell 脚本【运维必备】
一键管理 Spring Boot JAR 程序的 Shell 脚本,支持启动、停止、重启、状态检测、SkyWalking 集成与数据库参数传入,拥有彩色日志输出与超时强制关闭机制,极大提升运维部署效率。
2025-10-21 10:05:56
376
原创 VisualVM 安装与使用全攻略(最新VisualVM中文版下载)
VisualVM 是一款强大的 Java 性能分析与监控工具,能够直观展示 JVM 的内存、CPU、线程与 GC 情况。本文介绍了 VisualVM 2.2 汉化版的安装与使用方法,展示如何通过该工具快速定位性能瓶颈、排查内存泄漏、分析线程状态。文中还附带汉化版工具包下载与常用插件配置,帮助 Java 开发者高效完成性能调优。
2025-10-17 16:12:07
1911
1
原创 基于JavaFx开发的一键部署工具
本文介绍了一款基于 Spring Boot + JavaFX 开发的一键部署工具,它能通过桌面可视化界面,帮助开发者和运维人员快速完成 Java 项目 和 Vue 项目 的自动化上线,并支持 GitLab 标签发布。
2025-09-07 02:26:34
527
原创 VUE2+ElementUI个人博客系统(附前后端源码下载)
这是一个基于Vue.js 2.x开发的个人博客系统,采用前后端分离架构。前端技术栈包含Vue Router、Vuex、Axios和ElementUI,后端使用Spring Boot、MySQL、Redis等技术。系统主要功能包括文章展示、生活记录、随笔笔记等模块,目前已完成首页文章展示和详情页开发,生活分享和随笔模块尚未对接后端数据。文章展示了系统的主要界面效果和代码目录结构,其中首页采用ElementUI布局容器,实现了诗词动态展示功能。项目在Windows11环境下开发,使用Node.js 16.18.
2025-06-11 13:22:32
501
2
原创 mysql_随心记
update mysql.user set authentication_string=password(‘新密码’) where user=‘用户名’ and Host =‘localhost’;在 MySQL 的配置文件中(通常是 my.cnf 或 my.ini),max_connections 变量应该放在 [mysqld] 段落下。该命令将列出所有当前的 MySQL 连接,包括每个连接的 ID、用户、主机、数据库、状态、执行的命令等信息。当用户名和密码都正确时,测试连接也成功时,报错。
2024-08-14 11:16:50
721
原创 ubuntu22 部署fastDFS单节点和集群,整合Spring Boot(刚部署成功)
fastdfs单节点和集群部署,并整合spring boot,过程中遇到了Nginx的./configure: error: the HTTP rewrite module requires the PCRE library.报错;编译过程中的:src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]报错;和:error: ‘struct crypt_data
2024-04-26 21:41:11
1457
2
原创 Ubuntu 22最新dockers部署redis哨兵模式,并整合spring boot和配置redisson详细记录(含spring boot项目包)
Ubuntu22系统,通过docker搭建redis集群主动复制(哨兵模式),最后与springboot进行整合
2024-04-18 20:12:00
1298
原创 springboot+springSecurity+jwt实现登录认证后令牌授权
使用spring security安全框架实现用户登录认证,用户密码加密入库,用户认证成功之后响应令牌,后续用户使用令牌访问受保护资源。
2023-09-12 15:03:03
589
原创 vue+element-ui通用后台管理系统(适合新手),提供源码下载
使用vue2+element-ui+axios+js-cookie+less+echarts实现的一个简易的通用后台管理系统,具有很强的可扩展性,修改简单,只要有点前端基础就能看懂;
2023-07-18 08:56:28
8625
10
原创 spring boot中图片与base64的相互转换
二、将图片转换为base64使用spring boot自带的ResourceUtils从资源路径中获取文件,通过IO转换为字节、再将字节转换为Base64二、base64转换为图片需要注意的是,由于Base64编码字符串比原始图片文件更大,因此在使用Base64编码字符串传输图片时,需要考虑网络传输的带宽和速度等因素。
2023-03-22 10:16:57
5190
2
原创 Spring Boot中开启异步任务,并使用回调函数处理异步任务的结果
在Spring Boot中,可以使用@Autowired注解将一个类的实例注入到另一个类中,并使用@Async注解来开启一个新的线程来运行该类的方法。
2023-03-20 19:13:37
2111
原创 密码学-java信息安全,摘要算法,对称加密(AES)/非对称加密(RSA)
又叫Hash算法、散列函数、数字摘要、消息摘要。它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,但不能通过这个hash值重新获得目标信息。也叫单密钥加密,所谓单密钥,指的是加密和解密的过程使用相同的密钥,相比非对称加密,因只有一把钥匙,因而速度更快,更适合加解密大文件加密和解密使用的是两个不同的密钥 (public key 和 private key)。公钥可以给任何人,私钥总是自己保留。
2023-03-14 20:04:32
677
原创 ElasticsSearch7.6.1学习笔记【狂神说Java】
Elaticsearch ,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据,本身扩展性很好可以扩展到上百台服务器,处理PB级别( 大数据时代 )的数据。es也使用ava开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
2023-01-02 02:26:01
1026
原创 Mysql8 “this is incompatible with sql_mode=only_full_group_by“的解决办法。
MySQL8 “1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column '字段名' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by”的详细解决办法
2022-12-27 23:19:36
5900
3
原创 Redis学习-狂神说java
90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页Html~服务器根本没有太大的压力!思考一下,这种情况下:整个网站的瓶颈是什么?1、数据量如果太大、一个机器放不下了!2、数据的索引( B+ Tree ) ,一个机器内存也放不下3、访问量(读写混合),一个服务器承受不了~只要你开始出现以上的三种情况之一,那么你就必须要晋级!网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据的压力,我们可以使用缓存来保证效率!发展过程:
2022-12-06 15:27:10
1570
原创 Spring cloud—Netflix
笔记参考创建一个普通maven项目(springcloud)作为父工程pom.xml中Packageing是pom模式导入以下依赖2、创建一个普通maven项目公共实体目录结构创建一个数据库和表引入lombok依赖创建dept实体类3、创建服务的提供者maven项目目录结构导入maven依赖配置spring boot文件,这里使用的properties文件,我是用yaml会报错,不知道为啥??创建DeptMapper接口创建DeptMapper.xml 实
2022-11-04 17:48:27
1101
原创 springBoot_swagger、异步任务、邮件发送、定时任务、集成redis、分布式(Dubbo、Zookeeper)
springBoot_swagger、异步任务、邮件发送、定时任务、集成redis、分布式(Dubbo、Zookeeper)
2022-10-28 13:43:31
1794
原创 SpringBoot——整合数据库,springSecurity,shiro、整合thymeleaf
整合数据库,springSecurity,shiro、整合thymeleaf
2022-10-26 10:38:24
1035
原创 SpringBoot
路线:是什么、如何配置编写 yaml、自动装配资源、集成web开发、集成数据库、分布式开发、swagger:接口文档、任务调度、SpringSecurity(类似拦截器,过滤器)Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spri
2022-10-21 11:27:31
483
原创 大前端—Vue
MVVM (Model-View-ViewModel)是一种软件架构设计模式,由微软WPF(用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Silverlight(类似于Java Applet,简单点说就是在浏览器上运行的 WPF)的架构师Ken Cooper和Ted Peters开发,是一种简化用户界面的事件驱动编程方式。由John Gossman(同样也是WPF和Silverlight的架构师)于2005年在他的博客上发表。MVVM源自于经典的MVC (Model-View-Contr
2022-10-17 18:04:35
2649
原创 Spring-MVC
狂神说SpringMVC01:什么是SpringMVCModel(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。Controller(控制器):接收用户请求,委托给模型进行处理(状态改变)
2022-08-29 10:17:58
245
原创 Spring学习笔记
Spring:春天------>给软件行业带来了春天!2002,首次推出了Spring框架的雏形:interface21框架!Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日发布了1.0正式版。Rod Johnson,Spring Framework创始人,著名作者。很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了
2022-08-22 16:57:12
258
原创 Mybatis学习笔记二,Foreach、缓存
查询 : 连接数据库,耗资源 一次查询的结果,给他暂存一个可以直接取到的地方 --> 内存:缓存我们再次查询的相同数据的时候,直接走缓存,不走数据库了什么是缓存[Cache]?存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率什么样的数据可以使用缓存?...
2022-08-16 14:13:29
251
原创 Mybatis笔记一
1、MyBatis 是一款优秀的持久层框架2、它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。3、MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。4、MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁
2022-08-15 11:05:52
260
原创 javaweb-SMBMS
javaweb基础学习总结,模拟简单的超市订单管理系统数据库表1、搭建一个maven web项目2、配置tomcat3、测试启动项目4、导入项目中会遇到的jar包依赖5、创建项目包结构6、编写实体类ORM映射:表——类映射7.编写基础公共类数据库配置文件(properties)编写数据库的公共类编写字符编码过滤器导入静态资源2、设置欢迎页(web.xml)4、编写dao接口的实现类5、业务层接口6、业务层实现类7、编写servlet设置存放用户s
2022-07-29 09:46:09
225
Ubuntu 22最新dockers部署redis哨兵模式,并整合spring boot
2024-04-18
springboot+springSecurity+jwt实现登录认证后令牌授权
2023-09-12
vue+element-ui通用后台管理系统(适合新手)
2023-07-17
畅购的《微服务商城系统》Spring Security Oauth2 + JWT 用户认证微服务
2023-03-20
log4j2的配置案例,可直接使用
2023-03-22
spring security+vue+axios,为什么通过spring security认证成功之后,访问再次发送请求访问受保护资源,浏览器没有自动携带set-cookie?
2023-09-11
servlet给前端传递json参数时,前端js没有获取到
2022-07-28
servlet给前端参数json时,前端js没获取到,如果解决?
2022-07-28
如何用python创建一个幻灯片大小比例为16:9的ppt文件
2022-05-06
Linux安装jnmpserver 数据迁移时报错
2022-04-15
shell脚本循环取值对比
2022-01-15
Python+seleium+autoit实现自动上传多个文件报错
2021-11-19
win7 python3.8+selenium3.141,鼠标停留失败
2021-11-16
使用sql语句或者excel函数,如何通过字段1的分类删除字段2的重复项
2021-10-20
python的site-packages复制直接到其他电脑环境上能用吗
2021-10-27
用Python3.9不兼容Python3.8或者3.7吗?
2021-10-18
Python3.8+pyinstaller导出为exe文件后,还是需要Python环境?
2021-10-18
Python多数组逐个循环输出
2021-10-11
python+selenium如何定位iframe下面div双层弹窗里面的元素
2021-09-23
python+selenium定位点击span无报错,但是没反应。
2021-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅