- 博客(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
162
原创 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
131
原创 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
189
原创 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
135
原创 Java如何实现序列化
序列化 1、什么是序列化 序列化:把对象转化为可传输的字节序列过程称为序列化。 反序列化:把字节序列还原为对象的过程称为反序列化。 序列化是将一个Java对象变成字节序列,方便持久化存储到磁盘,避免程序运行结束后对象就从内存里消失,另外变换成字节序列也更便于网络运输和传播。而且序列化机制从某种意义上来说也弥补了平台化的一些差异,毕竟转换后的字节流可以在其他平台上进行反序列化来恢复对象,因此可以实现跨平台存储。 2、Java如何实现序列化 2.1、实现Serializable接口 Serializabl.
2021-07-01 20:57:10
2393
原创 布隆过滤器
布隆过滤器 1、什么是布隆过滤器 布隆过滤器是1970年由布隆提出的。它实际上是一个很长的二进制向量(位数组)和一系列随机映射函数(哈希函数)。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 2、布隆过滤器的原理 2.1、添加元素 将一个元素添加到布隆过滤器中: 使用布隆过滤器中的哈希函数对元素值进行计算,得到哈希值。 根据得到的哈希值,在位数组中把对应下标的值置为 1。 2.2、判断元素 判断一个元素是否在布隆过.
2021-06-30 22:30:07
129
原创 详解代理模式
代理模式 1、代理模式 代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。 **换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。**客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接口。 例如: 原来的访问关系: 通过代理的访问关系: 有 A,B,C .
2021-06-30 22:28:38
472
原创 浅析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
379
4
原创 浅析SpringMVC的工作流程
浅析SpringMVC的工作流程 前言 在面试中,经常会遇到一个很经典的问题,SpringMVC的工作流程是什么?初次遇到这个问题,可能显得非常棘手。我相信大家结合SpringMVC的流程图和实际代码去理解,一定能够很完美的回答这个问题。 1、SpringMVC的执行流程简介 (1)浏览器提交请求到DispatcherServlet中央调度器。 (2)中央调度器直接将请求转给HandlerMapping处理器映射器。 (3)处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链.
2021-06-12 11:34:12
393
原创 Mybatis详解
MyBatis详解 第一章 框架概述 1、三层架构 界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的。(jsp ,html ,servlet) 业务逻辑层: 接收界面层传递的数据,计算逻辑,调用数据库,获取数据。 数据访问层: 访问数据库, 执行对数据的增删改查。 1.1、 三层对应的包 界面层: controller包 (servlet) 业务逻辑层: service 包(XXXService类) 数据访问层: dao包(XXXDao类) 1.2、三.
2021-06-12 11:32:56
1342
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
1253
1
原创 面向对象的三大特性和五大原则
面向对象的三大特性和五大原则 面向对象的三大特性和五大原则是非常重要的内容,我们需要在使用面向对象编程中结合自己的理解,从实际生活中的例子出发,去思考三大特性和五大原则。 1、三大特性 1.1、封装 封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。 封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要.
2021-06-10 15:15:41
458
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
258
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人