自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 面试题,机器CPU在某个时刻占用高,但是那一时刻没有去排查,隔天后怎么排查这个CPU占用高得问题

通过查看历史监控数据、分析日志文件、使用Java性能分析工具、获取线程堆栈信息、进行代码优化和资源管理等步骤,可以有效地排查和解决Java应用中CPU占用高的问题。同时,建立监控与预防机制也是预防类似问题再次发生的重要措施。

2024-11-28 11:43:01 415

原创 有什么比较好用的 APP 抓包工具 ?

使用这些抓包工具时,需要遵守相关法律法规,并尊重他人隐私权。同时,部分工具可能需要在安卓设备上获得root权限或进行其他特殊设置才能正常使用。在选择和使用工具时,请确保你有足够的权限和合法的理由来进行抓包操作。

2024-11-27 16:53:19 3609

原创 Java 通过域名解析,判断是否存在 ipv6 地址的方法

请注意,

2024-11-27 16:49:03 319

原创 有什么好用的 tcp 性能测试工具 ?

在选择TCP性能测试工具时,需要根据具体需求、测试环境以及测试目标来综合考虑。不同的工具有不同的特点和适用场景,选择合适的工具可以更有效地完成测试任务。

2024-11-27 16:37:25 1805

原创 每个请求,对于 springboot 程序来说,都是独立的线程,是这样吗

在Spring Boot中,每个HTTP请求通常由服务器线程池中的一个独立线程来处理。线程池的配置可以根据服务器的性能和负载进行调整。异步处理允许在处理请求的过程中执行异步任务,但这并不改变请求处理的基本线程模型。因此,可以说在Spring Boot中,每个HTTP请求在处理时都对应一个线程池中的线程,但并非严格意义上的“独立线程”(因为线程是从线程池中复用的),而是由线程池管理的一个独立执行单元。

2024-11-27 16:32:14 674

原创 Java 项目,接收其它系统发过来的数据,数据量较大频率也比较快,这种场景如何处理 ?

处理大量且频率较快的数据需要综合考虑数据接收、存储、处理、一致性保证、监控与告警以及扩展性与伸缩性等多个方面。通过合理的架构设计和技术选型,可以构建一个高性能、可扩展和可靠的系统来处理这些数据。

2024-11-27 16:26:10 447

原创 生产环境中,nginx 最多可以代理多少台服务器,这个应该考虑哪些参数 ?怎么计算呢

在生产环境中,Nginx最多可以代理的服务器数量并没有一个固定的限制,它取决于多个因素,包括Nginx的配置、服务器的硬件资源、网络带宽以及后端服务器的负载能力等。综上所述,Nginx最多可以代理的服务器数量取决于多个因素,包括Nginx的配置、服务器的硬件资源、网络带宽以及后端服务器的负载能力等。通过合理的配置和评估步骤,可以确保Nginx能够高效地代理后端服务器,提供稳定可靠的服务。

2024-11-27 16:12:39 608

原创 Redis 中的 hcan 命令耗内存,有什么优化的方式吗 ?

综上所述,优化HSCAN命令的性能需要综合考虑多个因素,包括游标值、返回键数量、迭代时间、哈希表结构等。在实际应用中,可以根据具体需求和场景选择合适的优化策略。同时,也需要注意监控Redis服务器的性能指标,以便及时发现并解决性能问题。Redis中的HSCAN命令用于迭代哈希表中的键值对,但可能会消耗较多的资源。

2024-11-27 16:08:29 724

原创 Java 中,有什么工具可以进行代码反编译

a.专注于 Java 8、Java 11 和 Java 17 的反编译,支持许多现代 Java 特性。使用 IntelliJ IDEA 的开发者,查看 .class 文件时会自动反编译。a.支持现代 Java 版本(包括 Java 8 和 Java 11)的语法。b.可以直接打开 .jar 或 .class 文件,查看反编译后的代码。c.提供一个库,支持将反编译功能集成到自己的工具中。b.反编译结果质量高,能处理现代 Java 特性。c.命令行工具,适合集成到自动化工具链中。a.一个轻量级的图形化工具。

