自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ElasticSearch入门教程(保姆级)

ES是一个使用Java语言并且基于Lucene编写的搜索引擎框架,他提供了分布式的全文搜索功能,提供了一个统一的基于RESTful风格的WEB接口,官方客户端也对多种语言都提供了相应的API。Lucene:Lucene本身就是一个搜索引擎的底层。分布式:ES主要是为了突出他的横向扩展能力。全文检索:将一段词语进行分词,并且将分出的单个词语统一的放到一个分词库中,在搜索时,根据关键字去分词库中检索,找到匹配的内容。(倒排索引)

2024-07-05 16:51:40 10001 5

原创 spring-security安全框架(超精细版附带流程讲解图)

用户认证指的是:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。 通俗点说就是系统认为用户是否能登录。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。 通俗点讲就是系统判断用户是否有权限去做某些事情。

2024-06-30 10:23:22 6492 27

原创 Git的安装配置及使用(超详细!!!)

一个非常好的网站:它是一个版本管理工具.版本: 软件开发过程当中的重要节点.作用: 团队协作,管理代码.对于软件的学习, 会用就行.

2024-06-26 11:26:42 20994

原创 解决PostgreSQL类型为json, 但表达式的类型为 character varying

*** @Description: json对象处理*//*** 引入PGSQL提供的工具类PGobject*//*** 关键位置!!!*/@Override@Override//根据列索引,获取可以为空的结果@Override@Override实体类/*** 适宜区域*/@Schema(name = "适宜区域", description = "suitableArea")听忆.-优快云博客🎈众口难调🎈从心就好。

2025-03-27 16:18:59 302

原创 Knife4j对Spring Boot进行整合

Knife4j是一个基于Swagger UI的增强版UI框架,可以方便地使用Swagger来管理和测试API文档。而Spring Boot是一个快速开发框架,可以简化开发过程。将Knife4j与Spring Boot整合可以让开发人员更加方便地管理和测试API文档。简述Swagger和Knife4j;Spring Boot整合Knife4j的步骤;Knife4j的使用介绍;测试用例;全文小结。启动Spring Boot应用,访问,即可看到Knife4j的UI界面。

2025-02-19 14:52:48 921

原创 SpringBoot中实现自定义注解用于文件验证(大小、扩展名)

性能考虑:在验证文件的 MIME 类型时,使用 Files.probeContentType(file.toPath()) 方法可以获取文件的 MIME 类型。扩展名是文件名中的后缀,如 .jpg,而 MIME 类型是描述文件内容类型的标准,如 image/jpeg。在验证文件时,建议同时检查文件的扩展名和 MIME 类型,以确保文件的真实性和安全性。在 Spring Boot 中,您可以通过自定义注解来实现对文件的验证,包括文件大小、扩展名和 MIME 类型。4. 配置全局验证器。🎈众口难调🎈从心就好

2025-02-13 09:46:48 460

原创 复杂excel表格内容数据导入 接口参数注解校验

excel 导入时 文件内容校验

2025-02-05 16:17:18 175

原创 java 日常下拉框接口字典封装

下拉框字典格式封装

2025-02-05 16:02:46 544

原创 java根据实体类导出excel

java根据实体类导出excel 无需创建文件模板

2025-02-05 15:59:12 382

原创 两个对象对比字段前后差异(历次修改记录需求)

【代码】两个对象对比字段前后差异。

2024-12-19 11:30:50 253

原创 时间转换:CST是字符串格转Date类型(Tue Sep 08 23:58:09 CST 2020)转date

【代码】时间转换:CST是字符串格转Date类型(Tue Sep 08 23:58:09 CST 2020)转date。

2024-12-19 11:22:23 152

原创 SpringBoot集成Minio实现文件上传

MinIO 是一个高性能的对象存储服务器,用于构建云存储解决方案。它使用Golang编写,专为私有云、公有云和混合云环境设计。它是兼容Amazon S3 API的,并可以作为一个独立的存储后端或与其他流行的开源解决方案(如Kubernetes)集成

