自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对比Windows和Linux操作系统?

总体而言,Windows适合那些想要一个易于使用、功能丰富和软件选择多的操作系统的用户,而Linux适合那些想要自由定制和控制其计算机的用户。硬件兼容性: Windows的硬件兼容性更好,因为大多数硬件供应商都提供了Windows驱动程序,而Linux需要用户手动安装驱动程序。开源性: Linux是开源的,可以让用户自由修改和分发,而Windows则是专有软件,不能被随意修改和分发。软件支持: Windows拥有更多的应用程序和游戏支持,而Linux的软件选择相对较少。

2023-06-06 14:22:09 424

原创 DHCP服务器工作原理?

DHCP提供:DHCP服务器向设备提供IP地址、子网掩码、默认网关、DNS服务器等信息,并在DHCP数据库中记录下该设备的IP地址和相关配置信息。DHCP ACK:DHCP服务器收到设备发送的DHCP请求确认消息后,会返回一个DHCP ACK消息,表示设备被成功配置。DHCP请求确认:设备接收到DHCP服务器的响应后,会发送一个DHCP请求确认消息,表示它接受了服务器提供的配置信息。DHCP发现:DHCP服务器收到广播后,会返回一个DHCP发现消息,告诉设备它已经找到了一个DHCP服务器。

2023-06-06 14:21:34 214

原创 CentOS的权限管理方式?

是一种命令行工具,允许普通用户在需要超级用户权限的情况下执行特定的命令。及以上版本的默认防火墙工具,可以限制进出系统的网络连接。操作系统,通过强制访问控制机制,限制应用程序和用户对系统资源的访问。发行版)使用一种基于权限的访问控制模型来保护系统资源和数据。提供了多重安全防护,可以在文件、进程和网络访问等方面帮助保护系统。文件和目录有所有者、所属组和其他人三种权限设置。中每个用户都有一个唯一的用户名和。,每个组也有一个唯一的名称和。目录的所有者、所属组和权限。文件来授予或撤销用户的。

2023-06-06 14:20:18 484

原创 静态IP和动态IP的对比?

总的来说,静态IP适用于需要长时间、稳定地对外提供服务的情况,例如Web服务器、邮件服务器等;而动态IP地址可能会不断地变化,特别是在与DHCP服务器重新进行交互时。安全性:由于静态IP地址始终保持不变,需要特别注意安全问题,例如防火墙设置等。费用:通常情况下,使用静态IP需要额外支付费用,因为它们需要手动配置和管理,而动态IP则通常是免费提供的。分配方式:静态IP通常由网络管理员手动分配给计算机或设备,而动态IP则是自动从DHCP服务器获取的。静态IP和动态IP都是指计算机在网络中使用的IP地址。

2023-06-06 14:19:26 144

原创 Linux常见的软件包有哪些?

这些软件都是以源码方式发布,因此,用户在使用软件时需要自己编译此应用程序,然后再安装,在安装过程中需要。格式的软件包是相应软件在固定平台经过编译后的软件包。因此,同一软件在不同的应用平台上需要使用不同的。一般情况下这种格式的软件为商业软件。格式封装的源代码软件包,其安装过首先需要将软件通过。提供的最常见软件的一种包封装格式,在许多。系统自身的开发工具和内核源代码的支持。系统自身的开发工具和内核源代码的支持。系统自身的开发工具和内核源代码的支持。提供的一种包封装格式。系统发行版本中使用。

2023-06-06 14:17:10 178

原创 Mapper文件的SQL组的返回值有几种?

需要注意的是,在 Mapper 文件中配置 SQL 语句的返回值类型时,需要使用 resultType 属性指定返回值类型,或者使用 resultMap 属性指定一个 ResultMap 对象,来映射查询结果到对应的 Java 对象。Map:表示该 SQL 语句返回一个 Map 对象,其中键是结果集中的列名,值是对应的列值。基本数据类型和包装类:表示该 SQL 语句返回一个基本数据类型或其包装类的值,如 int、long、String、Boolean 等。

2023-05-18 09:29:08 1147

原创 Spring的主要功能有哪些?

Web 应用程序开发:Spring MVC 模块提供了一种基于 Model-View-Controller(MVC)模式的 Web 应用程序开发方式,它提供了很多有用的功能,如表单处理、数据验证和文件上传等。控制反转(IoC)和依赖注入(DI):这是 Spring 框架最重要的功能之一,它使得对象之间的关系从硬编码的方式变为可配置的方式,更容易进行单元测试和代码复用。缓存管理:Spring 的缓存模块提供了一种灵活的方式来集成不同的缓存解决方案,并提供了对缓存的各种操作,如清除、刷新和预热等。

