- 博客(123)
- 收藏
- 关注
原创 springboot的工作流程
8. 关闭应用:通过摧毁应用上下文并释放资源关闭应用 在这个过程中,Spring Boot自动配置了应用程序,并集成了许多开箱即用的功能,如自动配置Tomcat服务器、集成Jackson实现JSON转换、Spring Data JPA及其他数据访问程序库等。2. 配置pom.xml:通过添加相关依赖和插件配置文件,例如Spring Boot Starter Parent、Spring Boot Starter Web等。6. 运行应用:通过启动应用并监听HTTP请求,等待客户端的请求。
2023-06-05 08:48:28 1628
原创 Linux常见的压缩包有哪些
tar包根据需要创建不同的扩展名,例如:.tar,.tar.gz,.tar.bz2。用于解压tar包的命令为:tar -zxvf filename.tar.gz。3. bzip2压缩包:bzip2是另一种流行的压缩和解压缩工具,它对文件进行更高的压缩,通常用于归档和数据备份。压缩后的文件可以使用.tar.xz或.xz扩展名。用于解压xz压缩包的命令为:xz -d filename.xz。需要注意的是:Linux系统上可以使用一些通用的解压缩工具如7z、unrar等,这些工具支持许多不同的压缩格式。
2023-06-05 08:48:03 636
原创 ssm与spring boot的对比
而对于Spring Boot框架,它采用约定大于配置的方式,许多目录和文件结构已经预先定义好,仅需要核心开发者关注业务逻辑即可。1. 配置方面:SSM框架需要手动进行配置,配置比较繁琐,需要手动配置大量的XML文件;而Spring Boot框架采用约定大于配置的方式,许多配置可以通过默认配置和注解配置实现自动化,减少对开发人员的配置及工作量。综合来看,虽然两个框架都有各自的优点和适用场景,但在当前的开发趋势下,Spring Boot更加适合于快速开发、部署和管理项目,使项目维护的成本大大降低。
2023-06-05 08:47:13 5157
原创 CentOS7的服务管理方式
systemd是一种先进的、功能强大的服务管理器,可以管理各种系统服务、进程、虚拟机等,提供并行、高效、安全、可靠的服务化管理方案。这些管理方式让用户满足各种服务化需求,并且提供了高效、可靠且安全的服务管理方案。(1)启动服务:使用"systemctl start service_name"命令启动服务,其中"service_name"为要启动的服务名称。(5)查看服务状态:使用"systemctl status service_name"命令查看服务状态,包括服务是否运行、状态、进程号等信息。
2023-05-30 08:43:22 231
原创 CentOS的用户管理方式
使用系统管理工具管理用户:CentOS提供了许多系统管理工具来方便用户管理,例如红帽用户管理器(system-config-users),这个工具提供了用户、组等多种管理功能,操作简单易用。使用Web管理界面管理用户:CentOS提供了Web管理界面(Webmin),通过Webmin,管理员可以远程管理CentOS系统,包括用户管理、文件管理、网络设置等多种系统管理功能。总体来说,CentOS的用户管理方式非常灵活,管理员可以根据自己的实际需求选择合适的方式进行用户管理。
2023-05-30 08:42:50 270
原创 DHCP服务器工作原理
DHCP客户机发现DHCP服务器并请求IP地址, 接收到DHCP Offer地址等配置, 客户机运行时自动从DHCP服务器获取配置信息,而DHCP服务器根据分配策略自动为客户机分配IP地址,从而避免了DHCP分配IP地址时出现IP地址资源冲突的问题。(2)DHCP Offer:DHCP服务器收到DHCP Discover消息后,会向网络中广播DHCP Offer消息,它包括IP地址租用时间、DHCP服务器IP地址、DNS服务器IP地址、网关IP地址等信息。
2023-05-30 08:42:31 74
原创 静态IP和动态IP的对比
静态IP的优点是稳定性好、易于管理、快速响应等,但是需要手动配置,占用IP地址资源,且不利于移动设备等需要频繁更换网络的设备。在网络中,DHCP服务器维护一个可用IP地址池,并动态地为连接到网络的设备分配IP地址。动态IP的优点是节省IP地址、易于管理、允许网络中的设备在不同IP地址之间快速切换等,但是由于IP地址时限性较强,可能会导致网络连接中断或重新分配的延迟。需要注意的是,尽管静态IP更加稳定和安全,但是如果未妥善保护,可能会面临安全威胁,而动态IP由于随时变化而更加安全。
2023-05-30 08:41:25 145
原创 管道符的工作原理
总之,管道符是Linux/Unix系统中非常实用的命令连接符号,可以将多个命令连接起来,实现复杂的操作。例如,可以使用ls命令列出文件列表并将其传递给grep命令进行搜索,也可以使用sort命令对文件进行排序。(3)管道连接:当用户使用管道符将两个命令连接起来时,管道符会将第一个命令的标准输出作为第二个命令的标准输入。在Linux/Unix系统中,管道符是常用的命令连接符号,用于将一个命令的输出作为下一个命令的输入。(1)命令执行:首先,用户在终端上输入一个或多个命令,这些命令将在当前进程中依次执行。
2023-05-30 08:40:36 203
原创 Vi编辑器的工作原理
(6)实际原理:Vi编辑器是一个模块化的编辑器,其基本工作原理是将文件读取到缓冲区中,提供给用户一系列命令,对文件进行修改、删除等操作,并将缓冲区中的结果存入文件中。(4)保存文件:当用户完成对文件的编辑后,可以按下Esc键返回到命令模式,并使用:w命令保存文件。(2)命令模式:Vi一开始处于命令模式,此时用户可以使用一些命令,如移动光标、复制、粘贴等,但是无法直接编辑文件内容。(5)显示行号:在命令模式下,用户可以使用:set nu命令来显示行号,也可使用:set nonu命令来关闭行号显示。
2023-05-30 08:39:53 166
原创 OSI模型数据的流向
在⽹络上传输的初始数据⾸先从传输⽹络的应⽤层开始,沿着 OSI 参 模型的七层逐层向下,直到物理层。OSI 模型中的每层都只能直接与它的上层或下层协议通信。在 OSI 模型任意层上,由不同协议提供的服务都不是多余的。例如, 如果某层上的⼀个⽹络协议提供了⼀种服务,那么其他任何层上的协议都 会提供与之完全相同的服务。在对应层次上,发送和接收的⽹络协议是相互配合的。⽐如,发送系 在第 7 层的某个协议负责对传输数据进⾏编码封装,那么往往在接收系统 第 7 层有着相应的⽹络协议,负责对⽹络数据进⾏解码读取。
2023-05-17 17:34:04 160
原创 什么是TCP/IP模型
是Internet的核心协议。基于TCP/IP的参考模型将协议分成5个层次,分别是物理层、链路层、网络层、传输层和应用层。应用层:负责各种不同应用之间的协议,如浏览器的HTTP协议、电子邮件的STMP协议等。2,TCP/IP是指为互联网而开发制定的协议族,并非仅单指TCP协议和IP协议。发送端是由上至下,把上层来的数据在头部加上各层协议的数据(部首)再下发给下层。接受端则由下而上,把从下层接受到的数据进行解密和去掉头部的部首后再发送给上层。传输层:负责可靠传输的TCP协议、高效传输的UDP协议。
2023-05-17 17:33:17 60
原创 OSI模型每层的作用
2. 数据链路层负责将物理层传输的数据转换成适合网络传输的格式,并在数据传输过程中进行错误检测和纠正。3. 网络层负责在网络中选择最佳的路径将数据从发送端传输到接收端,并在传输过程中进行路由选择。6. 表示层负责数据的表示、加密和转换,以便各种系统能够识别和理解传输的数据格式。4. 传输层负责在端到端的通信中对数据进行分段、传输控制、错误恢复和流量控制。1. 物理层是参考模型的最底层,主要定义了系统的电气,机械,过程和功能标准。7. 应用层负责处理用户请求和数据传输,提供用户与网络之间的接口。
2023-05-17 17:30:36 169
原创 什么是超网
这样,这个物理网络就可以使用这个聚合起来的C类地址的共同地址前缀作为其网络号。超网的功能是将多个连续的C类的网络地址聚合起来映射到一个。超网(supernetting)是与。类似的概念--IP地址根据。
2023-05-09 08:37:22 90
原创 什么是VLSM
VLSM(Variable Length Subnet Mask,可变长子网掩码)规定了如何在一个进行了子网划分的网络中的不同部分使用不同的子网掩码。这对于网络内部不同网段需要不同大小子网的情形来说很有效。VLSM其实就是相对于类的IP地址来说的。A类的第一段是网络号(前八位),B类地址的前两段是网络号(前十六位),C类的前三段是网络号(前二十四位)。而VLSM的作用就是在类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数。
2023-05-09 08:36:40 82
原创 为什么要划分子网掩码
子网划分的目的是:节约IP地址,避免浪费,限定广播的传播,保证网络的安全,有助于覆盖大型地理区域。A类网络的默认子网掩码是255.0.0.0,B类网络的默认子网掩码是255.255.0.0,C类网络的默认子网掩码是255.255.255.0。子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络,这时只有在同一子网的计算机才能"直接"互通。通过划分子网,我们可以按照我们的需要将网络分割成小网络。这样也有助于降低流量和隐藏网络的复杂性。
2023-05-09 08:35:08 504
原创 SpringBoot“约定大于配置”的设计理念
总的来说,上面两条都遵循了推荐默认配置的思想。当存在特殊需求的时候,自定义配置即可。这样可以大大的减少配置工作,这就是所谓的“约定”。(1)约定优于配置也称为按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。(3)在没有规定配置的地方,采用默认配置,以力求最简配置为核心思想。(2)开发人员仅需规定应用中不符合约定的部分。
2023-05-05 08:44:04 147
原创 数据库的常用锁机制是什么
在使用乐观锁时,一般会有一个version字段来记录版本,在每次更新操作之前,先将version版本。数据库锁从概念上讲分为悲观锁和乐观锁,悲观锁是数据库自身的锁机制,乐观锁是通过sql语句实。数据库锁的使用场景和Lock锁类似,都是针对临界资源去使用,目的也是为了保证临界资源的安全。读锁和写锁的区别就是,读锁不会阻塞读操作,这里提一个临键锁的概念,数据库锁是加在索引上的,如果锁的作用字段是一个非索引字段,那么行。悲观锁是数据库锁机制,数据库锁分为表锁、行锁、间隙锁,下面一一介绍这几种锁的使用。
2023-05-05 08:39:31 68
原创 数据库的ACID原则是什么
持久性是指,在事务完成了之后,这个事务对数据库所做的修改就被持久地保存进了数据库中,不会再被回滚操作影响。即使出现机房断电等意外情况,数据库中的数据也不会丢失。原子性简单,也最常用。即在事务中所有操作都被视为一个不可分割的整体,要么全成功,要么全失败。:持久性是指,在事务完成了之后,这个事务对数据库所做的修改就被持久地保存进了数据库中,不会。:在多个事务一起执行的时候,如果隔离性做的不好,那么可能会导致很多问题。即使出现机房断电等意外情况,数据库中的数据也不会丢失。I 表示Isolation,即隔离性。
2023-05-05 08:38:47 106
原创 什么是事务?代码如何实现
Redis 事务的本质是一组命令的集合。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。从容器中拿出TransactionTemplate的实例,通过TransactionTemplate的execute执行事务,通过try-catch。包裹需要保证原子性的业务方法,如果执行中遇到异常,使用setRollbackOnly()方法手动回滚事务。添加@Transactional在方法上,在方法执行前会开启事务,当方法正常执行结束,会自动提交事务,
2023-04-24 13:36:33 182
原创 RedisTemplate的API方法解析
注意:如果没特殊情况,切勿定义成RedisTemplate<Object, Object>,否则根据里氏替换原则,使用的时候会造成类型错误。spring封装了RedisTemplate对象来进行对redis的各种操作,它支持所有的 redis 原生的api。模板中的Redis key的类型(通常为String)如:RedisTemplate<String, Object>模板中的Redis value的类型。
2023-04-24 13:35:46 58
原创 SpringBoot集成Redis过程
提供的RedisTemplate中的序列化策略。写一个redis配置类去更改spring。其次在yml文件中配置相应的属性。首先需要引入相应的jar包。
2023-04-24 13:35:05 32
原创 什么是Redis持久化技术
其实redis就是一种高级的以键值对形式存储数据的数据库,而它的好处就是他可以支持数据的持久化,其实redis之所以会有这样的优点,主要是因为,redis的数据都是存放在内存中的,如果不配置持久化,那么在redis进行重启的时候,就会造成数据的丢失,于是redis开启了数据的持久化功能,将所有的数据保存到磁盘中,当redis重启之后,就可以直接从磁盘中恢复数据,所以redis的持久化功能,主要就是为了防止服务器宕机而造成的数据丢失。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids
2023-04-20 15:01:22 44
原创 对比关系型和非关系型数据库
要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了,但这种方式最终肯定会达到纵向扩展的上限;在sql中,必须先定义好表结构,才能够添加数据,例如定义表的主键、索引、外键等。在Nosql数据库中,数据可以在任何时候任何地方添加,不需要预先定义;与其相反,非关系型数据通常存储在数据集中,就像文档、键值对或者图结构;关系型数据库将数据存储在硬盘中,查询速度较慢;Nosql数据库将数据存储于缓存之中,而且不需要经过SQL层的解析,查询速度快。
2023-04-20 15:00:50 43
原创 对比MySQL和Oracle数据库
②Oracle里也可用 字段名 like ‘%字符串%’ 进行字符串的“模糊比较”,但这种方法不能使用索引,速度不快。Mysql里可以用“双引号”包起字符串,Oracle里只可以用“单引号”包起字符串。②Oracle不支持自动增长数据类型,通过建立一个自动增长的序列号来完成自动增长。①Mysql是一个自动增长的数据类型,插入数据时候,不需要管理,它自己会自动增长。①Mysql里用 字段名 like ‘%字符串%’ 进行字符串的“模糊比较”Oracle的价格非常高而Mysql是开源免费的;
2023-04-20 15:00:08 100
原创 List和Set的区别
set集合中的数据没有顺序,且如果add两个一样的对象或基本类型的数据,set集合里也是只有一个,即set集合中的数据都是独一无二的;list中的数据是有顺序的,可以加入多个一样的对象和基本类型的数据,可使用加强的for循环;Set(集):集合中的对象不按特定方式排序,并且没有重复对象。它的有些实现类能对集合中的对象按特定方式排序。List(列表):集合中的对象按索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象。Set(集):集合中的对象不按特定方式排序,并且没有重复对象;
2023-04-11 08:42:37 844
原创 什么是方法覆盖和重载
(2)覆盖的时候,子类中的方法必须和父类中对应的方法具有相同的方法名称,输入参数(列表)和返回值。重载:当一个类中,方法名相同,参数或参数类型不同称为方法的重载(overload)覆盖:(1)方法的覆盖是发生在父子类关系中的,没有继承关系,就不会发生覆盖和重写。(3)子类中的覆盖方法不能比父类中被覆盖的方法更加严格的访问权限。(1)重载是发生同一个类中,可以不存在父子类关系,和继承无关。(2)方法的重载,和返回值无关,和修饰词public等无关。
2023-04-11 08:40:48 43
原创 什么是类,什么是对象?两者有什么关系
类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。对象:对象是由类创造出来的一个具体存在,可以直接使用,由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法。类:类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。
2023-04-06 14:47:45 122
原创 Java 的八种数据类型和各自取值范围
long的取值范围为-9223372036854774808~9223372036854774807。int的取值范围为-2147483648~2147483647。short的取值范围为-32768~32767。byte的取值范围为-128~127。char取值范围为-128。
2023-04-06 14:44:56 315
原创 什么是串池
串池也就是StringTable,在JDK1.6中是方法区中运行时常量池的一部分([[Java内存区域]]),到JDK1.8时代,方法区被移到了本地内存,而串池留在了堆中。发生这一变化的原因是,只有在full gc的时候才会触发永久代的垃圾回收,而full gc发生在老年代空间不足时,触发时间晚,但是StringTable用的非常频繁,这就间接导致StringTable回收效率不高,这样在minor gc时就可以触发StringTable的垃圾回收,减轻了字符串对内存的占用。
2023-04-06 14:44:06 74
原创 Cryptography加密和Realm领域的作用
(2)Realm(领域):Realm在Shiro和我们的安全数据(用户、角色、权限等信息)之间扮演“桥梁”的角色,当需要用到安全数据的时候,比如进行身份认证或授权的时候,Shiro会从应用配置中的一个或者多个Realm中来查找到对应的用户、角色、权限等信息,我们也可以直接把Realm看作为一个安全数据源,配置Shiro时,必须至少得有一个Realm以用于认证或授权。
2023-03-27 08:49:24 54
原创 Authentication认证和Authorization授权的作用
(2)Authorization(授权) 发生在 Authentication(认证)之后。比如有些特定资源只能由具有特定权限的人才能访问,比如 admin,有些对系统的敏感资源操作,比如删除、添加、更新,通常特定人才具有。(1)Authentication(认证) 是验证当前身份的凭据(例如用户名/用户ID和密码),通过这个凭据,系统得以知道你就是你,也就是说系统存在你这个用户。在系统中,这两个一般是被结合在一起使用的,目的就是为了保护系统的安全性。
2023-03-27 08:48:16 122
原创 Subject主体的作用
Subject(主体):代表了当前“用户”,这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如爬虫、机器人等;所有Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager;可以把Subject认为是一个门面;SecurityManager才是实际的执行者。
2023-03-27 08:48:00 60
原创 Shiro的主要功能
(2)权限验证:可以理解为授权,例如后台管理员、与普通用户所看到的页面、所操作的功能不一样。(3)会话管理:用户登录后就是一次会话,在退出前,用户的所有信息都在会话中。(5)缓存:shiro将用户信息、拥有的权限数据缓存,提高程序执行效率。(4)数据加密:就是登陆的时候密码会有一个MD5加密。(1)登录认证:主要是做登录,验证用户身份。
2023-03-27 08:47:18 74
原创 什么是安全框架
安全框架就是解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,比较繁琐。使用安全框架,可以通过配置的方式实现对资源的访问限制。
2023-03-27 08:45:07 72
原创 Apache Shiro和Spring Security对比
Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单。与Spring Security对比,Shiro可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。
2023-03-27 08:44:02 38
原创 MD5加密的优缺点
(2)缺点:作为散列算法,经过证实,仍然会存在两种不同数据会发生碰撞;将用户的密码直接MD5后存储在数据库中是不安全的。很多人使用的密码是常见的组合,攻击者将这些密码的常见组合进行单向哈希,得到一个摘要组合,然后与数据库中的摘要进行比对即可获得对应的密码。(1)优点:计算速度快,加密速度快,不需要密钥;可以检查文件的完整性,一旦文件被更改,MD5值会改变;防止被篡改,传输中一旦被篡改,计算出的MD5值也会改变;防止看到明文,公司存放密码存放的是MD5值。
2023-03-13 11:52:24 336
原创 常用的加密方式有哪些
适用场景:用于存储用户私有信息,如交易密码等不可解密的信息。常见算法:MD5、SHA-1、SHA-256、HMAC。主要特点:不可逆,一旦加密就不能反向解密得到密码原文。主要特点:加密和解密采用相同的密钥(公用一个密钥)。主要特点:加密和解密采用不同的密钥(公钥和私钥)。常见算法:AES、DES、3DES。常见算法:RSA、DSA、ECC。(1)线性散列加密算法。(2)非对称加密算法。
2023-03-13 11:51:28 1025
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人