自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 今日总结11.01

Java中的语法糖(Syntactic Sugar)是指一些方便开发者使用的语法形式,这些语法形式在编译时会被转换为更加基础或复杂的代码,但它们不会改变程序的功能或性能。

2024-11-01 19:29:10 450 1

原创 今日总结10.31

BIO定义:BIO即同步阻塞I/O,是传统的I/O模型。工作原理:在读入输入流或者输出流时,在读写操作完成之前,线程会一直阻塞,会一直占用CPU资源,直到读写操作完成之后,才继续完成下面的任务。NIO定义:NIO即同步非阻塞I/O,是Java 1.4引入的新的I/O模型。工作原理:通过选择器和缓冲区实现多路复用,允许一个线程同时处理多个I/O请求。它使用Channel(通道)和Buffer(缓冲区)进行数据传输,并通过Selector(选择器)监控多个Channel的状态。AIO定义。

2024-10-31 19:03:53 986

原创 今日总结10.30

I/O流(输入/输出流)分为字节流和字符流,主要是出于对数据处理的精细化和适应性的考虑。

2024-10-30 19:42:39 942

原创 今日总结10.29

序列化(serialization)是将对象序列化为二进制形式(字节数组),一般也将序列化称为编码(Encode),主要用于网络传输、数据持久化等。

2024-10-29 19:36:19 897

原创 今日总结10.28

序列化和反序列化是计算机科学中两个非常重要的概念,尤其在数据持久化、网络传输和对象存储等领域。下面分别解释这两个概念及其应用场景。

2024-10-28 14:13:51 966

原创 今日总结10.26

SPI定义:SPI是一种服务提供者接口,它定义了一组用于实现特定服务的接口或抽象类。在Java中,SPI是一种扩展机制,允许应用程序通过配置文件来加载具体的实现类。用途:SPI主要用于实现模块化开发和服务的动态替换。它使得接口和实现可以分离,允许第三方服务提供者通过SPI机制向应用程序中注入其实现,从而实现功能的扩展和替换。API定义:API是一组预定义的函数、方法或协议,用于在软件系统中进行交互。它定义了如何使用某个软件库或框架提供的功能。用途:API主要用于实现不同软件之间的通信和数据交换。

2024-10-26 16:45:27 779

原创 今日总结10.25

注入”是一个具有多重含义的词汇,其定义和用法根据上下文的不同而有所变化。

2024-10-25 10:26:19 589

原创 Shiro会话管理和加密

定义1.定义:缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。2.原理:缓存的设置基于程序局部性原理,即某些数据或指令一旦被访问,很可能在短时间内再次被访问(时间局部性),或者与它们相邻的数据也将被访问(空间局部性)。利用这一原理,缓存通过存储这些经常被访问的数据或指令,来减少对慢速存储器的访问次数,从而提高系统性能。1.定义:加密是指通过特定的算法和密钥,将明文转换为密文的过程。解密则是将密文转换回明文的过程。2.原理。

2024-10-25 09:36:17 1061

原创 今日总结10.24

反射(Reflection)是编程中的一种机制,允许程序在运行时检查和修改它自己的结构(如类、方法、属性等)以及行为。通过反射,程序可以动态地获取信息,例如类的属性和方法,调用方法,甚至创建对象实例,而不需要在编译时知道这些信息。

2024-10-24 19:12:33 749

原创 Shiro授权(Authorization)