2023-05-18 09:28:36 779

原创 SpringMVC的参数搜集有哪些方式?底层实现是什么

Spring MVC会将请求参数封装到一个名为ModelAndViewContainer的容器中,然后通过调用HandlerMethodArgumentResolver接口的实现类来进行参数解析和绑定。这些实现类会根据不同的参数类型进行相应的解析,最终将参数值绑定到对应的参数上。@RequestParam注解用于将请求参数绑定到控制器处理方法的参数上,并指定了参数名、是否必需、默认值等信息。@PathVariable注解可以用于将URL路径中的占位符匹配到控制器处理方法的参数上。

2023-05-18 08:54:58 132

原创 什么是视图解析器?

在Spring MVC框架中,控制器处理请求后通常会返回一个逻辑视图名,这个逻辑视图名并不是直接指向视图资源的路径,而是由视图解析器进行解析,最终转化为实际的视图资源路径。视图解析器(View Resolver)是Spring MVC框架中的一个组件,它的主要作用是将控制器返回的逻辑视图名(Logical View Name)解析为真正的视图(View)。它使得我们在控制器中只需要返回一个逻辑视图名即可,而无需关心具体的视图资源路径,从而实现了控制器与视图的解耦合。

2023-05-18 08:54:26 713

原创 什么是RestFul风格?

REST(Representational State Transfer)是一种设计风格和架构模式,它提供了一种简单、轻量级、灵活和可扩展的方式来创建Web服务。RESTful API遵循一组约定俗成的规则和原则,其中最重要的原则是资源的统一标识。它使用HTTP协议中的GET、POST、PUT、DELETE等方法来操作不同的资源,并且每个资源都有一个唯一的URI作为标识。这些原则使RESTful API易于理解和使用,并且可以提高应用程序的可扩展性和兼容性。

2023-05-18 08:50:19 55

原创 SSM和SpringBoot框架对比?

SSM框架是Spring+Spring MVC+MyBatis的组合,其中Spring负责管理Bean、事务等,Spring MVC负责处理Web请求,MyBatis负责数据库操作。而Spring Boot则是基于Spring框架的快速开发框架,它提供了自动配置、快速启动等功能。在SSM框架中,需要手动管理各个组件的依赖关系。而在Spring Boot中,只需要添加相应的Starter依赖即可自动引入所需的依赖。而在Spring Boot中,大部分配置都可以通过自动配置完成。

2023-05-18 08:43:25 837

原创 计算机常见故障处理?

2. 硬件故障:检查硬件设备是否正确连接,尝试重新插拔硬件设备,如显卡、内存条等。3. 软件故障:尝试重启计算机,关闭不必要的程序或进程,卸载或更新有问题的软件。1. 电源故障:检查电源插头是否松动,电源线是否损坏,尝试更换电源线或插头。6. 网络故障:检查网络连接是否正常,重新启动路由器或调整网络设置。7. 显示器故障:检查显示器连接是否正常,调整分辨率和刷新率等设置。4. 病毒感染:安装杀毒软件并进行全盘扫描,删除病毒文件。8. 鼠标、键盘故障:检查连接是否正常,更换鼠标或键盘。

2023-05-17 19:45:20 59

原创 什么是RestFul风格?

Restful风格是一种设计Web应用程序的架构风格,它通过使用HTTP协议中的不同方法(GET、POST、PUT、DELETE等)来实现资源的增删改查操作。它强调了资源的概念,将每个资源都定义为一个URI,并使用HTTP方法来表示对资源的操作。Restful风格的API设计简单、易于理解和扩展,因此被广泛应用于Web服务和移动应用程序的开发中。

2023-05-17 19:44:08 61

原创 常用的密码加密有哪些方法?

7. Argon2加密:一种基于密码学安全哈希函数和内存消耗因素的加密方法,被认为是目前最安全的密码加密方法之一。6. Scrypt加密:一种基于PBKDF2的加密方法,增加了内存消耗因素,提高抵御暴力破解的能力。5. PBKDF2加密:基于密码学安全哈希函数和随机盐值的加密方法,可以设置迭代次数和盐值长度。3. SHA-256加密:将明文密码通过SHA-256算法转换为256位的哈希值,不可逆。2. SHA-1加密:将明文密码通过SHA-1算法转换为160位的哈希值,不可逆。

2023-05-17 19:43:37 3878

原创 什么是SpringBoot 框架?

