自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JAVA】一篇聊透百万级数据导入导出场景问题、大数据处理策略及优化方案、EasyExcel 和 EasyPOI的玩法详解

EasyExcel 是阿里巴巴开源的 Java 库,用于高效地处理 Excel 文件。它在处理大数据量时表现优异,具有低内存占用和高性能的特点。EasyPOI 是另一个流行的 Java 库,旨在简化 Excel 文件的操作。虽然它也提供了良好的性能,但在处理大数据量时,可能不如 EasyExcel 高效。

2024-09-14 09:57:24 412

原创 【JAVA】Spring Security框架三万字详解,看这一篇就够了

可以在SpringSecurity中创建自定义配置文件Java自定义配置用来管理用户信息,是UserDetailsService的一个实现,用来管理基于内存的用户信息。创建一个WebSecurityConfig文件:定义一个@Bean,类型是UserDetailsService,实现是InMemoryUserDetailsManager@EnableWebSecurity//Spring项目总需要添加此注解,SpringBoot项目中不需要@Bean。

2024-09-13 09:12:10 826

原创 【JAVA】数据脱敏技术(对称加密算法、非对称加密算法、哈希算法、消息认证码(MAC)算法、密钥交换算法)使用方法

数据脱敏(Data Masking)是指对数据进行处理,替换或掩盖其真实内容,以防止敏感信息被未经授权的用户访问。脱敏后的数据仍然能够保留原数据的格式和某些特征,但无法反映真实的敏感信息。其主要目的是保护隐私、遵守法律法规、以及降低数据泄露的风险。

2024-09-12 08:49:09 1181

原创 【数据库】瀚高数据库Windows/Linux、下载安装、高级用法、数据迁移(保姆篇)

在当今数据驱动的世界中,数据库系统的选择对企业和开发者至关重要。瀚高数据库(HangoDB)作为一种新兴的数据库解决方案,结合了高性能、易用性和灵活性,为各种应用场景提供了强大的支持。

2024-09-11 08:44:21 940

原创 【JAVA】Undertow的使用及性能优化,以及Undertow与Tomcat的对比

在相同的机器配置下,模拟相等的请求数,Undertow 在性能和内存使用方面都是最优的。所以,如果是高并发的业务系统,Undertow 是最佳选择。在SpringBoot应用的application.properties或application.yml中,可以调整Undertow的线程池设置。当你进行Tomcat调优发现在怎么调都无法满足需求的时候,Undertow容器在性能和内存上都优于Tomcat容器,因此选择Undertow容器并进行调优是更好的选择。所以只需更换一个依赖即可使用,还是很方便的。

2024-09-10 09:34:56 1071

原创 【JAVA】Tomcat性能优化、安全配置、资源控制以及运行模式超详细

