- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 2021-05-23-事务的ACID特性
事务的ACID特性1、什么是事务事务是指满足ACID特性的一组操作,这组操作要么全部成功,要么全部失败。举个简单的例子,小张给小明转账100块钱,这个转账会包含两个操作:1、将小张的余额减少100块;2、将小明的余额增加100块。事务会将上述两个操作看作一个整体,1和2必须都成功或者都失败。2、ACID特性2.1、原子性(Atomicity)事务是不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用Undo Log来实现,回滚日志记录着事务所执行的修改操作.
2021-07-01 21:05:09
146
原创 Spring中Bean的生命周期
Spring中Bean的生命周期1、Spring对Bean进行实例化;2、Spring将值和Bean的引用注入到Bean对应的属性中;3、如果bean实现了BeanNameAware接口,Spring将bean的ID传递给setBean-Name()方法;(实现BeanNameAware清主要是为了通过Bean的引用来获得Bean的ID,一般业务中是很少有用到Bean的ID的)4、如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,.
2021-07-01 20:59:40
116
原创 Java创建对象的方式
Java创建对象的方式1、new通过new关键字创建对象。定义一个Student类:public class Student { private int name; private int age; //set,get方法及构造方法}创建Student类对象:new Student();2、反射机制通过Class类的newInstance方法创建对象Student student = (Student)Class.forName("com.scut.St.
2021-07-01 20:59:06
166
原创 Java如何创建线程?
Java如何创建线程?1、继承Thread类自定义一个线程类,该线程继承Thread类,并重写run方法。public class MyThread extends Thread { public void run() { System.out.println("MyThread.run()"); } } MyThread myThread = new MyThread(); myThread.start();2、实现Runnable接口如果自定义的线程类以及继承其他类了.
2021-07-01 20:58:23
123
原创 Java如何实现序列化
序列化1、什么是序列化序列化:把对象转化为可传输的字节序列过程称为序列化。反序列化:把字节序列还原为对象的过程称为反序列化。序列化是将一个Java对象变成字节序列,方便持久化存储到磁盘,避免程序运行结束后对象就从内存里消失,另外变换成字节序列也更便于网络运输和传播。而且序列化机制从某种意义上来说也弥补了平台化的一些差异,毕竟转换后的字节流可以在其他平台上进行反序列化来恢复对象,因此可以实现跨平台存储。2、Java如何实现序列化2.1、实现Serializable接口Serializabl.
2021-07-01 20:57:10
2363
原创 布隆过滤器
布隆过滤器1、什么是布隆过滤器布隆过滤器是1970年由布隆提出的。它实际上是一个很长的二进制向量(位数组)和一系列随机映射函数(哈希函数)。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。2、布隆过滤器的原理2.1、添加元素将一个元素添加到布隆过滤器中:使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值。根据得到的哈希值,在位数组中把对应下标的值置为 1。2.2、判断元素判断一个元素是否在布隆过.
2021-06-30 22:30:07
116
原创 详解代理模式
代理模式1、代理模式代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。**换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。**客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接口。例如:原来的访问关系:通过代理的访问关系:有 A,B,C .
2021-06-30 22:28:38
456
原创 浅析CSRF和XSS
浅析CSRF和XSS前言 博主最近面试,遇到一个问题:**CSRF和XSS的原理是什么?如何防止CSRF和XSS的发生?**由于博主这一块了解的不够深入,面试中回答得不够全面。今天就带大家来探讨一下CSRF和XSS背后的奥秘! 这部分知识点在面试中主要是围绕项目中的认证授权(cookie,session,token)来问,还是希望大家在学习CSRF(重点)和XSS之前,先重点掌握cookie,session,token!1、背景 随着互联网的高速发展,信息安全问题已经成为企业最为关.
2021-06-12 11:36:01
356
4
原创 浅析SpringMVC的工作流程
浅析SpringMVC的工作流程前言 在面试中,经常会遇到一个很经典的问题,SpringMVC的工作流程是什么?初次遇到这个问题,可能显得非常棘手。我相信大家结合SpringMVC的流程图和实际代码去理解,一定能够很完美的回答这个问题。1、SpringMVC的执行流程简介(1)浏览器提交请求到DispatcherServlet中央调度器。(2)中央调度器直接将请求转给HandlerMapping处理器映射器。(3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链.
2021-06-12 11:34:12
383
原创 Mybatis详解
MyBatis详解第一章 框架概述1、三层架构 界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的。(jsp ,html ,servlet) 业务逻辑层: 接收界面层传递的数据,计算逻辑,调用数据库,获取数据。 数据访问层: 访问数据库, 执行对数据的增删改查。1.1、 三层对应的包 界面层: controller包 (servlet) 业务逻辑层: service 包(XXXService类) 数据访问层: dao包(XXXDao类)1.2、三.
2021-06-12 11:32:56
1322
1
原创 JDBC详解
JDBC详解1、JDBC是什么? JDBC是Java DataBase Connectivity,是Java访问数据库的标准规范,其本质上是SUN公司制定的一套接口,其位于JDK的java.sql包中。 JDBC接口的具体实现类由各大数据库厂商来实现,这些实现类叫做数据库驱动。实际运用时,需要根据项目中使用的DBMS来导入对应的驱动jar包。比如项目中使用MySQL数据库,则需要导入MySQL的驱动jar包。1.1 使用JDBC的好处 面向接口编程,程序员只需要会调用JDBC 接口.
2021-06-12 10:26:03
1237
1
原创 面向对象的三大特性和五大原则
面向对象的三大特性和五大原则面向对象的三大特性和五大原则是非常重要的内容,我们需要在使用面向对象编程中结合自己的理解,从实际生活中的例子出发,去思考三大特性和五大原则。1、三大特性1.1、封装封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要.
2021-06-10 15:15:41
435
1
原创 Spring详解
Spring详解第一章 Spring概述 spring家族有spring,springmvc ,spring boot , spring cloud spring出现是在2002左右,用来解决企业开发的难度,减轻对项目模块之间的管理,类和类之间的管理, 帮助开发人员创建对象,管理对象之间的关系。 spring核心技术有ioc(控制反转), aop(面向切片编程)。能实现模块之间,类之间的解耦合。 依赖: 类A中使用类 B的属性或者方法,则称类A依赖类B。第二章 IOC.
2021-06-07 22:10:31
232
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人