Spring Boot是一个基于Spring框架的快速开发框架,它提供了一种简单、快速、灵活的方式来创建基于Spring的应用程序。它通过自动配置和约定大于配置的方式,使得开发者可以更加专注于业务逻辑的实现,而不需要关注底层框架的细节。Spring Boot还提供了一些常用功能的集成,如Web应用程序、数据库访问、安全性等,使得开发者可以更加轻松地构建高质量的应用程序。

2023-05-17 19:42:32 295

原创 对比子网掩码和超网的区别?

子网掩码是一种用于将IP地址分成网络和主机部分的标准。它是一个32位的二进制数,由1和0组成,其中前面的1表示网络部分,后面的0表示主机部分。通过使用不同的子网掩码,可以将一个IP地址划分为不同大小的子网。超网(也称为CIDR)是一种将多个连续的网络地址合并成一个更大的网络地址范围的方法。因此,子网掩码和超网都涉及到划分IP地址,但它们解决不同问题:子网掩码用于将单个IP地址划分为多个子网,而超网用于将多个连续的IP地址合并为单个网络。子网掩码和超网都是用于划分IP地址的工具,但它们的作用不同。

2023-05-17 19:41:58 142

原创 Shiro 过滤链的验证方式有哪些?

1. 基于 URL 的验证:根据请求的 URL 进行验证,判断用户是否有访问该 URL 的权限。3. 基于权限的验证:根据用户所拥有的权限进行验证,判断用户是否有执行某个操作的权限。2. 基于角色的验证:根据用户所属的角色进行验证,判断用户是否有执行某个操作的权限。4. 自定义过滤器:可以自定义过滤器来实现特定的验证逻辑,例如验证码、单点登录等。5. 组合方式:可以将多种验证方式组合起来使用,以实现更加复杂的授权逻辑。

2023-05-17 19:41:19 84

原创 什么是设计模式?常用的设计模式有哪些?

4. 观察者模式:定义对象之间的一对多依赖关系,当一个对象状态发生改变时,所有依赖它的对象都会得到通知并自动更新。6. 建造者模式:将一个复杂对象的构建过程分解为多个简单对象的构建过程,使得构建过程更加灵活和可控。3. 适配器模式:将一个类的接口转换成客户端所期望的另一个接口,使得原本不兼容的类可以协同工作。9. 迭代器模式:提供一种方法来访问一个聚合对象中的各个元素,而不需要暴露该对象的内部结构。1. 工厂模式:用于创建对象的模式,将对象的创建过程封装起来,使得代码更加灵活和可扩展。

2023-05-17 19:41:07 700

原创 Shiro的退出机制

Shiro退出机制是指在用户注销或会话过期时,Shiro自动清除与该用户相关的所有会话信息和认证信息,以确保用户的安全性和数据的保密性。具体实现方式包括清除会话缓存、清除Subject对象、清除Session对象等。通过退出机制,可以有效地防止用户信息泄露和恶意攻击。

2023-05-17 19:40:46 292

原创 什么是关系型数据库?什么是非关系型数据库?

非关系型数据库(NoSQL)则是指不使用传统的关系模型的数据库,它们可以是文档型、键值对型、图形型等多种形式。非关系型数据库通常具有高扩展性、高可用性和高性能等特点,适合于大规模数据存储和分布式计算。关系型数据库是一种基于关系模型的数据库,其中数据以表格的形式存储,每个表格都有一个唯一的标识符(主键),并且表格之间可以通过外键进行关联。关系型数据库通常使用结构化查询语言(SQL)进行数据查询和管理。

2023-05-17 19:32:46 137

原创 MySQL vs Oracle: 对比两种数据库系统(mysql与oracle区别)

MySQL是一个面向Web和应用开发的数据库,具有更好的性能和稳定性,而且在性能方面可以更快地执行大量语句,这使其用于大量数据操作。MySQL和Oracle是两个流行的数据库管理系统,提供完备的数据库解决方案,对开发者来说是一个不容忽视的技术。从性能、可扩展性、可用性、安全性和其他角度来对比MySQL和Oracle,可帮助我们更好地区分两者,更好地认识它们的差异及其各自的优势,仅供参考。总之,MySQL和Oracle都是完备而且受欢迎的数据库管理系统,可以根据不同的业务需求考虑使用它们中的一种来满足需求。

2023-05-17 15:41:03 624

原创 两个对象值相同(x.equals(y) == true),但却可有不同的hash code

当然,我们没有理由不实现,通常都会去实现的。没有什么关系了,这时候。存储的对象就不用实现。

2023-04-12 08:37:05 146 1

原创 Java常用的应用服务器有哪些?