2024-11-25 15:00:21 4239 1

原创 InnoDB 引擎是如何实现索引的 ?

一、InnoDB 索引的实现1) 表数据自身就是按 B+Tree 组织的一个索引结构文件2) 聚集索引 - 叶节点包含了完整的数据记录3) 为什么建议 InnoDB 引擎的表一定要建主键,并且推荐使用整型的自增主键 ? 在建立一条的数据的时候,必须要用一颗 B+ Tree 来组织,如果我们的表的主键自带索引的话,那直接可以使用该索引来建立 B + Tree 的数据结构。 问题来了 ? 如果没有主键 id 呢 ? 它会选择一列没有相等的数据的列拿来组织 B+ Tree 数据

2024-11-25 13:25:14 864

原创 Java 类加载器与双亲委派机制

类加载器和双亲委派机制类加载器种类:1、引导类加载器: 负责加载支持JVM运行位于JRE lib目录下的核心库,比如 rt.jar、charsets.jar 等c++ 语言在启动 java 虚拟机的时候,用 c++语言实现的引导类加载器,用来加载 jdk 最重要的核心 jar 包2、 扩展类加载器: 负责加载支持JVM运行位于JRE 目录下ext扩展目录中的 jar 类包3、 应用程序类加载器:负责加载ClassPath路径下的类包,主要程序员自己编写的那些类)4、自定义加载器:负责用户自定

2024-11-25 11:31:15 1235 1

原创 分布式系统接口,如何避免重复提交

在接口请求前,服务器生成一个唯一的 Token(可以是 UUID 或其他唯一标识),并将其下发到客户端。客户端在请求接口时携带该 Token,服务器校验该 Token 是否已经使用。尤其是在处理涉及资金交易、订单创建等敏感业务时。避免表单重复提交是一项重要的任务,

2024-11-25 10:36:26 808

原创 Java 线程池的种类、如何使用、运行原理

待写…

2024-11-19 14:54:45 662

原创 Nacos 启动报错 java.lang.UnsatisfiedLinkError

java.lang.UnsatisfiedLinkError 通常是由于 Java 在运行时无法找到本地库(native library)或者无法加载本地代码(如 .so、.dll 或 .dylib 文件)引起的错误。Nacos 可能依赖一些本地库,例如用于连接数据库、Nacos 自身的组件或者其他与操作系统相关的依赖。Nacos 可能依赖某些环境变量来找到本地库文件,如果这些环境变量配置不正确或没有设置,Java 就无法加载本地库。Nacos 可能在启动时试图加载错误的配置或环境,导致无法找到依赖的库。

2024-11-19 14:39:01 1282

原创 Java 解决远程调用 ssl 证书认证问题

假如你的项目是 spring boot ,远程调用是 feign 组件的话,可以通过修改配置文件来跳过 ssl 证书校验。假如你的项目是 spring boot ,可以加入 跳过证书的 java 文件,其实就是创建一个 bean 对象。Java Compiler 及 Project Structure 下 jdk 的版本是否正确和你目录对应上。注意:需要把该文件放在 springboot 能扫描到的地方。打开 cmd , 按照自己的文件所在的目录进行导入命令执行。在 jdk 目录导入证书。

2023-12-23 13:31:29 842

原创 SpringCloud-Gateway 解决跨域问题

浏览器不能执行其他网站的脚本,是由浏览器同源策略限制的一类请求场景,从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。指一个域下的文档或脚本试图去请求另一个域下的资源。

2023-10-30 23:15:39 2430 2

原创 SpringBoot 整合 Druild 数据源,详细步骤

文章目录一、Druid 数据源介绍二、整合步骤2.1、加入必须依赖2.2、配置文件三、整合中出现的问题一、Druid 数据源介绍Druid 是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池。具说 Druid 已经在阿里内部部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。另外 Druid 是阿里开发的号称为监控而生的数据库连接池!二、整合步骤2.1、加入必须依赖<dependency> <grou