2024-11-28 16:36:21 357

原创 如何让Controller代码更加优雅?

在日常的开发过程中,Controller层往往是我们与业务逻辑打交道的第一站。然而,由于需求的复杂性和开发时间的压力,许多开发者在编写Controller代码时往往忽视了代码的优雅性。结果,代码变得冗长而难以维护,充斥着重复的校验逻辑和大量的try-catch块。这样的代码不仅增加了团队成员的理解成本,也容易引发潜在的bug。本文将通过实例,展示如何优化Controller代码,使其更加简洁、可维护,同时减少开发过程中的“血压飙升”时刻。通过优化Controller。

2024-11-08 10:42:50 612

原创 Java语法糖,你用过哪些?

语法糖(Syntactic Sugar)是编程语言中的一种设计概念,它指的是在语法层面上对某些操作提供更简洁、更易读的表示方式。这种表示方式并不会新增语言的功能,而只是使代码更简洁、更直观,便于开发者理解和维护。提高代码可读性:语法糖可以使代码更加贴近自然语言或开发者的思维方式,从而更容易理解。减少样板代码:语法糖可以减少重复的样板代码,使得开发者可以更专注于业务逻辑。降低出错率:简化的语法可以减少代码量,从而降低出错的概率。

2024-11-08 10:32:22 645

原创 Linux多线程编程:深入理解线程互斥与同步机制

在 Linux 多线程编程中,互斥与同步机制是多线程程序的核心。互斥锁适用于简单的临界区保护。条件变量适用于需要等待特定条件的场景。信号量适用于限制并发访问的数量。读写锁在读多写少的场景中更具性能优势。正确理解和应用这些机制可以有效避免数据竞争和死锁,提升并发程序的性能和稳定性。

2024-10-25 17:26:18 751

原创 geoserver上传shp文件

GeoServer 是一个开源的地图服务器,可以将空间数据发布为地图服务,供 GIS 系统或 Web 应用程序调用。本文介绍使用 GeoServer 将 shp 格式的空间数据发布为 Web 服务的详细流程。shp 文件(Shapefile)是一种常见的空间数据格式,包含几何信息和属性数据。.shp:存储几何数据(点、线、多边形等)。.shx:索引文件,便于快速查找空间对象。.dbf:属性数据表,存储每个空间对象的详细信息。GeoServer 支持直接读取 shp 文件并发布为地图服务。

2024-10-25 17:13:07 1179

原创 count(1)、count(*) 与 count(列名) 的区别

COUNT()COUNT(*):计算表中所有行,包括NULL值。:计算所有行,结果与COUNT(*)相同,但不考虑列。:仅统计指定列的非NULL值。

2024-09-27 11:00:54 391 1

原创 GROUP BY和DISTINCT有什么区别?

GROUP BY和DISTINCT是 SQL 中用于处理重复数据的两个不同的功能。

2024-09-25 14:22:01 800

原创 127.0.0.1 与 localhost 有什么区别

127.0.0.1和localhost127.0.0.1127.0.0.1127.0.0.1localhostlocalhost127.0.0.1hosts/etc/hostslocalhost127.0.0.1hosts::1。

2024-09-19 13:53:01 378

原创 为什么要用雪花ID替代数据库自增ID?

为什么要用雪花ID替代数据库自增ID?雪花ID(Snowflake ID)替代数据库自增ID(Auto-increment ID)的主要原因是在。自增ID在单机环境下简单、直观,但在分布式系统或高并发场景中存在一些局限性,而雪花ID能够很好地解决这些问题。

2024-09-13 17:38:07 1574 1

原创 一条sql是如何执行的详解

SQL 查询的执行过程分为解析、查询重写、查询规划、查询执行和结果返回五个主要步骤。每个步骤都对应特定的任务,从解析 SQL 到最终返回结果,确保查询尽可能高效地执行听忆.-优快云博客🎈众口难调🎈从心就好。