5. Oracle WebLogic:是一个商业级Java应用服务器,支持Java EE标准,包括Servlet、JSP、EJB、JMS、JPA等技术。4. IBM WebSphere:是一个商业级Java应用服务器,支持Java EE标准,包括Servlet、JSP、EJB、JMS、JPA等技术。3. GlassFish:是一个开源的Java EE应用服务器,支持Java EE 8标准,包括Servlet、JSP、EJB、JPA等技术。

2023-04-12 08:35:09 2044

原创 HashMap和Hashtable的区别

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。三.值:只有HashMap可以让你将空值作为一个表的条目的key或value。

2023-04-10 17:10:48 68

原创 Request对象的主要方法:

获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例。:获取客户端向服务器端传送数据所依据的协议名称。对象所有属性的名字集合,结果是一个枚举的实例。:返回请求的输入流,用于获得请求中的数据。:获得客户端向服务器端传送数据的方法。:获取客户端所请求的脚本文件的路径。:获取发出请求字符串的客户端地址。的所有值,结果是一个枚举的实例。:获得客户端传送给服务器端的有。的名字,结果是一个枚举的实例。:返回请求中的字符编码方式。:删除请求中的一个属性。协议定义的文件头信息。:获取服务器的端口号。

2023-04-10 17:09:13 131

原创 线程的基本概念、线程的基本状态以及状态之间的关系

一个程序中可以有多条执行线索同时执行,一个线程就是程序中的一条执行线索,每个线程上都关联有要执行的代码,即可以有多段程序代码同时运行,每个程序至少都有一个线程,即。在同时执行,好比大家在同一个办公室上网,只有一条链接到外部网线,其实,这条网线一会为。方法后线程进入就绪状态,线程调度系统将就绪状态的线程转为运行状态,遇到。方法转为挂起状态,当线程关联的代码执行完后,线程变为结束状态。传数据,由于切换时间很短暂,所以,大家感觉都在同时上网。这是从宏观上来看的,获得锁后,由阻塞转为运行,在这种情况可以调用。

2023-04-10 17:04:04 42

原创 什么是类,什么是对象?两者有什么关系?

类和对象之间的关系是:类是对象的模板或蓝图,对象是类的实例化结果。在程序中,我们可以通过定义类来描述一类事物的特征和行为,然后通过创建对象来使用这些特征和行为。一个类可以创建多个对象,每个对象都有自己独立的状态和行为。对象是类的一个实例,是具体存在的、有状态和行为的事物。例如,小明就是人类这个类的一个对象,他有自己的姓名、年龄和性别,也有自己的吃饭、睡觉和工作等行为。类是一个抽象的概念,是对一类具有相同特征和行为的事物的描述。例如,人类就是一个类,它具有年龄、姓名、性别等特征,也有吃饭、睡觉、工作等行为。

2023-04-10 15:30:24 321

原创 什么是串池?

串池(String Pool)是Java中的一个特性,用于存储字符串常量。在Java中,每当创建一个字符串常量时,JVM都会在串池中查找是否已经存在该字符串,如果存在,则返回该字符串的引用;如果不存在,则在串池中创建一个新的字符串,并返回该字符串的引用。这样可以避免重复创建相同的字符串常量,提高了程序的性能和效率。串池在Java中是一种优化机制,可以通过调整JVM参数来控制串池的大小和行为。

2023-04-10 15:28:57 158

原创 什么是OOP思想?

OOP(Object-Oriented Programming,面向对象编程)是一种编程思想,它的核心概念是将现实世界中的事物抽象成为一个个对象,并通过对象之间的交互来实现程序的功能。OOP具有封装、继承、多态等特性,可以使程序更加模块化、可复用、易于维护和扩展。OOP是现代编程语言中广泛应用的编程范式之一,例如Java、C++、Python等语言都支持OOP。

2023-04-10 15:28:27 372

原创 什么是方法覆盖和重载

方法重载(overload)指的是在一个类中定义了多个方法,它们具有相同的名称但参数列表不同。编译器会根据调用时提供的参数类型和数量来确定使用哪个方法。因此,方法重载可以提供更灵活的方法调用方式,使得代码更易于使用和理解。方法覆盖(override)指的是子类定义了与父类同名、参数列表相同的方法,从而覆盖了父类中的同名方法。在运行时,如果调用该方法,则会执行子类中的方法而非父类中的方法。

2023-04-10 15:28:23 338

原创 什么是数组?数组常用API方法?