nio(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。

2024-09-09 11:25:27 1856

原创 【JAVA】影响及解决Spring Boot 依赖下载慢的问题

在使用 Spring Boot 开发应用程序时,依赖下载速度慢可能会成为一个常见的痛点。较长的下载时间不仅影响开发效率,还可能导致生产环境中的构建延迟。利用增量构建或增量编译来减少每次构建所需的时间。例如,Gradle 的增量构建和 Maven 的增量编译都能显著提升构建速度。配置构建缓存以减少重新下载和构建的时间。例如,Gradle 提供了构建缓存功能,可以通过。对于 Maven 和 Gradle,可以配置并行下载来加快依赖获取速度。Maven 可以通过。来分析和优化依赖项,找出不必要的或过时的依赖。

2024-09-04 09:41:38 721

原创 【数据库】达梦数据库下载、安装、基础与高级语法,以及与其他数据库的区别(保姆篇)

达梦数据库是由中国达梦数据库有限公司开发的关系型数据库系统,广泛应用于政府、金融等领域。它支持多种 SQL 标准,提供了高性能和高可用性,适合大规模数据处理和复杂查询。

2024-09-04 09:40:38 857

原创 【Protobuf】xml、json与protobuf有什么区别,protobuf详解(保姆篇)

Protocol Buffers(简称 Protobuf)是 Google 开发的一种语言中立、平台中立、可扩展的序列化结构数据的机制。它主要用于将数据结构序列化为二进制格式,以便于高效传输和存储。Protobuf 在性能、文件大小和数据兼容性方面有着显著的优势。Protobuf 适用于多种编程语言,包括 C++、Java、Python、Go 和 C# 等。本文将详细介绍 Protobuf 的工作原理、如何定义消息结构、生成代码及其在实际应用中的使用。Protobuf 使用.proto文件定义数据结构。

2024-09-02 18:07:17 869

原创 【JAVA】Log4j、Logback、JUL日志文件详解(保姆篇),以及如何去掉控制台没用的日志案例分享

log.configLog4j 是 Apache 提供的一个日志框架,它允许开发者根据需要配置日志输出。Log4j 的配置文件通常是 XML、JSON 或者 Properties 格式。

2024-09-02 08:55:03 776

原创 【Denuvo加密】黑神话悟空为什么没有破解版?Denuvo加密技术的详细解析与代码示例

加密技术的目的是保护数据免受未授权访问。对称加密:使用相同的密钥进行加密和解密。对称加密的优点在于其加密和解密速度较快,但密钥的分发和管理是一个挑战。非对称加密:使用一对密钥(公钥和私钥),公钥用于加密,私钥用于解密。非对称加密提供了更高的安全性,但加密和解密速度较慢。D加密技术是一种现代化的加密方法,它综合了对称加密和非对称加密的优点,用于保护游戏中的各种数据。这种技术不仅能高效地加密数据,还能保证数据的安全性,防止被非法访问和篡改。D加密技术在《黑神话:悟空》中的应用展示了现代游戏数据保护的先进方法。

2024-08-28 08:16:27 949

原创 【PL/pgSQL】华为数据库GaussDB及PostgreSQL 数据库系统的过程语言

PL/pgSQL(Procedural Language/PostgreSQL Structured Query Language)是 PostgreSQL 数据库系统中的一种过程性编程语言。作为 PostgreSQL 的一种扩展,它允许用户编写复杂的存储过程、触发器和函数,实现数据库的高级功能。与存储过程不同,函数会返回一个值。BEGINEND;

2024-08-26 13:44:06 2234

原创 【笛卡尔积】深入理解笛卡尔积及其在SQL中的应用

笛卡尔积,或称为直积,是集合论中的一个基本概念。给定两个集合 ( A ) 和 ( B ),它们的笛卡尔积 ( A \times B ) 是一个包含所有可能的有序对的集合。形式化定义如下:例如,假设 ( A = {1, 2} ) 和 ( B = {x, y} ),那么 ( A \times B ) 将是:这个结果是所有可能的有序对组合,包含了每个元素的所有可能配对。

2024-08-26 09:50:56 1043

原创 【数据库】MySql基本引擎InnoDB、MyISAM、MEMORY、CSV、ARCHIVE(详细说明)

合理选择数据库存储引擎对于系统的性能、数据完整性、维护成本等方面都具有重要影响

2024-08-23 10:53:36 981

原创 【JVM】JVM 实战调优指南赋案例(保姆篇)

即时编译器(JIT)将字节码编译为机器码,以提高运行时性能。热点编译(HotSpot Compilation):编译热点代码,提高执行效率。逃逸分析(Escape Analysis):优化对象的内存分配和回收。

2024-08-16 17:26:15 1160

原创 【JAVA】阿里巴巴 EasyExcel:高效的Excel处理解决方案

EasyExcel 是阿里巴巴开源的一个 Java 库,旨在提高 Excel 文件处理的性能。它是基于 POI 的封装,主要用于简化 Excel 文件的读写操作,并且在处理大数据量时表现出色。我们可以实现自定义转换器来处理特殊的数据格式,例如将日期格式化为特定的字符串格式。

2024-08-16 17:12:26 989

原创 【JAVA】深入理解守护线程与非守护线程:概念、应用及示例

在多线程编程中,线程的管理是至关重要的。Java 提供了两种主要的线程类型:守护线程和非守护线程。理解它们的区别以及如何在实际应用中使用它们,对编写高效和稳定的程序至关重要。本文将深入探讨这两种线程的概念、应用场景,并通过实际代码示例帮助你掌握如何使用它们。守护线程是一种特殊类型的线程,它的存在不会阻止 JVM 退出。守护线程一般用于后台任务,如垃圾回收、监控任务等。当所有非守护线程都结束时,JVM 会退出,即使守护线程仍在运行。非守护线程是普通线程,它会阻止 JVM 退出,直到它们完成执行。

2024-08-15 08:31:21 1164

原创 【JAVA】阿里巴巴的 FastJson 深入解析与应用实例

FastJson是阿里巴巴开发的一个高性能的JSON库,它提供了快速的JSON序列化和反序列化功能。与其他JSON处理库相比,FastJson具有更快的解析速度、更低的内存占用和更高的灵活性。它能够轻松处理Java对象与JSON字符串之间的转换,并支持自定义序列化和反序列化。FastJson允许开发者通过实现和接口来自定义序列化和反序列化过程。return;} }return;} }