2024-09-13 17:34:05 2877

原创 QGIS(Quantum GIS)使用详解

通过以上步骤,你已经掌握了 QGIS 的基础操作和功能。QGIS 提供了功能强大的 GIS 处理能力,支持从数据导入、可视化到复杂的空间分析,帮助你处理各种地理空间数据。听忆.-优快云博客🎈众口难调🎈从心就好。

2024-09-12 15:04:30 4343

原创 一文搞定postgreSQL

开源数据库:PostgreSQL 是免费的,并且拥有强大的社区支持。对象-关系型数据库:不仅支持关系型数据(如表格),还支持复杂的数据类型(如JSON、数组、XML等)。跨平台:可以在 Linux、Windows、macOS 等多种操作系统上运行。高扩展性:你可以通过插件(如 PostGIS)扩展数据库的功能。查看数据库列表\l查看表列表\dt退出 psql\q。

2024-09-08 21:53:27 3029 28

原创 springboot日常开发参数校验注解

在日常项目开发中,我们都知道参数验证是必不可少的一环,但是有时候为了偷懒,把参数校验交给前端开发人员去处理,这样很容易影响系统稳定性和安全性,毕竟现在有很多手段可以绕过前端,直接后端请求接口。

2024-09-06 17:20:16 1654 4

原创 为什么 Java 大佬都不推荐使用 keySet() 遍历HashMap?

为什么 Java 大佬都不推荐使用 keySet() 遍历HashMap?在 Java 中,HashMap是一种非常常用的数据结构,用于存储键值对。keySet()方法返回HashMap中所有键的集合,开发者可以通过遍历这些键来获取对应的值。但很多 Java 大佬不推荐使用keySet()来遍历HashMap。

2024-09-06 10:35:20 688

原创 迭代器 Iterator 是什么?

Iterator是 Java 集合框架中遍历集合的核心工具,它通过一组简单的方法使得集合元素的访问和操作变得更加灵活和安全。在实际开发中,Iterator可以帮助开发者以统一的方式处理不同类型的集合。听忆.-优快云博客🎈众口难调🎈从心就好。

2024-09-06 09:38:52 759 1

原创 BIO、NIO、AIO 有什么区别?

和是 Java 中处理 I/O 操作的三种不同模型,主要区别在于 I/O 操作的阻塞方式和编程模式。

2024-09-06 09:28:52 1162

原创 国内土壤养分标准分级表

中国土壤中的氮、磷、钾等元素以及有机质含量对于土壤肥力和农作物生长至关重要。以下是中国土壤中常见养分的标准分级表,包括全氮、有效磷、有机质、碱解氮、全磷、速效磷、全钾、有机质碳、速效钾、缓效钾、缓效磷、速效氮等元素含量的分级。

2024-09-05 15:06:47 5253 1

原创 geoserver介绍

GeoServer 是一个开源的地理信息服务器,用于发布和管理地理空间数据。它可以将地理数据以开放标准的格式(如WMS、WFS、WCS、WMTS等)发布到Web上,从而实现与各种GIS(地理信息系统)客户端的交互。

2024-09-03 15:07:06 1066

原创 一文搞定—FastJson详解 与 使用

提供服务器端、安卓客户端两种解析工具,性能表现较好。提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。允许转换预先存在的无法修改的对象(只有class、无源代码)。Java泛型的广泛支持。允许对象的自定义表示、允许自定义序列化类。

2024-08-23 14:25:00 10246 40

原创 【轻松拿捏】Java 中的访问修饰符有哪些?分别说明它们的作用

public:对所有类可见。protected:对同包内的类和不同包的子类可见。default(无修饰符):对同包内的类可见。private:仅对所在类可见。听忆.-优快云博客🎈众口难调🎈从心就好。

2024-08-23 13:48:12 469

原创 【轻松拿捏】MySQL的 where 1=1会不会影响性能?

