- 博客(90)
- 资源 (3)
- 收藏
- 关注
原创 一文带你搞懂MySQL中RR隔离级别的实现
在MySQL中可重复隔离级别中,主要是通过多版本并发控制)+<间隙锁来实现的,保证同一事务内多次读取到的数据是一致的,
2025-03-20 12:34:53
285
原创 网络安全。
网络安全是保护计算机网络及其数据免受各种威胁和攻击的实践和技术。随着互联网的普及和数字化转型的加速,网络安全的重要性日益凸显。恶意软件:包括病毒、蠕虫、木马和勒索软件,旨在破坏或窃取数据。网络钓鱼:通过伪装成可信实体来诱骗用户提供敏感信息。拒绝服务攻击(DDoS):通过大量流量使目标网络或服务瘫痪。内部威胁:来自组织内部的员工或合作伙伴的恶意行为。考虑了上述问题后,我们能够指出安全通信(secure communication)具有下列性质。机密性仅有发送方和希望的接收方可以理解报文传输的内容。
2024-09-18 19:05:16
1208
1
原创 Redis典型应用 - 分布式锁
在一个分布式系统中,也可能会出现多个节点访问一个共享资源的情况,此时就需要通过互斥锁来进行控制。而像是Java中的synchronized 或者 C++ 的 std::mutex,这样的锁只能在当前线程生效,无法作用于分布式系统。本质上就是使=用一个公共的服务器, 来记录加锁状态。这个公共的服务器可以是 Redis, 也可以是其他组件(比如 MySQL 或者 ZooKeeper 等), 还可以 是我们自己写的一个服务。以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!
2024-09-07 23:10:02
1489
2
原创 Redis - 缓存
缓存 (cache) 是计算机中的一个经典的概念. 在很多场景中都会涉及到. 核心思路就是把一些常用的数据放到触手可及(访问速度更快)的地方, 方便随时读取。对于计算机硬件来说,往往访问速度越快的设备,成本越高,存储空间越小。缓存是很快,但是空间上往往不足以存储所有数据, 因此大部分时候, 缓存只存放一些热点数据。二八定律20%的热点数据,能够应对80%的访问场景。因此只需要把这少量的热点数据缓存起来,就可以应对大多数场景,从而在整体上有明显的性能提升。
2024-09-07 21:18:45
1403
原创 JVM - 字节码文件详解
先来分析ClassLoader的原理,ClassLoader中包含了4个核心方法。双亲委派机制的核心代码就位于loadClass方法中。正确的去实现一个自定义类加载器的方式是重写findClass方法,这样不会破坏双亲委派机制。案例一个Tomcat程序中是可以运行多个Web应用的,如果这两个应用中出现了相同限定名的类,比如Servlet类, Tomcat要保证这两个类都能加载并且它们应该是不同的类。
2024-09-07 14:32:35
1389
原创 Redis集群
哨兵模式保证了系统的高可用. 但是真正用来存储数据的还是 数据(master 和 slave) 节点. 所有的数据都需要存储在单个 master 和 slave 节点中. 如果数据量很大, 接近超出了 master / slave 所在机器的物理内存, 就可能出现严重问题了以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!
2024-09-06 20:37:43
946
原创 Docker Container 常用命令
通俗地讲,容器是镜像的运行实体。镜像是静态的只读文件,而容器带有运行时需要 的可写文件层,并且容器中的进程属于运行状态。即容器运行着真正的应用进程。容器有初建、运行、停止、暂停和删除五种状态。以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!
2024-09-05 15:34:26
1359
原创 注册中心 Eureka && Nacos
目录文章目录1. 什么是注册中心?2.常见的注册中心3 . Eureka4 . Nacos5 . Nacos与Eureka的区别总结在最初的架构体系中, 集群的概念还不那么流行, 且机器数量也比较少, 此时直接使用DNS+Nginx就可以满足几乎所有服务的发现. 相关的注册信息直接配置在Nginx. 但是随着微服务的流行与流量的激增, 机器规模逐渐变大, 并且机器会有频繁的上下线行为, 这种时候需要运维手动地去维护这个配置信息是一个很麻烦的操作. 所以开发者们开始希望有这么一个东西, 它能维护一个服务列表
2024-09-04 18:01:48
1184
原创 HashMap关键源码带读
链表转红黑树的阈值为8是为了在保持树的平衡和性能之间取得一个合适的平衡。当链表长度小于等于8时,红黑树的插入和删除操作相对链表操作来说,并没有明显的优势,反而可能会增加额外的开销。此时,继续使用链表结构即可。而当链表长度超过8时,红黑树的平衡性能就会比链表好很多。红黑树的平均时间复杂度为O(log n),而链表的平均时间复杂度为O(n)。因此,将链表转换为红黑树可以提高搜索、插入和删除等操作的效率。因此,8被选择作为链表转红黑树的阈值,是为了平衡树的性能和开销之间的权衡。
2024-03-30 09:37:35
1085
1
原创 设计模式 - 简单工厂模式
简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,属于工厂模式的一种。在简单工厂模式中,有一个工厂类负责根据客户端的需求创建相应的产品对象,而客户端无需知道具体产品的创建细节,只需要通过工厂类来获取所需的产品对象。
2024-03-28 23:23:40
960
原创 应用层协议 - HTTP
Web的应用层协议是超文本传输协议(HTTP),它是Web的核心,HTTP有两个程序实现: 一个客户程序和一个服务器程序。客户程序和服务器程序运行在不同的端系统中,通过交换HTTP报文来进行会话。HTTP定义了这些报文的结构以及报文和服务器进行交换的方式。以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!
2024-03-26 22:25:16
1307
原创 网际协议 - IP
在计算机通信中, 为了识别通信双方, 必须要有一个类似于地址的识别码进行标识。在数据链路层中我们使用MAC地址来标识一段链路中不同的物理主机, 在网络层中我们则是使用IP地址作为识别码, 用来标识网络中的不同主机。因此在TCP/IP通信中所有的主机和路由器都必须要设定自己的IP地址IP地址由32位正整数来表示。TCP/IP协议通信要求将IP地址分配给每个参与通信的主机,但是IP地址在计算机中是以二进制的方式进行处理, 与人类的记忆方式并不符合, 于是采用了一种表示方式对其进行优化,
2024-03-26 17:13:50
1326
原创 TCP && UDP
数据链路层和IP中的地址指的是MAC地址和IP地址, 前者用来标识一段链路中不同的物理主机否则负责表示网络中的主机和路由器。在传输层中也有这样的概念, 那就是端口号, 用来标识同一台计算机中进行网络通信的不同应用程序因此, 它也被称为程序地址以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!
2024-03-25 09:40:34
1042
原创 Java多线程(进阶)
大家好,今天给大家带来的是多线程进阶相关的内容。1. 进程是系统进行资源分配和调度的一个独立单位,线程是程序执行的最小单位。2. 进程有自己的内存地址空间,线程只独享指令流执行的必要资源,如寄存器和栈。3. 由于同一进程的各线程间共享内存和文件资源,可以不通过内核进行直接通信。4. 线程的创建、切换及终止效率更高读写锁就是把读操作和写操作进行加锁读锁和读锁之间不互斥读锁和写锁之间互斥写锁和写锁之间互斥主要用于 频繁读 不频繁写的场景中。
2024-03-23 17:03:34
974
原创 SpringBoot统一功能处理-拦截器
大家好,今天给大家介绍一下SpringBoot的统一功能:拦截器拦截器是Spring框架提供的核心功能之一,主要⽤来拦截用户的请求, 在指定方法前后, 根据业务需要执行预先设定的代码也就是说, 允许开发人员提前预定义一些逻辑, 在用户的请求响应前后执行. 也可以在用户请求前阻止其执行在拦截器当中,开发人员可以在应⽤程序中做⼀些通用性的操作, 比如通过拦截器来拦截前端发来的,判断Session中是否有 请求用户的信息. 如果有就可以放行, 如果没有就进行拦截。
2024-03-06 14:39:38
1073
原创 SpringBoot日志
随着项目的复杂度提升, 我们对日志的打印也有了更高的需求, 而不仅仅是定位排查问题. 比如需要记录一些用户的操作记录(一些审计公司会要求), 也可能需要使用日志来记录用户的一些喜好, 把日志持久化, 后续进行数据分析等. 但是 System.out.print 不能很好的满足我们的需求, 我们就 需要使用一些专门日志框架(专业的事情交给专业的人去做)以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!
2024-03-04 11:50:04
918
原创 Spring-web-Mvc
大家好,今天给大家介绍一下mvc框架官方对Spring MVC的描述是: Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的 正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为Spring MVC.在控制层框架历经Strust、WebWork、Strust2等诸多产品的历代更迭之后,目前业界普遍选择了SpringMVC作为Java EE项目表述层开发的首选方案。
2024-03-02 09:38:30
1441
原创 文件&IO
大家好,今天给大家介绍一下文件&IO这方面的内容我们先来看看 File 类中的常见属性、构造方法和方法属性修饰符及类型属性说明依赖于系统的路径分隔符,String 类型的表示依赖于系统的路径分隔符,char 类型的表示构造方法签名说明根据父目录 + 孩子文件路径,创建一个新的 File 实例根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用路径表示方法返回值类型方法签名说明String。
2023-12-27 22:14:02
1383
原创 并查集&LRU Cache
大家好,今天给大家介绍两种数据结构并查集&LRU CacheLRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。什么是Cache?狭义 的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较 快速的SRAM技术。广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度 差异的结构。
2023-12-04 14:36:35
904
1
原创 手撕红黑树(图文并茂)
大家好,今天带着大家手撕红黑树一 . 红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何 一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。// 新创建的节点默认是红色RED,BLACK思考:在节点的定义中,为什么要将节点的默认颜色给成红色的?不妨来看一下如果默认值给成黑色会发生什么?
2023-11-27 15:53:13
217
1
原创 手撕AVL_二叉平衡树(图文并茂)
大家好,今天带大加手撕AVL树的插入一 .为了AVL树实现简单,AVL树节点在定义时维护一个平衡因子,具体节点定义如下:int val;int bf;// 平衡因子 -> 当前节点的平衡因子=右子树高度-左子树的高度// 节点的左孩子// 节点的右孩子// 节点的双亲注意: 当前节点的平衡因子=右子树高度-左子树的高度。但是,不是每棵树,都必须有平衡因子,这只是其中的一种实现 方式。大家多多理解,我们下一篇博客见。
2023-11-25 20:24:25
413
2
zuiaicsn油猴压缩包
2023-05-25
Win32 API c/c++
2023-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人