2024-08-14 08:37:35 931

原创 【JAVA】阿里巴巴的Arthas:Java应用诊断的利器

Arthas是阿里巴巴开源的Java诊断工具,主要用于动态分析和调试Java应用。它通过Java Agent技术,将自身注入到运行中的JVM中,从而实现对JVM内部状态的实时监控和操作。Arthas不仅可以帮助开发者定位性能瓶颈,还能实时监控应用的健康状况,是处理复杂生产环境问题的利器。主要功能包括:实时监控:提供应用的实时状态和性能数据。线程分析:查看线程堆栈信息,分析线程状态。堆转储分析:生成堆转储文件,帮助识别内存泄漏。方法调用跟踪:动态地跟踪方法的调用链,了解方法执行的详细信息。脚本支持。

2024-08-14 08:37:17 680

原创 【Regex】正则表达式详解:从基础到高级应用(保姆篇)

正则表达式是一种由特殊字符组成的字符串,用于描述文本模式。它可以匹配符合模式的文本、从文本中提取信息或替换文本中的匹配内容。

2024-08-09 16:59:44 1279

原创 【JAVA】深入理解 JEXL:Java 中的表达式语言

在现代软件开发中,动态计算和执行表达式是一项非常重要的能力。特别是在需要动态规则评估、配置文件解析以及灵活的业务逻辑实现等场景下,使用一种能够在运行时解析和执行表达式的工具显得尤为重要。JEXL(Java Expression Language)就是这样一种工具,它为 Java 开发者提供了强大的表达式解析和执行能力。JEXL 是一个基于 Java 的表达式语言,它允许开发者在运行时动态解析和执行字符串形式的表达式。

2024-08-09 08:47:32 1331

原创 【算法设计】深入理解波兰表达式与逆波兰表达式

在计算机科学与数学领域中,波兰表达式(Prefix Notation)和逆波兰表达式(Postfix Notation)是两种重要的表达式形式,它们在编程语言、计算器设计以及算法实现中有着广泛的应用。本文将详细探讨这两种表达式的定义、优势以及实际应用。

2024-08-09 08:44:55 813

原创 【Python脚本】定时任务脚本实现、自动关机等功能脚本实现(保姆篇)

这段代码利用多线程的方式提高了任务执行的效率,特别适合需要并发执行多个独立任务的场景,如发送多个通知或处理多个独立的数据处理任务。模块实现了根据时间注册和执行定时任务,并提供了实时的时间信息反馈和等待功能,使得任务的执行更加自动化和精确。它使用了多线程的方式,同时启动了多个线程来执行不同的任务,然后等待所有线程执行完毕后输出完成信息。这段代码的目的是确保输入数据的格式正确,以便后续的处理能够顺利进行。,用于检查输入数据的有效性。这段代码是一个并发执行多个任务的函数。,用于注册和执行定时任务。

2024-08-05 11:51:58 909

原创 【Pyinstaller】Python 项目打包为可输入参数的exe可执行文件(保姆篇)

PyInstaller 是一个用于将 Python 程序打包成独立可执行文件(executable)的工具。它能够将 Python 脚本和依赖的库、资源文件等打包成一个单独的可执行文件,适用于 Windows、macOS 和 Linux 等操作系统。主要特点和优势:PyInstaller 支持在多个操作系统上打包和生成可执行文件,包括 Windows、macOS 和各种 Linux 发行版。

2024-08-05 11:35:15 1114

原创 【Python脚本】编写一个自动化脚本来模拟在华为商城的操作图解示例(附源码)

