- 博客(32)
- 收藏
- 关注
原创 MySQL之MVCC
MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。MVCC没有正式的标准,在不同的DBMS中MVCC的实现方式可能是不同的,也不是普遍使用的(大家可以参考相关的DBMS文档)。
2022-09-24 10:30:48
1354
原创 第15章_锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一些敏感的数据(比如订单、金额等),我们就需要保证这个数据在任何时刻最多只有一个线程在访问,保证数据的完整性和一致性。在开发过程中加锁是为了保证数据的一致性,这个思想在数据库领域中同样很重要。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制。
2022-09-20 00:14:08
282
原创 MySQL事务
事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢?锁机制重做日志回滚日志有的DBA或许会认为 UNDO 是 REDO 的逆过程,其实不然。其实不然。REDO和UNDO都可以视为是一种恢厦操作redo log:是存储引擎层(innodb)生成的日志,记录的是"物理级别"上的页修改操作,比如页号xx、偏移量ywy写入了’zzz’数据。主要为了保证数据的可靠性;提交,由redo log来保证事务的持久化。
2022-09-19 22:31:25
331
原创 JWT 笔记
JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。JWT的说明:JWT是用于微服务之间传递用户信息的一段加密字符串,该字符串是JSON格式。各个微服务可以通过该字符串识别用户信息,也就是说,该字符串封装了用户的身份信息。该字符串必须能自我校验。
2022-09-05 21:13:57
194
原创 消息队列 RabbitMQ
RabbitMQ提供了6种消息模型,但是第6种其实是RPC,并不是MQ,因此不予学习。那么也就剩下5种。但是其实3、4、5这三种都属于订阅模型,只不过进行路由的方式不同。
2022-09-02 13:08:51
335
原创 FastDFS
FastDFS是用 c 语言编写的一款开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
2022-08-23 19:05:59
764
原创 Docker
Docker是一个开源的,它可以帮助我们更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可更快地打包、测试以及部署应用程序,并可减少从编写到部署运行代码的周期。Docker官方网站:https://www.docker.com/
2022-08-22 19:26:16
255
原创 redis笔记
redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启。当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项。pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。redis.conf配置文件中daemonize守护线程,默认是NO。daemonize是用来指定redis是否要用守护线程的方式启动。.
2022-07-26 22:04:36
22
原创 跨域问题配置
指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。什么是同源策略?跨域问题怎么出现的?配置过滤器:
2022-06-30 14:35:45
298
原创 计算机网络
3、数据链路层3.2.1 PPP协议的特点对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。用户到 ISP 的链路使用 PPP 协议 。①、PPP协议应该满足的需求简单 —— IEEE把这个作为首要的要求。封装成帧 —— 必须规定特殊的字符作为帧定界符。透明性 —— 必须保证数据传输的透明性。多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。多种类型链路 —— 能够在多种类型的链路上运行。差
2021-09-27 21:10:21
107
原创 jdbc笔记
连接加载驱动。获取连接(此时需要提供数据库连接的账号、密码、url)。编写sql语句。创建sql编译器。执行sql语句并返回结果集。解析结果集(只有查询操作才有,增删改返回的是受影响的行数)。代码:public class JdbcDemo { public static void main(String[] args) throws SQLException { Connection conn = null; Statement stmt =
2021-08-19 11:22:40
65
原创 maven笔记
静态资源导出问题pom.xml文件下:<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include>
2021-08-14 11:15:02
78
原创 java反射
1、反射相关的主要类java.lang.Class:Class对象表示某个类加载后在堆中的对象,通过获取到的对象然后可以获得类的其他属性常用方法①:getField(String name):获取属性,java.lang.reflect.Method:代表类的方法,Method对象表示某个方法类的方法java.lang.reflect.Field:代表类的成员变量,Filed对象表示某个类的成员变量java.lang.reflect.Constructor:代表类的构造方法,Construct
2021-08-01 14:32:16
71
原创 线程池笔记
1、创建一个固定的线程池的大小public class Demo6 { public static void main(String[] args) { //创建一个固定大小的线程池 ExecutorService threadPool = Executors.newFixedThreadPool(4); Runnable r1 = new Runnable() { @Override public voi
2021-07-28 16:35:46
64
原创 java网络编程笔记
1、字节流传输服务端public class TcpServerDemo { public static void main(String[] args) throws IOException, IOException { // 1.监听端口号 ServerSocket serverSocket = new ServerSocket(9999); System.out.println("服务器启动!等待连接..."); //2.
2021-07-24 18:58:47
175
1
原创 IO流笔记
文件操作1.1 文件操作类:File,以及常用方法关于创建:public boolean createNewFile() throws IOException:创建新文件public boolean mkdir():创建当前对象所描述的文件夹的最后一级(如果其父级路径不存在,则创建失败)public boolean mkdirs():创建当前File对象所描述的文件夹(其父级路劲不存在,则自动创建),就是创建多级路径关于删除:public boolean delete():删除指定路径的
2021-07-22 13:46:05
87
原创 java泛型笔记
(关于如何定义泛型就略过了…)1、 通配符定义上下限? extends 类1:泛型的类型为类1的子类,不然编译不通过。(指定上限)? super 类2:泛型的类型为类2的父类,不然编译不通过。(指定下限)例:public class Demo4<T> { public static void main(String[] args) { ArrayList<Zi> list = new ArrayList<>();
2021-07-20 14:53:24
67
原创 SpringMVC业务流程
SpringMVC业务流程Dispatcher表示前端控制器,是整个SpringMVC的控制中心,有用户发起请求,DispatcherServlet拦截HandlerMapping为处理器映射器,DispatcherServlet调用,HandlerMapping根据请求的url查找HandlerHandlerExecution表示具体的Handler,起主要作用是根据url查找控制器。HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等。
2021-07-18 16:47:26
249
原创 SpringMVC学习笔记
SpringMVC的请求转发和重定向方式@Controller@RequestMapping("m1")public class ModelTest1 { @RequestMapping("t1") public String test(Model model,HttpServletRequest request ,HttpServletResponse response) throws Exception { model.addAttribute("msg",
2021-07-17 10:30:19
145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人