Shiro是一个强大的Java安全框架,它在授权(Authorization)方面提供了灵活且全面的支持。以下是对Shiro授权的详细解释:授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面、编辑数据、页面操作等)。Shiro通过一系列的机制来实现对资源的细粒度控制,确保只有具备相应权限的用户才能访问特定的资源。基于角色的授权(Role-Based Authorization):基于权限的授权(Permission-Based Authorization):自定义授权(Custom Author

2024-10-23 19:56:49 1332

原创 今日总结10.23

是 Java 7 引入的一种简化资源管理的语法,它确保每个资源在语句结束时自动关闭,无论是否发生异常。这使得代码更加简洁和安全,避免了在finally块中手动关闭资源。假设你有一个需要关闭资源的传统代码块可以使用来重写这个代码块trytryfinally:如果在资源关闭过程中发生异常,而try块中也发生了异常,那么原始异常会被抑制(suppressed),资源关闭时发生的异常会被添加到原始异常的抑制异常列表中。你可以通过调用方法来访问这些抑制的异常。

2024-10-23 11:31:37 842

原创 今日总结10.22

任何实现。

2024-10-22 16:24:56 826

原创 今日总结10.21

Throwable 类是 Java 中所有错误和异常的基类,它包含了一系列常用的方法来处理错误和异常。

2024-10-21 10:10:16 537

原创 今日总结10.18

Error。

2024-10-18 15:19:13 900

原创 今日总结10.17

方法是 Java 中String类的一个实例方法,用于确保字符串常量池(String Pool)中只有一个该字符串的实例。

2024-10-17 19:12:18 281

原创 今日总结10.16

当比较两个字符串是否相等时,如果这两个字符串都是字符串常量池中的字面量,那么比较它们的引用(即内存地址)会比比较它们的内容更加高效。字符串常量池的设计允许在内存中只存储一份相同的字符串字面量,而所有引用该字符串字面量的变量都指向这份单一的内存地址。:字符串常量池的内容在编译期间就已经确定,这允许编译器对字符串进行一些优化处理,如合并相同的字符串字面量。一个在Java堆的常规部分,是通过new String(...)构造函数创建的,其内容与常量池中的 "abc" 相同,但它们是独立的对象。

2024-10-16 17:02:25 413

原创 今日总结10.15

这是Java中所有类的超类(即java.lang.Object)中的一个方法。默认情况下,Object类中的equals()方法是比较两个对象的引用是否相同,即它们是否是同一个对象(内存地址是否相同)。:这是String类对Object类中equals()方法的一个覆盖实现。在String类中,equals()方法被覆盖以比较两个字符串的内容是否相同,而不是比较它们是否是同一个对象。

2024-10-15 17:20:30 830

原创 Shiro 认证(Authentication)

自定义Realm需要继承AuthorizingRealm类,该类封了很多方法,且继承自Realm类。继承AuthorizingRealm类后,我们需要重写以下两个方法:doGetAuthenticationlnfo() 方法:获取身份信息doGetAuthorizationlnfo() 方法:获取权限信息(角色和权限)@Resource@Override。

2024-10-15 17:08:42 1128

原创 今日总结10.14

如果两个相等的对象返回不同的哈希码,那么哈希表可能无法正确地存储和检索这些对象。不同的对象可能有相同的哈希码,这被称为哈希冲突。:当对象作为键存储在哈希表中时,哈希码用于确定该对象在表中的索引位置。:如果你创建了一个自定义的类,并且打算将该类的实例用作哈希表的键,那么你可能需要重写。类定义了许多常见的方法,这些方法对所有Java对象都是可用的。:在对象的生命周期中,只要对象的“相等性”信息(即。:比较对象的引用是否相同(即是否为同一个对象)。方法以确保两个相等的对象具有相同的哈希码。

2024-10-14 19:54:32 298

原创 今日总结10.11

【代码】今日总结10.11。

2024-10-11 20:41:08 766

原创 今日总结10.10

封装是面向对象的核心思想,它将对象的属性和行为结合成一个独立的单位,并尽可能隐藏对象的内部细节,仅对外公开接口。通过封装,可以确保对象状态的完整性和安全性,避免外部代码直接访问和修改对象的内部属性。多态性是面向对象编程中的一个重要特性,它允许不同类的对象通过相同的接口进行调用,而具体的行为则由对象所属的类来决定。通过多态性,可以在不修改现有代码的情况下,增加新的功能或行为,从而提高代码的灵活性和可扩展性。原因是父类的私有属性和构造方法并不能被继承,因此无法在子类中重写父类的构造方法。

2024-10-10 20:45:04 424

原创 今日总结10.09

网关:微服务背景下,一个系统被拆分为多个服务,但是像安全认证,流量控制,日志,监控等功能是每个服务都需要的,没有网关的话,我们就需要在每个服务中单独实现,这使得我们做了很多重复的事情并且没有一个全局的视图来统一管理这些功能。

2024-10-09 20:31:28 503

原创 今日总结10.08

IoC (Inversion of Control )即控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java 开发领域对象的创建以及管理的问题例如:现有类 A 依赖于类 B传统的开发方式:往往是在类 A 中手动通过 new 关键字来 new 一个 B 的对象出来使用 IoC 思想的开发方式:不通过 new 关键字来创建对象,而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面去取即可。

2024-10-08 21:01:52 319

原创 中间件:SpringBoot集成Redis

Redis(Remote Dictionary Server,远程字典服务)是一个开源的、使用ANSI C语言编写的、支持网络交互的、可基于内存亦可持久化的日志型Key-Value数据库,它提供了多种语言的API。Redis通常被称为数据结构服务器,因为它不仅支持简单的key-value类型的数据,还提供了如字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)等多种数据结构。

2024-09-28 08:55:19 1035

原创 综合实践:JPA+Thymeleaf 增删改查

在Java Web开发中,使用JPA(Java Persistence API)作为ORM(对象关系映射)框架和Thymeleaf作为模板引擎来实现增删改查(CRUD)操作是一种常见且高效的方式。以下是一个简单的示例,展示如何使用Spring Boot、JPA和Thymeleaf来实现一个基本的CRUD应用。

2024-09-24 08:32:16 583

原创 Web开发:Thymeleaf模版引擎

模板引擎是为了使用户界面与业务数据分离而产生的,可以生成特定格式的文档,对于Web应用而言,则是生成标准的HTML文档。Thymeleaf是一个专为Web和独立环境设计的服务器端Java模板引擎,它允许开发者以清晰和直观的方式将服务器端的数据与HTML、XML、JavaScript、CSS等模板文件结合起来。Thymeleaf的最大特点之一是它的“自然模板”技术,这意味着开发者可以编写标准的HTML代码,并通过Thymeleaf特有的属性和表达式(如th:textth:if。

2024-09-21 08:22:19 884

原创 Web开发:基础Web开发的支持

对于Java项目,如果使用Maven或Gradle等构建工具,可以通过构建命令(如mvn package或gradle build)将项目打包成jar包或war包。对于Python项目,可以使用pip等工具将项目依赖打包到虚拟环境中,或使用PyInstaller等工具将项目打包成可执行文件。同时,Docker还提供了丰富的镜像仓库和构建工具,方便用户进行镜像的共享和部署。云平台提供了更加灵活和便捷的部署方式。例如,可以将Java项目的jar包或war包部署到阿里云、腾讯云等云平台的虚拟机或容器服务中。

2024-09-14 08:53:05 1161

原创 SpringBoot集成MyBatis-Plus

(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。1.愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。MyBatis-Plus特性:无侵入: 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小: 启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作。

2024-09-10 08:48:20 1118

原创 数据访问:JPA关联&MyBatis

在Java企业级应用中,数据访问层(DAO)扮演着至关重要的角色,负责应用程序与数据库之间的交互。Java Persistence API(JPA)和MyBatis是两种流行的数据访问技术,各有其独特的优势和适用场景。本文将深入探讨JPA中的关联映射以及MyBatis的特性和用法,并总结两者的优势和劣势。

2024-09-04 20:54:02 839

原创 数据访问:JPA

JPA(Java Persistence API)是Java平台上用于对象关系映射(ORM)的规范,它提供了一种标准的方式来将Java对象映射到关系数据库中的表,从而简化了数据持久化的过程。

2024-09-02 17:53:34 614

原创 SpringBoot入门

目的:简化 Spring 应用的初始搭建以及开发过程。核心思想:约定大于配置(Convention over Configuration),通过大量默认配置减少开发者的工作量。特性:快速创建独立运行的 Spring 项目、与主流框架集成、使用嵌入式的 Servlet 容器、Starters 自动依赖与版本控制、大量自动配置、无需配置 XML、无代码生成、开箱即用等。

2024-08-29 08:27:59 555

原创 Spring MVC 扩展和SSM框架整合

Spring MVC通过反射机制对目标处理方法的签名进行分析,并将请求消息(如HTTP请求)中的信息以一定的方式转换并绑定到请求方法的参数中。在这个过程中,Spring MVC会完成请求信息转换、数据转换、数据格式化及数据校验等工作。Spring MVC框架的数据转换流程是一个涉及多个组件和接口的协同工作过程。通过这个过程,Spring MVC能够将客户端的请求信息准确地转换并绑定到处理方法的参数中,为后续的业务处理提供基础。同时,这个过程还包含了数据格式化和数据校验等重要环节,确保了数据的准确性和合法性。

2024-08-07 10:50:44 1287

原创 项目框架升级之数据效验及文件上传

REST是一种架构风格,不是一种标准或协议,它用于构建可伸缩、可维护的Web服务。REST的核心思想是将Web应用程序的功能作为资源来表示,通过统一的接口(如HTTP协议中的GET、POST、PUT、DELETE等方法)对这些资源进行操作。REST架构风格强调无状态性、缓存、统一接口和分层系统等特性。

2024-08-03 20:16:47 827

原创 框架升级之单例模式及统一异常处理

单例模式(Singleton Pattern)是一种常用的软件设计模式,它的主要目的是确保一个类仅有一个实例,并提供一个全局访问点来获取这个实例。单例模式在很多场景下都非常有用,比如配置文件读取、数据库连接、线程池等。

2024-07-27 20:17:12 611

原创 Spring MVC框架

Spring MVC(Model-View-Controller)是Spring框架提供的一个用于构建Web应用程序的模块。它基于MVC(Model-View-Controller)设计模式,将应用程序划分为三个主要逻辑组件:模型(Model)、视图(View)和控制器(Controller),以帮助开发者设计和开发更加清晰和可维护的Web应用程序。

2024-07-26 21:29:19 1257

原创 Spring框架配置扩展

Spring框架最初是通过XML配置文件来定义Bean的。在XML配置文件中,你可以定义Bean、Bean之间的依赖关系、导入其他配置文件等。XML配置是高度灵活的,但也相对繁琐和易出错。

2024-07-24 21:02:29 749

原创 Spring框架整合Mybatis框架

MyBatis框架主要是通过SqlSession实例实现对数据的操作,而SqlSession实例是通过SqlSessionFactory创建的,SqlSessionFactory实例又是SqlSessionFactoryBuilder依据MyBatis配置文件中的数据源、SQL映射文件等信息构建的。// mybatis-spring包中提供的实现了SqlSession接口的类,用来操作数据库。-- 当数据库中的字段信息与对象的属性不一致时需要通过resultMap来映射 -->

2024-07-22 09:13:05 749

原创 Spring框架深入学习

指当目标对象方法抛出异常时进行织入操作的一种增强方式。通常,异常抛出增强用来为项目提供统一的异常处理功能,具有可灵活插拔的特点使用异常抛出增强时,需要在配置文件中使用<aop:after-throwing>标签进行配置,语法如下:<aop:aspect ref="增强方法所在的Bean"><aop:after-throwing method="增强处理方法" pointcut-ref="切入点id" throwing="e"/>

2024-07-17 21:06:34 1188

原创 初识Spring框架

AOP,全称为Aspect Oriented Programming,即面向切面编程,是一种编程范式,隶属于软件工程范畴。它通过预编译方式和运行期动态代理实现程序功能的统一维护,是OOP(面向对象编程)的延续和补充。AOP主要关注于基于OOP开发中的共性功能,通过横向切割OOP的纵向结构来增强程序的功能,从而提高代码的可重用性、降低业务逻辑各部分之间的耦合度,使业务代码更加简洁且易于维护。

2024-07-15 15:51:59 815

原创 Redis

目前的互联网应用广泛使用两种方式来进行数据存储:关系型数据库和NoSQL数据库(1)关系型数据库是指采用关系模型来组织数据的数据库,主要是于存储式化的数据结构,大量传统数据库如MySQL、Oracle、SQLServer等都属于关系型数据库(2)NoSQL数据库泛指非关系型数据库,主要服务于特定背景的专用数据库,对外提供的是特定的API,而非通用的SQL接口,数据访问更加高效Redis是一个开源的key-value数据库,属于NoSQL数据库,按照键值对的结构对数据进行存储。

2024-07-09 16:27:18 1494

空空如也

空空如也

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

TA关注的人

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