这里自己输入一个时间,到了一定时间会自动去执行脚本,例如八点开抢可以设置7:59就开始疯狂点击。这里需要手动去输入验证码,因为验证码一天发很多次会上限,还是人为控制比较好。自动输入账号密码,并自动点击登陆按钮。跳转商品页面,并点击立即购买按钮。手动输入地址,并点击提交订单按钮。自动打开index页面。

2024-08-01 10:03:40 985 1

原创 【Python】从0开始写脚本、Selenium详细教程、附源码案例(保姆篇)

Selenium是一个用于自动化浏览器操作的开源工具套件。它最初是为Web应用程序测试而创建的,但后来也被广泛用于网页数据抓取等任务。Selenium支持多种浏览器(如Chrome、Firefox、Safari等)和操作系统(Windows、Mac、Linux等),并提供了灵活的API来模拟用户在浏览器中的操作。

2024-07-31 10:27:45 1367

原创 【Python/PyCharm】卸载、安装、配置环境、及错误解决(保姆篇)

卸载Python,建议去控制面板,找到Python.exe和python.launcher,右键卸载即可。如果在安装的时候并未选择自动配置,或者下载错位置想要修改的,把以下两个变量新增或者修改一下即可。安装完如果双击应用出现这个,去官网重新下载32位,这是因为你之前安装过可能没清理干净的问题。下载完安装包双击安装即可,下面如图全部勾选,其他无脑next即可。双击安装包按图示安装即可,按照如图勾选即可自动配置环境变量。我这里为了稳定,没有下载最新的,下载的2023的64位。根据图示内容填入所需内容。

2024-07-30 10:41:01 992

原创 【Jmeter】压力测试工具下载、安装、配置环境变量、中文设置、压测实战教程(超详细)

找到language=en 改为language=zh_CN,去掉注释。右键我的电脑-属性-高级系统设置-环境变量-path-新建bin路径。我这里下载的最新版5.6,java1.8是支持的。KB/sec:每秒从服务器端接收到的数据量;cmd测试,输入jmeter后会自动打开。直接解压即可,解压后的目录如下。配置(根据自己的请求地址配置)

2024-07-29 09:06:45 1229

原创 【微信小程序开发】API使用、自定义组件、页面实现图解超详细

个人理解是相当于在页面中有一小块是封装好的直接拿过来用类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成的component。看下面的代码知道怎么走的就行component代码json文件用来说明自己是一个组件代码js文件来构建这个组件的内容、数据、方法//js文件// 这里定义了innerText属性,属性值可以在组件使用时指定value: '我是自定义组件',},data: {// 这里是一些组件内部数据},methods: {// 这里是一个自定义方法。

2024-07-27 09:33:49 1105

原创 【微信小程序开发】从0-1注册、下载、安装、开发保姆篇教程(附Demo源码)

进入微信公众平台注册,选择小程序即可进行邮箱注册以及一系列的信息填入,这里选择个人,即可注册完成根据自己的操作系统下载对应的安装包进行安装即可(我的是64位):微信开发者工具下载地址下载完安装包双击解压无脑下一步即可,微信扫码打开,点击如图加号即可创建项目进入刚才注册页面,找到对应的AppID点击+号创建项目

2024-07-25 08:19:45 1228

原创 【Java常用设计模式】通俗易懂的玩转模板方法、责任链、代理、适配器、观察者模式(保姆篇)

又是一个大雨倾盆的清晨,继继续玩设计模式,让代码越来越优雅。

2024-07-24 08:24:36 1284

原创 【Java常用设计模式】通俗易懂的玩转单例、建造者、工厂、策略模式(保姆篇)

在一个狂风骤雨的下午,有人突然问了我一句,单例模式是什么,我愣了

2024-07-23 08:17:29 1327

原创 【2024最新版】JavaScript前端面试篇,看这一篇就够了

在 JavaScript 中,当一个函数(我们称之为外部函数)返回另一个函数(内部函数)时,内部函数会保留对外部函数作用域的引用,这样即使外部函数已经执行完毕,内部函数仍然可以访问到外部函数的作用域,这就形成了一个闭包。闭包有很多用途,比如:创建私有变量:JavaScript 中没有原生的私有变量概念,但我们可以使用闭包来模拟私有变量。实现持久化的局部变量:正常情况下,函数的局部变量在函数执行完毕后就会被销毁,但如果我们将这个局部变量通过闭包暴露出去,那么这个局部变量就会一直存在。

