自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OpenFeign详解

OpenFeign是Spring Cloud 在Feign的基础上支持了SpringMVC的注解,如@RequesMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。

2023-02-25 16:59:27 4703

原创 Shiro框架详解

Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。记住一点,Shiro 不会去维护用户、维护权限;这些需要我们自己去设计 / 提供;然后通过相应的接口注入给 Shiro 即可。

2023-02-21 17:25:02 748

原创 数据库SQL优化

1、创建索引。对于查询占主要的应用来说,索引显得尤为重要。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。2、复合索引。由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效率,但是如果在多个列上创建复合索引的话将带来更高的效率。

2023-02-20 15:08:24 438

原创 JQuery工具框架

直接使用js编程比较麻烦,而且还必须考虑浏览器的差异性。为了简化javascript的开发,一些javascript库诞生了。当今流行的javascript库有:jQuery诞生于2005年,Dojo、 EXT_JS、DWR、YUI…jQuery是John Resig在2006年初创建的,对使用Javascript开发进行简化的框架(库、官方定义),能解决DOM脚本和Ajax开发中重复的工作。

2023-02-17 16:27:10 805

原创 AJAX技术

XHTML和CSS进行显示使用文档对象模型DOM(Document Object Model)作动态显示和交互使用XML和XSLT做数据交互和操作使用XMLHttpRequest进行异步数据接收使用JavaScript将它们绑定在一起理解Ajax一种不用刷新整个页面便可与服务器通讯的办法Ajax在本质上是一个浏览器端的技术,和具体的服务器端技术无关Ajax技术之主要目的在于局部交换客户端及服务器间之数据。

2023-02-17 16:15:21 558

原创 前端框架LayUI

Bootstrap让前端开发更快速、简单。所有开发者都能快速上手、所有设备都可以适配、所有项目都适用。从项目维护的角度上,传统的开发模式,前端代码和后端代码耦合在一起,导致代码混乱不堪,极大的降低了项目的可维护性,增加了维护成本。从开发角度来看,研发人员在开发过程中,不仅要设计后端架构还要兼顾前端展示,导致开发效率低下,延长开发周期。传统开发模式的问题在前后端分离的开发模式中,后端仅返回前端所需的数据,前端负责渲染HTML页面,后端不再控制前端的效果,从后端请求的数据如何加载到前端中,都由前端自己决定,后

2023-02-15 11:55:09 8862

原创 Spring中IOC和AOP的原理

IOC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。DI(Dependency Injection)即“依赖注入”:通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可以指定目标需要的资源,完成自身的业务逻辑,而不需要关系具体的资源由谁提供。(2)增强方法的所在类,这个类实现的接口,支持多个接口;创建子类的代理对象,去增强类中的方法。基于匿名内部类实现接口;

2023-02-13 16:51:50 481

原创 Mybatis原理

MyBatis工作原理:先封装SQL,接着调用JDBC操作数据库,最后把数据库返回的表结果封装成Java类。

2023-02-09 14:19:11 95

原创 Spring框架中的设计模式

Spring框架中的设计模式

2023-02-07 22:57:03 52

原创 RBAC基于角色的权限访问控制模型

RBAC基于角色的访问控制,RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作R。

2023-02-03 14:51:55 201

原创 SpringBoot原理

创建springbootApplication对象。

2023-02-01 09:14:51 54

原创 加密算法实现

在登录验证通过后,给用户生成一个对应的随机token(注意这个token不是指jwt,可以用uuid等算法生成),然后将这个token。http协议无状态的,所以需要sessionId或token的鉴权机制,jwt的token认证机制不需要在服务端再保留用户的认证信息。是由3个部分组成,先是用Base64编码的header和payload,再用加密算法加密一下,加密的时候要放进去一个Secret,signature由于使用了不可逆的加密算法,无法解码出原文,它的作用是校验token有没有被篡改。

2023-01-31 15:11:28 363

原创 Spring的Bean的生命周期

在Java中,Bean是一个重要的概念,它代表了应用程序中的一个对象。在开发中,我们经常使用Bean来管理对象的生命周期。本文将介绍Bean的生命周期,并详细讲解如何在Spring框架中管理Bean的生命周期。Spring其实就是一个管理Bean对象的工厂。它负责对象的创建,对象的销毁等。所谓的生命周期就是:对象从创建开始到最终销毁的整个过程。Spring为每个Bean定义了若干个回调方法,使得开发人员可以在某个特定的时间点对Bean进行特定的操作。