在 MySQL 查询中使用WHERE 1=1一般不会显著影响性能。WHERE 1=1通常是用作一种编程技巧,用来简化动态 SQL 查询的构建。

2024-08-21 11:18:29 743 1

原创 【轻松拿捏】什么是 volatile 关键字?它有什么作用?

volatile是 Java 中的一个关键字,用于修饰变量。它的主要作用是保证变量在多线程环境下的可见性和有序性。volatile是 Java 中用于解决多线程环境下共享变量可见性问题的关键字。它保证了变量的可见性和有序性,但并不保证操作的原子性。volatile适用于某些特定场景,如状态标志、双重检查锁定等,但在涉及复杂操作时,需要结合其他同步机制来确保线程安全。听忆.-优快云博客🎈众口难调🎈从心就好。

2024-08-20 18:27:12 885 2

原创 【轻松拿捏】什么是多态?如何在 Java 中实现多态?

多态)是面向对象编程(OOP)中的一个核心概念,它允许对象以多种不同的形式表现。简单来说,多态使得同一个方法在不同的对象上可以有不同的行为。多态的实现主要通过方法重载和方法重写。

2024-08-20 17:14:47 481 1

原创 【轻松拿捏】什么是线程安全?如何在 Java 中实现线程安全?

线程安全)是指在多线程环境下,多个线程同时访问共享资源时,程序能够保证其行为的正确性和一致性。也就是说,当多个线程同时操作同一个对象或变量时,不会因为线程的交替执行而导致数据不一致或程序错误。线程安全是确保多线程程序能够正确运行的关键。在 Java 中,可以通过同步机制、显式锁、原子类、线程局部变量等多种方式来实现线程安全。选择合适的线程安全机制需要考虑应用场景、性能要求和代码的复杂性。听忆.-优快云博客🎈众口难调🎈从心就好。

2024-08-20 16:39:43 1579

原创 【轻松拿捏】设计模式六大基本原则(一)单一职责原则(SRP - Single Responsibility Principle)

单一职责原则(SRP - Single Responsibility Principle)是面向对象设计中的一个基本原则。一个类只应有一个引起它变化的原因,也就是说,一个类应该只负责一项职责或功能。降低复杂度:每个类只负责一个职责,使类更简单易懂。提高可维护性:当需求发生变化时,只有相关的类需要修改,减少了引入错误的可能性。增强可重用性:单一职责的类更容易在不同的上下文中复用。单一职责原则是构建高质量、可维护软件的重要基础,有助于提高代码的健壮性和可扩展性。听忆.-优快云博客。

2024-08-19 14:12:18 770 24

原创 【轻松拿捏】Java中ArrayList 和 LinkedList 的区别是什么?

如果主要是进行随机访问和遍历操作,ArrayList更合适;如果需要频繁地在列表中间插入或删除元素,LinkedList更加高效。听忆.-优快云博客🎈众口难调🎈从心就好。

2024-08-19 13:55:27 796 17

原创 【日常开发】java中一个list对象集合 将字段a为 大豆 小麦 玉米等元素放在最前面 并组成新集合

在Java中实现这个功能,可以使用Stream来筛选出符合条件的元素,将它们放在新集合的前面,同时保留其他元素在新集合的后面。

2024-08-13 18:10:43 486

原创 【轻松拿捏】Java中String,Stringbuffer,StringBuilder 的区别?

如果需要一个不可变的字符串,使用String。如果需要一个线程安全的、可变的字符串,使用StringBuffer。如果不需要线程安全,但需要高效地修改字符串,使用StringBuilder。听忆.-优快云博客

2024-08-13 18:04:23 504

原创 Java有哪些数据类型?

Java 中的基本数据类型用于简单值的表示,引用数据类型则用于更复杂的数据结构和对象的表示。Java 的强类型机制确保了类型安全,并且基本数据类型的操作效率更高,而引用类型则提供了更大的灵活性和功能。

2024-08-08 18:19:10 594 2

空空如也

空空如也

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

TA关注的人

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