自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-06-30 10:23:22 2774 21

原创 spring security框架使用及源码解析(保姆级教程)

Spring 框架已经作为企业级应用开发的事实上的标准,而作为 Spring 的亲儿子、专注于企业级应用安全领域的 Spring Security 从出生开始自然备受关注。Spring Security 在诞生之后,由于其对Spring框架的无缝集成、灵活度高、场景多样化以及对OAuth标准的实现,能够满足企业在认证和授权上的各种需求;作为 Apache 的顶级项目的 Shiro 差不多能够满足企业级应用系统对于安全性以及稳定性的要求,但是因为出身的问题,关注度持续走低。

2024-06-28 15:42:21 1902 4

原创 【轻松拿捏】Java 浮点数运算不准确的原因及解决方案

有限的二进制表示和舍入误差是浮点数运算不准确的主要原因。使用BigDecimal类可以避免这些问题,因为它提供了高精度的数值运算。将浮点数转化为整数是另一个解决方案,特别适用于金额计算等场景。设定误差范围进行比较是在需要比较两个浮点数是否相等时的常用方法。听忆.-CSDN博客🎈众口难调🎈从心就好。

2024-07-29 16:10:37 355

原创 【轻松拿捏】java-重载和重写的区别

特点重载(Overloading)重写(Overriding)方法名称必须相同必须相同参数列表必须不同必须相同返回类型可以相同或不同必须相同或为其子类型访问权限无特殊要求不能低于父类的方法发生范围同一个类子类与父类之间适用场景提供多种方法实现修改父类方法实现重载用于在同一个类中创建多个方法,这些方法具有相同的名称但不同的参数列表,以提供不同的实现方式。重写用于在子类中提供父类方法的具体实现,以实现多态性和动态绑定。

2024-07-29 15:59:39 660

原创 java- 一个list集合 筛选出a字段值是入库 根据b字段进行分组 计算c字段的和 并组成新集合

要在Java中实现以下功能:java 一个list集合 筛选出a字段值是入库 根据b字段进行分组 计算c字段的和 并组成新集合abc你可以使用Java的StreamAPI来处理这些操作。

2024-07-29 15:36:37 256

原创 java中list集合筛选出本月数据

在Java中筛选出本月的数据,你可以使用java.time包中的类来处理日期和时间。假设你有一个包含日期字段的List对象集合,你可以利用StreamAPI来筛选出本月的数据。

2024-07-28 18:50:15 414 5

原创 Java-根据前缀-日期-数字-生成流水号(不重复)

可以采用"前缀+日期+数字"的方式(ps:此方式是需要用到缓存的):为了更好的标识这个流水号是属于哪种类型;小伙伴们在日常开发时可能会遇到的业务-,在企业中可以说是比较常见的需求,:为了表示当前的流水所处序号。编号生成的方法-直接复制即可。🎈众口难调🎈从心就好。

2024-07-25 18:13:52 712 20

原创 【轻松拿捏】java中为什么要使用克隆?如何实现对象克隆?深拷贝和浅拷贝区别是什么?

浅拷贝:只复制对象本身及其基本类型成员变量,引用类型成员变量仍然指向原对象的引用。深拷贝:递归复制对象及其所有层次的成员变量,创建完全独立的新对象。选择使用哪种拷贝方式取决于具体需求和对象的复杂性。在需要完全独立的副本时,使用深拷贝;在只需要复制表层结构时,使用浅拷贝。

2024-07-21 16:42:32 1577 36

原创 IDEA中创建一个SpringBoot项目并提交到git仓库(日常开发-保姆级手把手超详细截图)

IDEA中创建一个SpringBoot项目并提交到git仓库

2024-07-18 18:49:56 1153 36

原创 Postgresql主键自增的方法

Postgresql主键自增的方法--日常开发技巧

2024-07-18 17:16:08 664 3

原创 【轻松拿捏】Java都有哪些特性?

Java 以其面向对象、平台无关性、简单性、安全性、多线程、动态性和高性能等特性,成为开发者首选的编程语言之一。丰富的标准库、强大的社区支持和不断进化的生态系统,使得 Java 在各种应用开发中都能得心应手。听忆.-CSDN博客🎈众口难调🎈从心就好。

2024-07-16 09:33:53 800 11

原创 【轻松拿捏】Java是如何实现跨平台性的?

Java 的跨平台性是通过将源代码编译成平台无关的字节码,并依赖于不同平台上的 JVM 来解释和执行这些字节码实现的。通过提供一致的标准库和运行时环境,Java 能够保证相同的代码在不同的平台上运行,实现了真正的跨平台性听忆.-CSDN博客🎈众口难调🎈从心就好。