2022-12-12 09:36:12 96

原创 MVC模式

MVC全名是Model View Controller是模型视图控制器的缩写,是一种软件设计典范,是一种架构型的模式,本身不引入新功能,只是帮助将开发的结构组织的更加合理。它使用一种业务逻辑、数据、界面显示分离的方法,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。最典型的MVC就是 JSP + servlet + javabean 的模式,经常用于请求-响应模型开发中,适用于交互频繁的大中型应用中。

2022-11-29 19:33:56 114

原创 JSP概述

JSP是Sun为了解决动态生成HTML文档的技术,通过Servlet输出简单html页面信息都非常不方便。如果要输出一个复杂页面的时候,就更加的困难,而且不利于页面的维护和调试。所以sun公司推出一种叫做jsp的动态页面技术来实现对页面的输出繁锁工作。JSP就是替代Servlet输出HTML的JSP技术最大的特点在于写JSP就像在写html,但是相比html而言,html只能为用户提供静态数据,而JSP技术允许在页面中嵌套 java 代码,为用户提供动态数据。

2022-11-22 19:19:20 1014

原创 JavaScript_原型

JavaScript 是一种基于原型的脚本语言,它通过原型可以实现一种伪继承。

2022-11-18 10:54:11 236

原创 Servlet

Servlet

2022-11-17 14:52:00 317

原创 JavaScript_函数

函数是一段可以复用的代码,可以独立独立存在,可以当作一个类使用,同时函数也是一个对象,本身是Function实例

2022-11-15 14:33:10 339

原创 JavaScript

JavaScript是一种基于对象和事件驱动的客户端脚本语言

2022-11-14 21:32:52 271

原创 MySQL练习

MySQL语法练习

2022-10-28 20:53:07 247

原创 数据库概述_09

事务必须满足ACID4个条件:A原子性、C一致性、I隔离性、D持久性原子性:一个事务中的所有操作要么全部完成、要不一个都不做,不会结束在中间某个环节一致性:事务执行结束后数据库的完整性没有破坏隔离性:数据库允许多个并发事务对数据库中的数据进行读写操作,隔离性可以防止多个事务并发执行时导致的数据不一致性。事务根据隔离等级可以分为4级:读未提交、读已提交、可重复读和串行化持久性:事务执行完成后对数据的修改就是永久的在MySQL命令行的默认设置下,事务都是自动提交的。

2022-10-28 11:12:31 218

原创 数据库概述_08

SQLyog是一个图形化的管理MySQL数据库的工具,能够在任何地点管理你的数据库,可以通过网络来维护远端的MySQL数据库,适合DBANavicat for MySQL是一个功能强大的MySQL数据库管理和开发工具,适用于开发者。

2022-10-28 10:06:55 58

原创 网页编程基础概论3

JSP。

2022-10-28 09:24:32 55

原创 网页编程基础概论2

vscode。

2022-10-23 21:18:38 35

原创 网页编程基础概论

VSCode。

2022-10-21 16:51:24 40

原创 JavaSE面向对象基础_接口

在Java中不直接支持多继承,因为会出现调用的不确定性,所以Java将多继承机制进行改良,在Java中变成了多实现。一个类可以实现多个接口,一个接口可以继承多个接口} 正确的,其中IC中的方法等于IA + IB class A implements IA , IB {接口是一种特殊的抽象类,接口只能被abstract或者public修饰没有构造器方法} //语法报错 }没有属性,只能定义常量//常量可以直接使用 System . out . println(B . name);

2022-10-09 21:31:31 67

原创 JavaSE面向对象基础_多态

多态性是发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用多态性通过允许同一界面指定一类动作减少了程序的复杂度,编译器工作就是选择适用于各个情况的特定动作,而程序员则无须手动进行选择,使用者仅仅是记得以及利用这个统一的界面多态形成的三个必要条件:多态可以用三个定义和两个方法来总结。三个定义分别是父类定义子类构建、接口定义实现类构建和抽象类定义实体类构建,而两个方法分别是方法重载和方法重写。多态分为两种:继承表示的是is a的语义强调的一个点:编程

2022-10-09 21:17:32 83

原创 JavaSE面向对象基础_继承

包是类的组织方式,提供名空间和访问控制类似于文件系统的组织继承就是在已经存在的类的基础上进行扩展,从而产生新的类,支持了层次结构分类的概念。已经存在的类称为父类、超类或基类,而新产生的类称为子类或派生类。多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。多个类可以称为子类,单独这个类称为父类或者超类。通过 extends 关键字让类与类之间产生继承关系。