2024-07-22 09:40:51 1094

原创 【2024最新版】Vue前端面试篇,看这一篇就够了

输入URL:用户在浏览器的地址栏中输入网页的URL。DNS解析:浏览器会通过DNS(域名系统)将网页的域名解析为对应的IP地址。如果浏览器或操作系统已经缓存了这个域名的IP地址,则可以跳过这一步。建立TCP连接:浏览器与服务器建立TCP连接,进行三次握手,确认连接已建立。发送HTTP请求:浏览器向服务器发送HTTP请求,请求中包含了要访问的网页文件,如HTML文件。服务器处理请求并返回HTTP响应:服务器处理浏览器的请求,然后返回一个HTTP响应,响应中包含了网页的HTML内容。浏览器解析HTML。

2024-07-20 10:54:49 1368

原创 【Linux/Windows】Wireshark抓包工具下载、安装、使用、数据分析、常用知识点

在一个阳光明媚的周五清晨,一起快乐的玩耍一下Wireshark。

2024-07-19 13:17:16 1778

原创 PlantUML-UML 绘图工具安装、Graphviz安装、本地使用/在线使用、语法、图示案例

本篇提供两种使用方式分别为vscode使用:需要安装插件以及下载Graphviz并配置环境变量各取所需即可,想要在线使用的朋友可以直接跳过看在线使用演示及语法部分活动图(新语法)活动标签以冒号开始,以分号结束,支持 CreoleWiki 语法。活动默认按照定义的顺序进行连接。例如:开始和结束可以使用关键字start和stop(或end)表示,例如:startstop。条件语句:使用ifthen和else(或elseif)设置分支测试,标注文字放在括号中。例如:startelse(no)

2024-07-18 13:52:42 1874

原创 SpringBoot Security OAuth2实现单点登录SSO(附源码)

OAuth2 允许用户使用第三方认证提供者(如Google、GitHub等)的凭据进行认证,而不需要在你的应用中存储用户的密码。如果在你的应用程序中配置了多个 OAuth2 客户端(例如同时配置了 Google 和 GitHub),用户在其中一个认证成功后,在访问其他配置的客户端时不需要重新认证。登陆界面,进行上述整篇都在说的认证服务器,但如果先登录认证服务器,在进行登陆8082端口这个服务,会直接进入8082页面,这就是所谓的已经授权过的无需在重复登陆的实现。登陆页面–点击登陆进行授权。

2024-07-17 15:25:08 1477 1

原创 Vue2-一篇文章带你读懂Vue的代码(保姆篇详解)

vue的框架及代码多种多样,这里也是小编在学习过程中一点点读到的东西,学识尚浅,如有误解,希望理解,文章是针对前端几乎没有什么概念的朋友写的现在有很多本应该是后端的朋友,迫于社会压力开始自学前端,相信大家在看完这篇文章,希望为你学习前端有所帮助。

2024-07-16 14:37:08 1263

原创 Vue2-状态管理Vuex介绍与使用

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。示例// 状态data () {return {count: 0},// 视图`,// 操作methods: {状态,驱动应用的数据源;视图,以声明方式将状态映射到视图;操作,响应在视图上的用户输入导致的状态变化。以下是一个表示“单向数据流”理念的简单示意:多个视图依赖于同一状态。

2024-07-15 13:09:40 1408

原创 Vue2-集成路由Vue Router介绍与使用

路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面。动态路由指的是:把 Hash 地址中可变的部分定义为参数项,从而提高路由规则的复用性。用过vue3的朋友会发现其实跟vue2道理一样,细枝末节的处理可能稍有差异,还有更为复杂的场景路由,更详细全面的内容可查看官方文档。路由是根据不同的url地址来显示不同的页面或内容的功能,这个概念很早是由后端提出的,既浏览器向。对象访问到动态匹配的参数值, 比如在商品详情组件的内部,根据id值,请求不同的商品数据。

2024-07-13 07:25:19 1111

空空如也

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

TA关注的人

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