2024-07-16 09:22:48 715

原创 【轻松拿捏】HashMap-详解及底层实现原理?

HashMap通过哈希函数将键映射到数组索引,并使用链地址法或开放地址法处理冲突。为了保持高效操作,HashMap使用负载因子和扩容机制,并在 Java 8 后引入了红黑树以优化长链表的性能。通过这些机制,HashMap提供了高效的插入、查找和删除操作。听忆.-CSDN博客🎈众口难调🎈从心就好。

2024-07-15 17:58:37 1254 41

原创 【轻松拿捏】java 中操作字符串都有哪些类?它们之间有什么区别?

在 Java 中,操作字符串的主要类有 String和 StringBuffer。它们各自有不同的特点和使用场景。

2024-07-15 15:59:55 1346 8

原创 【轻松拿捏】throw和throws的区别及应用场景?

throw用于在方法内实际抛出异常。throws用于在方法签名中声明该方法可能抛出的异常类型,提醒调用者需要处理这些异常。应用场景上,throw通常用于当代码检测到错误条件时立即抛出异常,而throws用于将异常处理责任传递给方法调用者。

2024-07-15 15:40:34 425 13

原创 【轻松拿捏 】Java-static关键字(面试)

小伙伴们在面试中被问到关于 static 关键字的问题时,可以从其定义、用途、作用、实际应用以及常见误区等方面进行回答,并提供具体的代码示例以展示对其概念的深入理解和实际应用能力。以下是一些面试回答技巧和示例

2024-07-12 15:40:15 1698 11

原创 Java-static关键字详解

static 关键字在Java中用于修饰类的成员变量、方法、代码块和内部类。它的主要作用是使得这些成员属于类本身,而不是某个特定的实例。本文将详细介绍 static 关键字的各种用法及其实际应用,并澄清一些常见的误区。

2024-07-12 15:31:58 1407 2

原创 【轻松拿捏】Java-final关键字(面试)

小伙伴们在面试中被问到关于 final 关键字的问题时,可以从以下几个方面进行回答,并提供一些例子以展示对其概念的深入理解和实际应用能力

2024-07-12 15:18:32 902

原创 Java-final关键字详解

final使用final关键字定义常量,使得这些值在程序运行期间保持不变。

2024-07-12 15:12:50 611

原创 【微服务】SpringCloud-eureka光速入门

Eureka 是 Netflix 开源的一个服务注册和发现工具,主要用于构建分布式系统中的服务发现机制。它在 Spring Cloud 生态系统中广泛使用,尤其在微服务架构中扮演重要角色。

2024-07-12 10:58:27 2136 37

原创 【人工智能】深度学习:神经网络模型

神经网络(Neural Network)是一种模拟人脑神经元连接方式的计算模型。其基本组成部分是神经元(Neurons),通过加权连接和激活函数构成复杂的网络结构。神经网络广泛应用于模式识别、分类和回归等领域。

2024-07-11 14:06:01 1543 14

原创 【机器学习】初学者经典案例(随记)

机器学习是一种利用数据来改进模型性能的计算方法,属于人工智能的一个分支。它旨在让计算机系统通过经验自动改进,而不需要明确编程。

2024-07-11 10:19:27 1547 21

原创 【机器学习】机器学习详解-小白入门(随记)

通用定义:机器学习是一种利用数据和统计技术来使计算机系统自动改进其性能的技术。通过不断学习和更新模型,机器学习系统能够从经验中提取知识和规律,并应用这些知识进行预测或决策。数学定义:机器学习是关于算法的研究和开发,这些算法通过从数据中提取模式和规律来进行学习和预测。数学上,机器学习可以表示为一个优化问题,即在给定的假设空间和损失函数下,找到使损失函数最小化的模型参数。工程定义:机器学习是一种工程技术,利用统计方法和算法从数据中学习,并构建可以执行特定任务的模型。

2024-07-10 17:21:21 1200 6

原创 Mybatis的优缺点及适用场景?

Mybatis是一种基于Java语言的持久化框架,它能够让开发人员更加方便地进行数据库操作,同时也能够提高程序的性能和可维护性。下面我们来详细了解一下Mybatis框架的特点、优点和缺点。Mybatis框架是一种基于Java语言的持久化框架,它具有灵活性高、可配置性强、易于维护、性能高、易于集成、支持多种数据库等优点,但是需要开发人员掌握XML文件编写和SQL语句的构建等技术,学习成本较高,开发效率相对较低,需要编写大量的XML配置文件,对初学者不太友好等缺点。