2022-10-09 20:24:23 365

原创 JavaSE面向对象基础_封装

在面向对象程式设计方法中,封装Encapsulation是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

2022-10-09 20:10:48 76

原创 数据库概述_07

主键可分为2大类:自然主键和代理主键。一般建议使用代理主键将表中的所有列的组合当作主键–候选码去除其中某些列查看是否还能唯一标识一行数据最后找到的所有候选码的真子集就是主码最佳实践:可以在表中添加一个与业务无关的字段充当主键。

2022-10-08 20:00:56 75

原创 数据库概论_06

视图一方面可以帮助使用表的一部分而不是表的所有,另一方面也可以针对不同的用户制定不同的查询视图。比如针对公司的销售人员,只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。

2022-10-08 19:43:39 70

原创 数据库概论_05

Lob实际上有2种类型,分别是用于存储大文本的字段Clob和存储二进制大量数据的字段Blob。不同的数据库处理方式略有区别,大字段一般都是采用流的方式进行处理由于大字段类型存储的数据较多,一般针对lob字段会采用分表存储的方式实现需求:存储学生信息,要求存储学生的照片如果具体存储?

2022-09-28 20:14:55 134 1

原创 数据库概论_命令行语法练习

MySQL基础语法命令

2022-09-26 21:05:07 474

原创 数据库概论_04

MySQL运算符主要包括3大类:比较运算符、算术运算符、逻辑运算符。

2022-09-23 18:00:53 64

原创 数据库概论_03

需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,请在SQL语句中使用一对``(着重号)引起来SELECT 查询还可以对常数进行查询,就是在SELECT查询结果中增加一列固定的常数列。这列的取值是指定的,而不是从数据表中动态取出的。为什么还要对常数进行查询呢SQL中的SELECT语法的确提供了这个功能,一般来说只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。

2022-09-23 17:40:06 628

原创 数据库概论_基础练习

创建一个学生表,要求学号字符型,长度为5,不能为空;姓名字符型长度20,不允许重复,性别字符型长度1,邮政编码长度为6,年龄整数,系别字符型长度15向tb_student表中增加一个入学时间的列将年龄字段修改为小整型删除姓名字段。

2022-09-20 22:38:26 86

原创 数据库概论_02

存储数据是处理数据的第一步。只有正确地把数据存储起来,才能进行有效的处理和分析。否则只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?在MySQL中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。要先创建一个数据库,而不是直接创建数据表呢?数据类型主要给列上添加域完整性约束。开发者设置列的数据类型后,DBMS会对添加的数据进行合法性验证,如果不合法则报错,拒绝添加。

2022-09-20 22:30:56 272

原创 数据库概论_01

MySQL是由SQL接口、解析器、优化器、缓存、存储引擎1、客户端向MySQL服务器发送一个SQL语句2、服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步3、服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划4、MySQL服务器根据执行计划,调用存储引擎的API执行查询5、最后将查询结果返回客户端,同时缓存查询结果用于定义数据库对象的操作语句。

2022-09-20 22:16:57 112

原创 Java 网络编程_反射

通常选择230之后的地址,使用UDP协议,把每个客户端(收端和发端)的socket都加入到这个地址上,之后客户端往这个地址上发送一个消息后,在这个组里的其他客户端都可以监听收到这个消息。想要使用反射机制,就必须要先获取到该类的字节码文件对象(.class),通过字节码文件对象,就能够通过该类中的方法获取到我们想要的所有信息(方法,属性,类名,父类名,实现的所有接口等等),每一个类对应着一个字节。获取类的Fields。通过反射机制得到某个类的某个方法,然后调用对应于这个类的某个实例的该方法。

2022-09-15 20:48:17 84

原创 Java 网络编程之粘包

粘包问题是指当发送两条消息时,比如发送了 ABC 和 DEF,但另一端接收到的却是 ABCD,像这种一次性读取了两条数据的情况就叫做粘包(正常情况应该是一条一条读取的)。缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区的优势以文件流的写入为例,如果我们不使用缓冲区,那么每次写操作 CPU 都会和低速存储设备也就是磁盘进行交互,那么整个写入文件的速度就会受制于低速的存储设备(磁盘)。

2022-09-14 20:53:27 471

空空如也

空空如也

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

TA关注的人

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