- 博客(202)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注

原创 Java面试宝典
新建(new):新创建了一个线程对象。可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。运行(running):可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代码。阻塞(block):阻塞状态是指线程因为某种原因放弃了cpu使用权,也即让出了cpu timeslice,暂时停止运行。直到线程进入可运行(runnable。
2022-03-30 22:56:01
40722
7
原创 Linux中处理nohup日志太大的问题
本文介绍了Linux中nohup.out日志文件的管理方法。nohup命令用于后台运行程序并忽略挂断信号,但会持续生成日志导致文件过大。文章提供了两种查看方式:本地tail命令和FTP下载查看。重点阐述了维护方法:通过cp /dev/null nohup.out或cat /dev/null > nohup.out安全清空文件,同时介绍了重定向技巧(如nohup ./program >/dev/null 2>log &)来控制日志输出。最后解释了Linux的三种标准流(0输入、1输出
2025-09-19 17:36:47
374
原创 Java中接口入参验证
本文介绍了Java中接口参数验证的几种方法:1) @RequestParam和@RequestBody分别适用于不同请求类型;2) 使用@NotNull时需配合@Valid/@Validated;3) 实体对象验证可在方法、参数或类上添加注解;4) 嵌套验证需在属性上使用@Valid。重点说明了不同注解的应用场景和组合使用方式,为接口参数验证提供了实用指导。
2025-09-19 17:21:15
332
原创 Java中如何选择垃圾回收器
Java 17 提供了多种垃圾回收器选择,默认使用 G1 GC,适用于大部分场景,尤其是堆内存较大且需要低延迟的应用。对于超大堆和超低延迟需求,推荐使用 ZGC;中等堆内存且延迟敏感的应用可选 Shenandoah GC。高吞吐量场景适合 Parallel GC,小型应用则可用 Serial GC。选择时需根据业务需求、堆大小和延迟要求权衡,G1 GC 通常是平衡性能的最佳默认选项。
2025-09-17 17:26:52
666
原创 Java异常报错: java.io.IOException: Broken pipe
Java异常"Broken pipe"分析与解决方案 问题现象: 业务系统前端无法显示图片,但其他功能正常,日志中出现大量"java.io.IOException: Broken pipe"异常。异常发生在Tomcat的OutputBuffer.realWriteBytes方法中,表明在向已关闭的套接字写入数据时发生错误。 原因分析: 客户端在服务器完成数据传输前提前关闭连接(如浏览器超时、网络中断) 服务器响应时间过长或资源不足,导致连接超时 网络不稳定或中间代理设
2025-09-17 14:04:10
1039
原创 Linux服务器中CPU100%如何排查
摘要: 当Linux服务器CPU使用率达到100%时,可按以下步骤排查: 定位进程:使用top -c并按P键,按CPU使用率排序,找出最耗CPU的进程(如PID=1394)。 定位线程:执行top -Hp 1394并按P键,找到高CPU线程(如PID=10804),通过printf "%x\\n" 10804转换为16进制(0x2a34)。 分析堆栈:用jstack 1394 | grep '0x2a34'查看线程堆栈,定位具体代码(如线程"AsyncLogger-1"
2025-09-17 13:58:50
326
原创 SpringBoot中如何引入第三方的SDK
在SpringBoot项目中引入第三方SDK的步骤:1.将jar包放入resources目录;2.添加maven依赖,指定system作用域和路径;3.配置spring-boot-maven-plugin插件,设置includeSystemScope为true以包含system范围的jar包。这种方法适用于无法上传到maven仓库的第三方SDK。
2025-09-17 13:44:15
158
原创 Java 设计模式之桥接模式(Bridge Pattern)
本文介绍了Java设计模式中的桥接模式(Bridge Pattern),这是一种用于分离抽象部分与实现部分的结构型模式。文章从概述、模式结构、原理、UML类图和示例代码五个方面展开说明。桥接模式通过组合而非继承来连接抽象与实现,使两者能独立变化,提高扩展性和维护性。文中以图形绘制为例,展示了如何将图形类型与颜色分离,并提供了核心接口定义和具体实现示例。最后推荐了23种Java设计模式的详细解析资源。
2025-09-17 12:05:59
441
原创 Java设计模式之工厂模式
工厂模式是Java中常用的创建型设计模式,主要分为三类:简单工厂模式、工厂方法模式和抽象工厂模式。简单工厂模式通过静态方法创建对象,但违反开放-关闭原则;工厂方法模式将实例化推迟到子类,遵循开放-关闭原则;抽象工厂模式适合创建产品族,能保证产品一致性。三种模式各有优缺点,适用于不同场景。工厂模式通过封装对象创建过程,提高了代码的灵活性和可维护性,是Java开发中重要的设计模式之一。
2025-09-17 12:03:16
691
原创 Java 设计模式之单例模式
摘要: 单例模式是一种确保类仅有一个实例并提供全局访问点的创建型设计模式,适用于资源管理、配置加载等场景。本文详细介绍了多种实现方式: 饿汉式(静态常量/静态代码块)线程安全但无延迟加载; 懒汉式(线程不安全/同步方法)简单但存在性能或线程安全问题; 双重检查锁定(推荐)结合延迟加载与高效同步,需使用volatile; 静态内部类(推荐)通过JVM类加载机制实现线程安全与延迟加载; 枚举实现(推荐)天然防反射和反序列化破坏,代码简洁。 每种方式各有优劣,需根据场景选择。
2025-09-17 11:42:31
824
原创 Java 中的 23 种设计模式详解
本文介绍了Java中的23种经典设计模式,主要分为三类:创建型、结构型和行为型模式。创建型模式关注对象创建方式,包括单例模式(确保唯一实例)、原型模式(复制创建)、建造者模式(分步构建复杂对象)和工厂方法模式(子类决定实例化)。文章详细阐述了每种模式的核心思想、实现方式、应用场景和优点,并提供了Java代码示例和注释,帮助开发者理解如何在实践中应用这些模式解决复杂设计问题。
2025-09-17 10:34:09
1580
原创 Java启动报io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider问题
摘要: Java程序启动时出现io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider缺失警告,提示可能导致MacOS DNS解析异常。该问题源于使用spring-cloud-starter-gateway时缺少netty-resolver-dns-native-macos依赖。解决方法:根据Mac芯片类型添加对应依赖:M系列芯片需指定osx-aarch_64分类器,Intel芯片需指定osx-x86_64分类器,版本建议为4.1.75.
2025-09-17 10:19:15
182
原创 Linux中创建SFTP账号
本文介绍了在Linux系统中创建SFTP账号的完整步骤,包括创建用户、设置目录权限、修改SSH配置文件、测试连接以及删除用户的方法。主要步骤为:创建sftp用户并设置密码,配置根目录权限,修改sshd_config文件限制用户访问范围,重启服务后测试连接。同时提供了修改默认端口、操作sftp命令的说明,以及Java代码示例用于实现SFTP文件传输功能。该方案可实现安全可控的文件共享,限制用户仅能访问指定目录。
2025-08-27 14:23:41
609
原创 Java服务自动停止原因及查找方法
Java服务自动停止问题排查:通过系统日志发现因内存不足被强制终止。解决方法包括升级物理内存、调整JVM参数,或设置swap虚拟内存(建议为物理内存2倍)。具体步骤包括创建swap文件、格式化为交换分区、启用swap并设置开机自启,同时调整系统swappiness值优化内存使用。适用于测试环境或对性能要求不高的场景。
2025-08-16 14:26:44
897
原创 Java中MybatisPlus使用多线程多数据源失效
摘要:文章探讨了Java中Mybatis-Plus在多线程环境下使用多数据源时出现@DS注解失效的问题。当使用异步任务时,请求会错误地指向主数据库而非指定数据源。解决方法是通过DynamicDataSourceContextHolder手动管理数据源上下文,在异步任务中显式push和clear数据源标识。此外还指出@Transactional注解也可能导致@DS失效,建议使用REQUIRES_NEW传播行为来解决问题。
2025-08-15 17:50:40
260
原创 Centos断电启动失败,Entering emergency mode. Exit the shell to continue.Type “.journa lctl” to view system
CentOS断电后启动失败解决方案 问题描述:服务器意外断电后,CentOS系统启动时进入紧急模式,提示文件系统错误,建议查看系统日志。 解决方案: 使用命令xfs_repair -v -L /dev/dm-0修复文件系统 该命令会强制修复XFS文件系统,-v参数显示详细过程,-L参数强制清空日志 注意事项:执行前建议先备份重要数据,该操作可能造成数据丢失风险。修复完成后可正常重启系统。
2025-08-12 10:50:02
501
原创 Nacos中feign.FeignException$BadGateway: [502 Bad Gateway]
Nacos微服务调用报502 Bad Gateway问题分析 问题现象:在Mac本地运行Nacos微服务项目时,出现feign.FeignException$BadGateway: [502 Bad Gateway]错误,服务调用失败。 解决方案:该问题通常是由本地代理软件(如Clash)引起的。在Windows环境下可能不会出现此问题,但在Mac系统中需要关闭代理软件才能正常调用服务。 总结:遇到502网关错误时,建议检查并关闭本地运行的代理工具,这是Mac系统下Nacos服务调用的常见干扰因素。
2025-07-21 16:53:46
300
原创 Linux中使用grep查看日志
本文介绍了Linux系统中使用grep命令查看日志文件的方法。grep是一个强大的文本搜索工具,可用于查找文件中的特定字符串。主要功能包括:基本查找命令、常用选项(忽略大小写、显示行号、递归查找、匹配完整单词等)、显示匹配行前后上下文内容、统计字符串出现次数。文章还提供了多种实用示例,如结合正则表达式和其他命令进行高级搜索。这些技巧对日志分析、系统故障排查等工作非常实用,能有效提升Linux环境下的文本处理效率。
2025-06-20 14:11:08
518
原创 WPS中将在线链接转为图片
本文介绍两种在WPS中将在线链接转为图片的方法:一是通过会员功能下载图片并精确匹配;二是使用公式转换法,具体步骤包括调整行列尺寸、输入转换公式、粘贴至记事本处理、调整图片大小并嵌入单元格。文中配有详细的操作截图说明,建议根据实际需求调整height和width参数以获得理想效果。
2025-06-07 12:25:23
1472
原创 IDEA中创建SpringBoot项目没有Java8
摘要:针对IDEA中使用Spring Initializr创建Spring Boot项目时无法选择JDK1.8的问题,本文指出这是由于Spring Boot 3.x最低要求JDK17。解决方案是改用阿里云镜像(https://start.aliyun.com/)替代官方地址,即可继续使用Java8创建项目。文中提供了操作截图说明,帮助开发者快速解决问题。
2025-05-24 10:45:27
1049
原创 Java中使用EasyExcel
EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能,主体由阿里团队封装并维护。本文示例所呈现的主体功能为导入,其中涵盖导入过程中自动记录解析的数据错误,并以 excel 的形式返回给前端,以及 excel 模板校验错误等情况;对于简单使用:https://gitee.com/xiaoxiangyuan/easy-excel.git ,访问git里面有最基础的示例。
2025-02-13 11:53:40
1687
原创 Web项目图片视频加载缓慢/首屏加载白屏
Kraken 是一个在线图片优化和压缩服务,可以将 JPEG、PNG 和 GIF 等格式的图片压缩至最小的文件大小。它可以将图片压缩至较小的大小,而且不会影响图片质量。ImageOptim 是一个免费的图片优化工具,它可以自动压缩 JPEG、PNG 和 GIF 等格式的图片,并且可以自动删除图片中的元数据和不必要的信息,从而减小文件大小。选择合适的图片或视频格式也可以减小文件大小。TinyPNG 是一个免费的在线图片压缩工具,可以将 PNG 和 JPEG 格式的图片压缩至合适的大小,而且不会影响图片质量。
2024-12-14 17:47:10
1721
原创 PageHelper自定义Count查询及其优化
1.对于单表查询:分页执行的sql执行效率都慢,count执行的时候首先考虑命中索引,如果拆分出来效率能得到提升再用2.对于多表查询:如果查询条件仅仅只是主表中的条件,此方法适用如果查询条件需要从表中的条件,自定义的这个count就不满足3.缓存count,业务上总数实时性要求不高,或者总数变化不快的情况下可以使用。
2024-12-09 17:08:37
1875
原创 阿里云服务器系统盘存储不足爆满,添加数据盘并挂载
步骤一:登录ECS实例并查看数据盘运行结果如下所示,表示当前ECS实例挂载了两块云盘:2、使用Parted工具为数据盘进行分区分区过程如下:运行结果如下所示,如果出现gpt的相关信息,表示新分区已创建完成。无论云盘是否进行了分区,云盘在使用前都需要创建并挂载文件系统,才能被操作系统识别并正常使用。不同文件系统支持的分区大小不同,请您根据实际需求创建文件系统。是数据盘的分区名称,请您根据实际环境替换2、创建ext4文件系统其中:结果如下所示,如果出现新建文件系统的信息,表示文件系统挂载成
2024-12-02 16:25:56
1367
原创 Mac中安装OhMyZsh
本文介绍了在Mac上安装和配置OhMyZsh的完整步骤。首先需要通过Homebrew安装基础环境,然后通过官方脚本安装OhMyZsh。重点讲解了.zshrc文件的配置方法,包括主题设置(推荐philips和af-magic主题)、插件安装(语法高亮和自动提示功能)以及环境变量同步技巧。还提供了保存刷新配置、禁用自动更新的方法,并展示了最终效果图。文末附有相关参考链接,帮助用户解决安装过程中的常见问题。
2024-11-11 10:39:21
4632
原创 Mac中安装homebrew
Mac中安装homebrew报错,如果报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 4 ms: Couldn’t connect to server。,查询域名:raw.githubusercontent.com 的真实IP。将其中的一个ip添加到自己电脑中的host文件中。
2024-11-07 16:18:10
1488
原创 Mac中禁用系统更新
Mac中禁用系统更新,执行完毕后,dock栏将被关闭重启,系统偏好设置的小红点将会去掉。然后按:wq或者:wq!强制保存hosts文件修改。
2024-11-07 16:03:16
6965
3
原创 阿里云服务器挖矿异常处理
挖矿行为需要强大的算力支持,所以其一定会占用大量的cpu 资源,所以我们以此关键点展开,检查使用cpu资源较高的进程。云服务器中被恶意安装了脚本,然后脚本运行占用了大量的cpu 和内存,触发了云服务器监控的告警;点击详情可以看到路径: /tmp/networkSync。重新用top命令,查看cpu占用情况。kill -9 进程。
2024-10-19 17:36:50
1561
原创 国内镜像源汇总
7、centos镜像站(国内,包含老版本,下载速度较快)9、openEuler操作系统下载地址。3、南京大学开源软件镜像站。4、北京大学开源软件镜像站。5、清华大学开源软件镜像站。6、centos官方镜像。1、华为开源软件镜像站。
2024-10-14 10:10:25
2662
原创 Linux中安装Docker
阿里云教程: https://developer.aliyun.com/mirror/docker-ce?访问地址:http://192.168.110.105:9000,首次访问需要设置admin管理员登录密码,这里设置为admin123,登陆后进入首页。如果不是root用户登陆的系统,需要手动输入sudo -i切换到root帐户。3.运行镜像(启动Portainer容器)这里以社区版为例进行安装。原因:我们的镜像源不行。Linux中安装docker
2024-10-09 18:41:18
2531
原创 Linux中开机自动启动中间件及服务
crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行。我们可以自己设置计划任务时间,然后编写对应的脚本。但是,有个特殊的任务,叫作@reboot,我们其实也可以直接从它的字面意义看出来,这个任务就是在系统重启之后自动运行某个脚本。可以用crontab -e来设置。/bin/bashsleep 10#dockersleep 10#redis#nginx#nacos#rocketmq#rocketmq控制台#xxl-job#等待60秒。
2024-10-09 18:33:17
1401
原创 Mysql中创建用户并设置任何主机连接
在linux上安装mysql,默认用户是root,但是用navicat连接不了,必须要用ssh隧道连接,现在想用任何主机只要输入账号密码之后就可以连接。创建了一个web用户,Navicat直接可以连接,不用SSH隧道。
2024-10-09 17:25:18
629
原创 VmWare中安装CenterOs(内网服务器)
由于CentOS 7 已于2024年6月30日停止维护,官方仓库就没有软件了,想要在继续使用 ,需要更换软件,仓库这里,我使用的是阿里的软件仓库。11、如果是内网服务器,他需要一个固定的ip: 比如就设置为192.168.110.128,这样局域网同网段下的人就可以直连了。已经停止维护,部分镜像网站移除了对centos 7的支持,这里找到了部分现在还可以使用的镜像网站。更改DHCP模式为static,然后输入刚刚更改的IP地址,顺序依次为IP,子网掩码,网关。这样你的电脑上会出现虚拟网卡,请不要禁用他。
2024-10-09 15:32:31
1882
原创 Centos镜像下载源
因为Centos官网是挂在国外的服务器上,下载镜像时相比于国内的下载速度会慢很多,所以在这里向大家分享两个国内的镜像站去下载Centos镜像。1、清华大学开源软件镜像站地址:https://mirrors.tuna.tsinghua.edu.cn/8、点击【Centos-7-x86_64-DVD-2009.iso】下载镜像。6、点击【Centos-7-x86_64-DVD-2009.iso】下载镜像。2、点击左上角的【文档与社区】展开选择【镜像站】。7、点击【x86_64/】选择64位操作系统。
2024-10-09 14:41:16
1983
1
原创 Mac中访达显示/关闭隐藏文件
您可以使用特殊的键盘快捷键查看 Mac 上的所有不可见项目。1、激活 Finder 应用程序, 打开可能包含此类文件的文件夹。3、如果您想再次隐藏文件,请再次重复上述步骤。
2024-09-29 17:23:10
2493
MacOs小助手小工具
2024-04-24
ES原理分享PPT,可以部门或者团队作为分享
2020-12-07
Mac M1 开启pptp协议有解决方案吗?
2022-06-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人