2024-07-10 15:45:44 1635 22

原创 String 类的常用方法都有那些?

在java.lang包中,java使用String类创建一个字符串变量,字符串变量。java把String类用final声明,不能被继承。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。

2024-07-09 17:16:28 1252 44

原创 java-接口与抽象类详解及区别

接口是 Java 语言中的一个抽象类型,用于定义对象的公共行为。抽象类和接口类似,它也是用来定义对象的公共行为的,并且它也不能直接实例化,抽象类的实现关键字为 abstract class,子类用 extends 关键字继承父类。子类可以不重写接口中的 static 和 default 方法,不重写的情况下,默认调用的是接口的方法实现。

2024-07-09 14:49:35 699 4

原创 java中stirng真的不可改变么?

Java 中的String对象是不可变的。不可变性意味着一旦创建了一个String对象,它的值就不能再被改变。

2024-07-09 11:06:53 691 1

原创 java中==和equals()的区别探究

《面试干货》==和equals()的区别

2024-07-08 17:12:54 1403 2

原创 java-spring boot光速入门教程(超详细!!)

SpringBoot是由Pivotal团队研发的,SpringBoot并不是一门新技术,只是将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发。SpringBoot就是一个工具集。SpringBoot特点:SpringBoot项目不需要模板化的配置。SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。

2024-07-08 10:49:29 1172 1

原创 Java整合ElasticSearch教程全网独一份(保姆级)

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

2024-07-07 16:23:04 2487 12

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

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

2024-07-05 16:51:40 1335 3

原创 java获取当前年月日并延期

业务场景:如驾驶证60天内到期的等等思路:获取当前时间,在当前的时间延期n天,再将数据库查到的数据一一对比注意:比较时,要大于当前时间。

2024-07-04 11:27:56 319 3

原创 Nginx详解-安装配置等

Nginx是由俄罗斯人研发的,应对Rambler的网站,并且2004年发布的第一个版本。Nginx之父Nginx的特点:俄罗斯生产,底层C语言稳定性极强。7*24小时不间断运行。Nginx提供了非常丰富的配置实例。占用内存小,并发能力强。单机可扛5万并发其他软负载均衡器​ lvs:国产,章文松博士开发,性能优于nginx,性能较单一硬负载均衡器硬件,价格昂贵,性能高,每秒以GB为单位接收请求​ 常用品牌:f5,netscaler等等正向代理:正向代理服务是由客户端设立的。

2024-07-03 16:12:26 1082 7

原创 使用java stream对集合中的对象按指定字段进行分组并统计

有这样一个需求,在一个list集合中的对象有相同的name,我需要把相同name的对象进行汇总计算。使用java stream来实现这个需求,这里做一个记录,希望对有需求的同学提供帮助。

2024-07-03 15:29:34 538

原创 List集合根据一个字段去重并计算其余字段对应的和并保留两位小数

计算和并保留两位小数。

2024-07-02 18:02:16 162

原创 List集合将一个string类型的字段进行求和并且保留两位小数

如果List集合中的a字段是String类型,我们需要先将这些字符串转换为数字(例如double或float),然后进行求和。

2024-07-02 17:00:35 268

原创 RabbitMQ消息可靠性等机制详解(精细版三)

官方文档MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。RabbitMQ是一个Erlang开发的AMQP(高级消息排队 协议)(英文全称:Advanced Message Queuing Protocol )的开源实现。-------------接上章。

2024-07-01 17:26:10 1112 2

原创 RabbitMQ入门教程(精细版二带图)

MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。RabbitMQ是一个Erlang开发的AMQP(高级消息排队 协议)(英文全称:Advanced Message Queuing Protocol )的开源实现。

2024-07-01 15:02:56 1041

原创 RabbitMq教程【精细版一】

MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。RabbitMQ是一个Erlang开发的AMQP(高级消息排队 协议)(英文全称:Advanced Message Queuing Protocol )的开源实现。Broker: 简单来说就是消息队列服务器实体Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列Queue: 消息队列载体,每个消息都会被投入到一个或多个队列。

2024-06-30 20:51:48 827

原创 Spring Security基本源码解析(超精细版)

Spring 是非常流行和成功的 Java 应用开发框架, Spring Security 正是 Spring 家族中的成员。 Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。

2024-06-28 16:26:27 564

空空如也

空空如也

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

TA关注的人

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