- 博客(22)
- 收藏
- 关注
原创 SpringBean的生命周期
a.bean实例化阶段:bean虽然实例化,但未执行属性填充等生命周期过程,所以是个半成品。b.bean初始化阶段:该阶段对bean进行声明周期过程执行,spring大多数功能增强,例如注解解析,AOP都是再次完成的。c.bean存储阶段:实例化并初始化好的bean存储到单例池。
2023-02-12 18:06:00 189
原创 Redis持久层
a、RDB(Redis DataBase)持久化方式:是指用数据集快照的方式半持久化模式)记录redis数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。Redis是完全开源免费的,是一个高性能的数据库。Redis支持数据的持久化,提供list,set,zset,hash等数据结构的存储,支持数据备份。1、数据安全,aof持久化可以配置appendfsync属性,有always,每进行一次命令操作就记录到aof文件中一次。
2022-12-11 23:05:56 272
原创 关于AOP的实现原理
什么是AOP,AOP即面向切面编程,和OOP(面向对象编程)类似,也是一种编程思想。AOP采取横向抽取机制(动态代理),取代了传统纵向继承机制的重要性代码,其应用主要体现在事务处理,日志管理、权限控制、异常处理等方面。主要作用是分离功能性需求和非功能性需求,使开发人员可以集中处理某一个关注点或者横切逻辑,减少业务代码的侵入,增强代码的可读性和可维护性。简单的来说,AOP的作用就是保证开发者在不修改源代码的前提下,为系统中的业务组件添加某种通用功能。AOP就是代理模式的典型应用。
2022-11-20 16:15:06 4160
原创 HTTPS协议工作流程(原理)
本文主要描述HTTPS协议工作流程HTTP协议有以下安全行问题:1.使用明文进行通信,内容可能会被窃听;2.不验证通信方的身份,通信方的身份有可能遭遇伪装;3.无法证明报文的完整性,报文有可能遭篡改。HTTPS并不是新协议,而是让HTTP先和SSL(Secure Sockets Layer)通信,再由SSL和TCP通信,也就是说HTTPS使用了隧道进行通信。通过使用SSL,HTTPS具有加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。
2022-11-03 23:34:39 499
原创 MD5和AES在项目中的使用方式与区别
项目中我们会对数据进行加密的操作,这里就会提到两种加密方式,一种是MD5加密,另外一种就是AES加密。接下来我们具体看看这两种加密方式。在使用加密技术之前,我们需要导入jfinal依赖,jfinal将MD5和AES集成进来。
2022-10-23 16:59:28 167
原创 描述Servlet生命周期,Servlet是线程安全的吗? 为什么?
原因是我们的Servlet容器是只有一份,在我们启动项目的时候,Servlet容器就已经创建好了,仅此一份,Tomcat对请求对应的Servlet对象进行初始化,之后调用sevrice()。如果多个http请求同一个Servlet,然后两个请求对应的线程将并发的调用service()方法。一旦同一个Servlet中定义了变量,那么就会发生线程安全的问题,所以Servlet不是线程安全的。这就是我们Servlet的生命周期,从创建到初始化,经过调用doget方法,最后销毁。Servlet不是线程安全的。
2022-09-24 16:20:36 185
原创 数据库基本增删改查语法和多表链接查的方式
一、概念 1.什么是数据库? 数据库(Datebase),长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据"仓库"。 2.数据库的分类 分为关系型数据库和非关系型数据库。 关系行数据库:Mysql,oracle,PostgreSQL 非关系型数据库:redis,mongoDB
2022-09-13 19:07:26 276
原创 通过mybatis-generator-core代码生成器生成mybatis在 dao层代码步骤详解
在我们的src下创建generatorConfig.xml,然后配置我们的文件。首先点击File下的New的Dynameic Web Project。三、创建generatorConfig.xml文件。输入名字后点击下一步,就创建好了一个项目。将我们下载好的包放在lib下。在上面路径上敲cmd进入窗口。下载之后,创建一放在lib下。四、找到自己项目的路径。
2022-08-25 11:03:42 93
原创 Mybatis:动态sql用法
Mybatis:动态sql用法一、概念 什么是动态sql? 概念:顾名思义,根据不同条件拼接SQL语句,实现对数据更准确的操作。 实现:映射器配置文件或者注解。
2022-08-13 12:00:00 720
原创 mybatis映射器用法
我们的先了解什么是mybatis,mybatis:半自动化的体现,配置SQL语句,体现了半自动化和灵活性。映射器与接口:映射器配置文件和接口绑定,配置文件对应接口名,id属性值对应方法名。ORM的体现:对象关系映射的实现,数据库表和POJO类的映射关系。两种实现映射器的方式,XML方式和注解方式。1.需要写Student的接口。其次我们封装dao层。首先我们创建一个bean层。2.我们需要写个测试类来测试一下。1.我们写个接口全查学生。结果就会查询到我们的全部学生。2.需要写xml文件。...
2022-08-06 16:44:06 169
原创 MySql的DDL和DML和DQL的基本语法
SQL语句结构化查询语言(StructuredQueryLanguage),是一种特殊目的的变成语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。insertinto表名(字段名,字段名...字段名)values(值,值...值)altertable表名change旧的字段名新的字段名需要修改的属性;altertable表名modify字段名需要修改的属性;select*from表名;...
2022-07-23 16:42:02 168
原创 IO流的分类
IO就是Input和Output(输入和输出)。流指的就是流向,比如数据写入内存就是流入,数据写出内存就是流出。从流向上区分,分为输入流和输出流。从IO流处理的数据类型上分为:字节流,字符流,缓冲流。...
2022-07-17 21:43:25 1168
原创 Java中线程的状态
线程的状态:一个线程只能有一次NEW状态,和TERMINATED状态 1.NEW(新建状态):创建后,启动前。线程就处于该状态。 2.RUNNABLE(可运行状态):线程正在执行代码,就处于该状态。 3.BLOCKED(阻塞状态):一个线程获取synchronized锁对象失败,就处于该状态。...
2022-07-10 16:26:24 120
原创 迭代器的原理
迭代器就是用来遍历Collection集合中的元素,不过遍历集合中的元素得先问问集合中有没有这个元素,如果有就取出来,反之则结束遍历。
2022-07-04 13:44:53 131
原创 继承关系下构造方法的访问特点
探究这个问题之前,我们先来聊聊继承,什么是继承和构造方法? 继承,Java三大特性之一,继承就是在一个现有的类的基础上去构建一个新的类,构建出来的类就称为子类,而现有的类就称为父类,子类会继承父类所有的方法和成员变量。 ...
2022-06-26 20:27:17 70
原创 为什么大部分浮点数字计算机中是不精确的
在探究这个问题之前,我们得先聊一聊计算机的底层原理,计算机的底层原理就是0和1在交互,都是以补码的形式在底层运算。这个问题得用到进制转换,十进制和二进制、十六进制、八进制的相互转换(整数)。因为这个问题是浮点数,我们就重点关注二进制和十进制的相互转换(小数)。十进制小数转换为二进制小数(条件)。...
2022-06-19 22:25:24 56
原创 计算机中有符号整数的取值范围
计算机中的最小单位是字节(byte),一个二进制就是0和1组成一个位(bit)。那么就有1byte = 8 bit; 对于有符号数来说,符号的“正”,“负”计算机就不能够识别,但是如果用“0”来表示“正”,“1”来表示“负”。那么现在计算机就可以识别带有符号的数了。 举个例子: 1个字节的取值范围是: ~,最大值就是0111 1111(二进制),最小值就是1000 0000(二进制)。 ...
2022-06-07 22:11:16 1111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人