2022-04-23 00:40:36 726

原创 Springboot 整合 jasypt 实现配置文件敏感信息加密,详细步骤

文章目录一、jasypt 加密介绍二、springboot 集成步骤2.1、使用 jasypt -spring-boot-starter2.2、启动类添加注解2.3、配置文件三、测试步骤3.1、添加加密后的属性配置3.2、添加测试解析类一、jasypt 加密介绍为什么要使用 jasypt 加密 ?在我们在配置中配置敏感信息的时候 , 要是被不友好的人看见了,就容易产生风险。这个时候就 需要把敏感信息加密。通过使用 Jasypt,我们可以为属性文件属性提供加密,我们的应用程序将完成解密并检索原始值

2022-04-20 12:16:27 4749

原创 SpringBoot 整合 liquibase 详细步骤

一、介绍LiquiBase 官方地址:http://www.liquibase.org/documentation/index.htmlLiquiBase 是一个数据库重构和迁移的开源框架,通过日志的方式来记录数据库的变更。通过执行日志文件中的修改,将数据库更新或回滚到达一致的状态。特点:支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等;支持多开发者的协作维护-协同日志文件支持多种格式,如XML, YAML, JSON, SQL

2022-04-19 15:50:00 3470

原创 Charles 安装及配置,详细步骤

一、安装激活1.1、下载https://www.charlesproxy.com/download/1.2、激活打开Charles ==> Help ==> Register Charles => 输入Registered Name : https://zhile.ioLicense Key:48891cf209c6d32bf4二、代理配置2.1、代理设置Proxy ==> Proxy Settings1.勾选 Enable tranaparent HTTP pr

2022-04-12 22:34:21 35413 9

原创 ElasticSearch 安装教程 , Centos7 系统

文章目录一、相关安装包下载一、创建普通用户二、上传相关压缩包、并解压三、修改配置文件3.1、使用 es 用户修改 elasticsearch.yml 配置文件3.1、使用 es 用户修改 jvm.option四、修改系统配置文件4.1 修改系统配置文件,解决启动时的问题4.1.1 普通用户打开文件的最大限制4.1.2 普通用户启动线程数限制4.1.3 普通用户调大虚拟内存五、启动 es 服务五、客户端 Kibana 安装一、相关安装包下载elasticsearch‐7.6.1‐linux‐x86_64.

2022-04-12 11:24:58 2536

原创 Java 通过序列号生成树形结构数据 [代码实现\可直接运行代码]

文章目录通过下面的序列号生成有层级关系的树形结构:代码实现通过下面的序列号生成有层级关系的树形结构: 代码实现import com.alibaba.fastjson.JSON;import lombok.Data;import org.apache.commons.collections4.CollectionUtils;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import jav

2022-02-12 18:26:05 910 9

原创 Redis 的键过期删除策略你知道吗 ?

文章目录Redis 的键过期删除策略你知道吗 ?一、常见的删除策略1.1 定时删除策略1.2 惰性删除策略1.3 定期删除策略二、redis 使用的删除策略2.1 惰性删除策略的实现方式2.2 定期删除策略的实现Redis 的键过期删除策略你知道吗 ?对于 redis 服务器来说,内存肯定很重要的,但如果有一些 key 不常用又一直不被删除,就会造成资源的浪费。一、常见的删除策略常见的三种删除策略如下:其中定时删除和定期删除属于主动删除策略,而惰性删除就被动性删除策略。1.1 定时删除策略在设

2022-02-02 16:56:35 1336

原创 Redis 能用在哪些场景下 ?

1、短信验证码把短信验证码存到 redis,给 redis 设置一个过期时间。key 过期就查不到数据,验证码自然就过期了。2、缓存热点数据热点数据:数据频繁被查询或被使用,对一致性要求很高的数据,不建议放在 redis里面,有可能会出现数据不一致的问题。3、分布式锁并发的时候,可能会出现线程不安全的情况,为了保证分布式情况下的串行执行。这个时候需要使用分布式锁,而 redis 的 setIfAbsent 指令就适合做这个锁。这个指令的意思就是不存在该 key,就成功,相反而知。大致流程:或