它可以存储多个相同类型的元素,而且这些元素可以通过数组的下标进行访问。9. copyOfRange()方法:复制一个数组的指定范围,可以指定新数组的长度。6. binarySearch()方法:在已排序的数组中查找指定元素的位置。8. copyOf()方法:复制一个数组,可以指定新数组的长度。7. fill()方法:将数组中的所有元素都设置为指定值。2. clone()方法:复制一个数组,返回一个新数组。3. toString()方法:将数组转换为字符串。5. sort()方法:对数组进行排序。

2023-04-10 15:27:51 49

原创 List 和 Set的区别?

3. List通常用于存储需要按照顺序访问的元素,如日志记录、历史记录等;而Set通常用于去重和判重操作,如过滤重复的IP地址、手机号码等。1. List是有序的集合,可以存储重复的元素,可以根据索引访问元素;而Set是无序的集合,不允许存储重复的元素,不能根据索引访问元素。综上所述,List适合存储有序、可重复的元素;而Set适合存储无序、不重复的元素。4. List支持添加、删除和修改操作,但这些操作可能会影响到其他元素的位置;而Set不支持修改操作,只能添加和删除元素。

2023-04-10 15:27:02 4966

原创 什么是Map?Map常用API方法?

4. containsValue(value):判断Map中是否包含指定的值。3. containsKey(key):判断Map中是否包含指定的键。1. put(key, value):将指定的键值对存储到Map中。5. remove(key):从Map中移除指定键对应的键值对。9. entrySet():返回Map中所有键值对的集合。7. keySet():返回Map中所有键的集合。8. values():返回Map中所有值的集合。6. size():返回Map中键值对的数量。

2023-04-10 15:23:48 213

原创 Shiro功能

Authentication:身份认证,验证用户是否拥有某个身份。 Authorization: 权限校验,验证某个已认证的用户是否拥有某个权限。确定“谁”可以访问“什么”。 Session Management:会话管理,管理用户登录后的会话, Cryptography:加密,使用密码学加密数据,如加密密码。 Web Support:Web支持,能够比较轻易地整合到Web环境中。 Caching:缓存,对用户的数据进行缓存, Concurrency:并发,Apache Shiro支持具有并

2023-03-15 19:48:22 39

原创 SpringBoot常见注解

SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。@Autowired自动导入。

2023-03-15 19:44:29 31

原创 常用的加密方式有哪些

数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。关于常见的加密方式如上所述,不管是哪种加密方式都有自身独特的优点。大家可以根据实际需要,结合各个加密方式的特点,选择适合的加密方式,保护好数据安全,防止数据泄露。非对称加密的优缺点:优点是安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。

2023-03-15 08:46:51 2007

原创 final关键字有什么含义?具体如何应用?

表示该变量是一个常量,在需要使用常量的场合,可以使用final关键字定义。如果final修饰的是一个简单类型的变量,那么变量值一旦初始化后,将不能修改。如果final修饰的是一个引用类型的变量,那么该变量的引用不可以改变,但可以通过该引用修改引用对象的属性值。表示该方法不可以在子类中重写(覆盖)表示该类不能再被其他类继承。2.final修饰成员变量。3.final修饰方法。1.final修饰类。

2023-03-14 17:24:14 100

原创 Shiro三个核心概念

1、Sunject:在shiro当中我们可以统称为用户,在代码的任何地方,都能轻易获得shiro subject,一旦获得Subject,你就可以立即获得你希望用shiro为当前用户做的90%事情,比如登入、退出、访问会话、执行授权检查等。SecurityManager要验证用户身份与权限,那么它需要从Realm获取相应的信息进行比较以确定用户身份是否合法;执行认证(登录)和授权(访问控制)时,Shiro会从应用配置的Realm中查找很多内容。Realms则是用户的信息认证器和用户的权限认证器。

2023-03-14 17:13:59 134

原创 Shiro概述

shiro不依赖于spring,shiro不仅可以实现web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,Shiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证、授权、加密、会话管理、与Web集成、缓存等。Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率;Web Support:Web支持,可以非常容易的集成到Web环境;

2023-03-14 17:13:42 64

原创 Java实现多线程的方法

复写Thread类中的public void run()方法,将线程的任务代码封装到run方法中。将Runnabl接口的子类对象作为参数传递给Thread类的构造函数,创建Thread类对象。覆盖接口的public void run()的方法,将线程的任务代码封装到run方法中;(2)继承Thread类线程代码存放在Thread子类的run方法中。实现Runnable接口线程代码存放在接口的子类的run方法中;调用start()方法,开启线程(调用线程的任务run方法)调用start()方法,启动线程。

2023-03-06 15:15:11 102

空空如也

空空如也

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

TA关注的人

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