2022-02-01 14:46:30 1933

原创 单例模式有几种写法?需要注意什么?

单例模式有几种写法?需要注意什么?饱汉模式基础的饱汉模式写法饱汉模式基础的饱汉模式写法

2022-01-28 15:50:33 922

原创 @Transactional 事务失效的场景还不清楚 ?

一、事务的类型1、声明式事务2、编程式事务二、@Transactional 声明式事务的用法三、@Transactional 会造成失效的场景

2022-01-18 15:11:03 388

原创 Java 按天自增生成自定义 ID

Java 按天自增生成自定义 ID一天从1 开始自增到 9999,第二天又要重新从 1 开始生成 ,id 字符串会拼上年月思路:既然 id 需要拼上年月,我们可以考虑用 redis 的自增指令来实现,年月当 key ,自然到了第二天 key 就变了,所以自增又重新开始了。 public String method(){ //时间位 DateTimeFormatter DF_FMT_PREFIX = DateTimeFormatter.ofPattern("ddMM

2021-11-06 17:57:46 2179 1

原创 Java 随机生成 “纯数字“、“纯字母“ 、“数字字母混合“ ID 并保持全局唯一

随机生成 “纯数字”、“纯字母” 、“数字字母混合” ID并保持全局唯一一、随机生成纯数字ID /** * 随机生成字符,只有数字 * @param length id长度 */ public static String getNumber(Integer length) { String uid = ""; for (Integer i = 0; i < length; i++) { Strin

2021-11-06 15:17:54 6054

原创 Java 树形结构生成序号/编号

给一组树形结构生成以下编号。废话不多说,直接看代码例子。

2021-10-17 15:31:19 3160 3

原创 IDEA 2021.02.02 的版本,出现编译项目报内存溢出的问题

一、出现状况,在这个页面编译很久,过后直接报了个内存溢出的报错。二、解决方法分析情况,考虑到是项目大的情况,导致默认的内存不太够,需要加大一些。1、设置 idea 本身内存2、file > settings > compiler3、file > settings > Importing...

2021-09-26 10:24:54 3858

原创 Mysql 数据库执行计划 EXPLAIN SELECT * FROM

EXPLAIN SELECT * FROM 是干嘛用的 ?查询计划用的语句,主要用来检测 sql 的执行性能。例如:explaln select * from user 就是检测 select * from user 的查询性能。EXPLAIN SELECT * FROM 各个字段的含义id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。select_type 常见列值有:2.1:simple:表示不需要un

2021-05-30 01:55:30 786

原创 关于数据加密的思考,加密的算法类型,优雅解决数据加密

背景: 海外项目,考虑到数据合规的问题,项目中入库的数据进行加密,但正常的业务交集还是要用明文数据,所以查询出来的数据需求明文返给前端。传统的想法:在数据入库前进行数据加密,把数据查询出来前,再进行数据加密,这是一个简单的实现。常用加密算法的类型:非对称加密对称加密哈希加密数字签名加密...

2021-03-29 17:14:13 411

原创 都应该知道的类的加载机制 (加载、验证、准备、解析、初始化、使用、卸载)

类的加载机制java 程序要运行起来,首先要把class文件加载到 jvm 内存里面,加载过程分为 验证 > 准备 > 解析 > 初始化,最后会被加载到 jvm 里面。使用到类的时候才会被加载,例如调用类的main方法或者new对象等等。一,验证其实 Java 文件编译后的 class并不是所谓的 “乱码”,其实是规律含义的字母,验证这一步就是验证这些 class 文件里的字节码是否格式正确,格式不正确即会验证失败。二、准备准备这一步就是把我们的类静态变量(static)做初始值

2021-03-18 23:33:10 604

原创 SpringBoot 整合 Kafka、生产端、消费端代码实现

1 加入kafka maven依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency>2 kafka 参数配置及详细解释# 以逗号分隔的主机:端口对列表,用于建立与Kafka群集的初始连接spring.kafka.b

2021-03-17 00:44:27 2309

原创 Java 客户端访问 Kafka

Java 客户端访问 Kafka1,依赖引入<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.1</version></dependency>2,消息生产端代码package com.example.kafkademo.produce

2021-03-09 20:23:03 714 1

原创 Linux 安装kafka详细步骤

Linux 安装 kafka 详细步骤一,kafka 下载地址http://archive.apache.org/dist/kafka/二,安装步骤2.1 安装JDK (kafka 是Scala语言开发,运行在 jvm 上)# 解压文件tar -zxf jdk1.8.0_201.tar# 配置环境变量vim /etc/profile# 在 profile 文件最后加上export JAVA_HOME=/usr/local/java/jdk1.8.0_201export PATH=$

2021-02-23 23:48:50 21587 2

原创 Redis RDB、AOF及混合持久化,主从模式,哨兵模式

一、RDB、AOF 及混合持久化详解1.1 RDB 持久化RDB 持久化是把当前进程数据生成快照保存在硬盘的过程,触发RDB持久化有两种方式,分别是 手动触发,自动触发。1.1.1 手动生成RDB快照进入 redis 客户端 执行 save 或 bgsave 可以生成dump.rdb文件,每一次执行命令就生成新的rdb快照文件,并覆盖原有的 rdb 快照文件。save 命令 :执行 save 命令的时候会阻塞当前 redis 服务器,直到RDB快照成功生成,内存中的数据量过大的可能造成短时间的阻塞

2021-01-10 15:49:03 1202

原创 Linux 安装Redis、配置更改、进程启动、redis 卸载

1、安装Redis下载地址:https://www.redis.net.cn/download/把下载好的 redis-xxxx.tar.gz 放在/usr/local/redis文件夹下.解压:tar -zxvf redis-5.0.10.tar.gz进入解压好的redis目录中,进行编译与安装:make修改配置(redis-conf)://后台启动aemonize yes //关闭保护模式,开启的话,只有本机才可以访问rediprotected‐mode no //bind绑

2020-12-24 00:04:29 820

原创 RabbitMQ 常用工作模式

RabbitMQ 常用工作模式:官网地址:https://www.rabbitmq.com/getstarted.htmlPublish/Subscribe 发布与订阅模式订阅模式:生产者会将消息发送到(Exchange )交换机,Exchange 类型是 Fanout,不同的队列注册到交换机中,不同的消费注册到不同的队列上。P:生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发送到 x 交换机中C:消费者,消息的接收者,会一直等待消息的到来Queue:消息队列、接收消息、缓存消

2020-12-15 00:26:07 556

原创 Rabbitmq 基本概念与安装及卸载

1,MQ 的基本概念1.1 MQ 概述 (全称 Message Queue ,在消息的传输过程中保存消息的容器,多用于分布式系统)1.1.1 MQ 的优势 应用解耦,异步提速,并发削峰 应用解耦:把有关联的内部系统采用异步消息通知的方式传递,提高系统的容错性和可维护性。异步提速:不必要的操作可使用异步的方式执行,减低业务反应的时间, 提升用户体验和系统吞吐量。并发削峰:提高系统的稳定性,避免高并发情况的服务瘫痪1.1.2 MQ 的问题/劣势系统可用性低,越多的服务依赖 MQ , 系统的稳定

2020-12-01 21:20:59 1185

Java SpringBoot 项目跳过 ssl 证书认证文件

Java SpringBoot 项目跳过 ssl 证书认证文件

2023-12-23

通过序列号生成树形结构数据、代码实现

通过序列号生成树形结构数据、代码实现

2023-10-31

springboot-crud-demo.zip

SpringBoot 集成 Mybatis的增删改查 ,前端技术用的是Thymeleaf 引擎模板,控制层使用的技术是SpringMvc ,持久层用的技术是Mybatis

2020-04-08

空空如也

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

TA关注的人

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