- 博客(31)
- 资源 (13)
- 收藏
- 关注
原创 MySQL数据库篇
这些问题都是MySQL进行事务并发控制时经常遇到的问题。脏读: 在事务进行过程中,读到了其他事务未提交的数据。幻读: 在一个事务过程中,用同样的操作查询数据,得到的记录数不相同。不可重复读: 在一个事务过程中,多次查询的结果不一致。处理的方式有很多种:加锁、事务隔离、MVCC加锁:1、脏读:在修改时加排他锁,直到事务提交才释放。读取时加共享锁,读完释放锁。2、幻读: 加范围锁。3、不可重复读: 读数据时加共享锁,写数据时加排他锁。从锁的粒度来区分。
2024-04-06 19:55:49 718
原创 Linux安装Nginx详细步骤
如果报错configure: error: no acceptable C compiler found in $PATH。禁用防火墙命令:systemctl disable firewalld.service。关闭防火墙命令:systemctl stop firewalld.service。如果发现进程被占用:kiil -9 PID 然后再次执行yum安装gcc即可。$ /usr/local/nginx/sbin/nginx 启动命令。
2024-02-28 15:05:26 884
原创 从0开始深入理解并发、线程与等待通知机制
(1)加快响应用户的时间(2)使你的代码模块化异步化简单化(3)充分利用CPU的资源进程进程就可以视为程序的一个实例站在操作系统的角度, 进程是程序运行资源分配(以内存为主)的最小单位。2.2 线程线程必须依赖于进程而存在,线程是进程中的一个实体,是CPU调度和分 派的基本单位,它是比进程更小的、能独立运行的基本单位。线程则是CPU调度的最小单位CPU内核和同时运行的线程数 是1:1的关系Intel。
2024-02-26 15:27:19 362
原创 门面模式Facade
为子系统中的一组接口提供一个一致的接口,Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。1.当您需要使用复杂子系统的有限但直接的接口时,请使用Facade模 式。2.当您想要将子系统组织成层时,请使用Facade。
2024-02-21 16:45:31 342
原创 5 原型模式 Prototype
当代码不应该依赖于需要复制的对象的具体类时,请使用Prototype模式。指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。1.可以不耦合具体类的情况下克隆对象。2.避免重复的初始化代码。3.更方便的构建复杂对象。Spring源码中的应用。
2024-02-21 16:36:44 636
原创 建造者模式
将一个复杂对象的创建与他的表示分离,使得同样的构建过程可以创建不同的表示。2.需要生成的对象内部属性本身相互依赖。1.需要生成的对象具有复杂的内部结构。4.Spring源码中的应用。1、建造者独立,易扩展。3.与不可变对象配合使用。2、便于控制细节风险。
2024-02-21 11:25:18 719
原创 抽象工厂模式 Abstract Factory
提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。程序需要处理不同系列的相关产品,但是您不希望它依赖于这些产品的。2.可以避免具体产品和客户端代码之间的紧密耦合。1.可以确信你从工厂得到的产品彼此是兼容的。具体类时, 可以使用抽象工厂。3.符合单一职责原则。
2024-02-21 09:59:28 726
原创 工厂方法模式Factory Method
模式定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使得一个类的实例化延迟到子类。
2024-02-21 09:24:13 672
原创 单例设计模式Singleton
类加载的 初始化阶段就完成了 实例的初始化。2).只有在实际使用的时候,才会触发类的初始化,所以也是懒加载的一。只有在真正使用对应的类时,才会触发初始化 如( 当前类是启动类即。类加载机制,保证实例的唯一性(初始化过程只会执行一次)及线程安。1,加载二进制数据到内存中, 生成对应的Class数据结构,2,连接: a. 验证, b.准备(给类的静态成员变量赋。重量级的对象,不需要多个实例,如线程池,数据库连接池。延迟加载, 只有在真正使用的时候,才开始实例化。法,用反射访问类,初始化一个类的子类等.)
2024-02-20 18:59:13 735
原创 01-Spring底层核心原理解析
本章节会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解,比如:Bean的生命周期底层原理依赖注入底层原理初始化底层原理推断构造方法底层原理AOP底层原理Spring事务底层原理
2023-09-12 23:29:51 158
原创 7.0: Dubbo服务调用源码解析
服务提供者在执行服务时,如果出现了异常,那么框架会把异常捕获,捕获异常的逻辑在AbstractProxyInvoker中,捕获到异常后,会把异常信息包装为正常的AppResponse对象,只是AppResponse的value属性没有值,exception属性有值。当服务消费者在调用一个服务时,服务提供者在执行服务逻辑时可能会出现异常,对于Dubbo来说,服务消费者需要在消费端抛出这个异常,那么这个功能是怎么做到的呢?
2023-09-05 20:30:00 83
原创 6.0 Dubbo服务引入源码解析
完成Mock功能,由MockClusterWrapper生成,MockClusterWrapper是Cluster接口的包装类,通过Cluster.join()方法得到MockClusterInvoker:完成集群容错功能,是MockClusterInvoker的下级:如果指定了多个注册中心,那么RegistryAwareClusterInvoker完成选择默认的注册中心的进行调用,如果没有指定默认的,则会遍历注册中心进行调用,如果该注册中心没有对应的服务则跳过。:完成Dubbo协议底层发送数据。
2023-09-04 20:00:00 98 1
原创 5.0: Dubbo服务导出源码解析
服务在导出的过程中需要向动态配置中心的数据进行订阅,以便当管理人员修改了动态配置中心中对应服务的参数后,服务提供者能及时做出变化。此功能涉及到版本兼容,因为在Dubbo2.7之前也存在此功能,Dubbo2.7开始对此功能进行了调整。在Dubbo2.7之前,仅支持多某个服务的动态配置在Dubbo2.7之后,不仅支持对单个服务的动态配置,也支持对某个应用的动态配置(相当于对这个应用下的所有服务生效)
2023-09-03 18:09:01 447
原创 4.0 Spring与Dubbo整合原理与源码分析
Dubbo中propertie文件解析以及处理原理Dubbo中@Service注解解析以及处理原理Dubbo中@Reference注解解析以及处理原理DubboConfigConfigurationRegistrar的主要作用就是对propties文件进行解析并根据不同的配置项项生成对应类型的Bean对象。
2023-09-03 12:03:41 633 1
原创 3.0 Dubbo的可扩展机制SPI源码解析
架构图2. Demo上⾯这个Demo就是Dubbo常⻅的写法表示获取"dubbo"对应的Protocol扩展点。Protocol是⼀个接口。在类的内部有⼀个static的⽤来缓存某个接⼝类型所对应的实例表示某个接⼝的扩展点加载器可以⽤来加载某个扩展点实例。在中除开有上⽂的static的Map外还有两个⾮常重要的属性Class
2023-09-03 11:41:04 162
原创 2.3.Dubbo的基本应用- 异步调用 、泛化调用 、动态配置
如果某个服务想要支持泛化调用,泛化调用可以用来做服务测试。就可以不用依赖该服务的接口。那么这个时候我们就可以。形式调用我们的服务了。接口来进行服务调用。
2023-08-26 16:34:26 395
原创 04-Redis的持久化
RDB快照(snapshot)在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。比如说, 以下设置会让 Redis 在满足“ 60 秒内有至少有 1000 个键被改动”这一条件时, 自动保存一次数据集:# save 60 1000 //关闭RDB只需要将所有的save保存策略注释掉即可还可以手动执行命令生成RDB快照,进入redi
2020-12-12 10:10:09 136
原创 03-Redis的数据类型
String 结构字符串常用操作SET key value //存入字符串键值对MSET key value [key value ...] //批量存储字符串键值对SETNX key value //存入一个不存在的字符串键值对GET key //获取一个字符串键值MGET key [key ...] //批量获取字符串键值DEL key [key ...] //删除一个键EXPIRE key seconds //设置...
2020-12-12 09:20:00 146
原创 02-Redis的单线程和高性能
Redis的单线程和高性能Redis是单线程吗?Redis 的单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。Redis 单线程为什么还能这么快?因为它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题。正因为 Redis 是单线程,所以要小心使用 Redis 指令,对于那
2020-12-04 00:22:53 190
原创 01-Redis安装
Redis安装1 下载地址:http://redis.io/download2 安装步骤:3 # 安装gcc4 yum install gcc56 # 把下载好的redis‐5.0.3.tar.gz放在/usr/local文件夹下,并解压7 wget http://download.redis.io/releases/redis‐5.0.3.tar.gz8 tar xzf redis‐5.0.3.tar.gz9 cd redis‐5.0.31011 # 进入到解压好的redis‐5
2020-12-04 00:21:02 86
原创 第二章 zookeeper 客户端使用与集群特性
主要内容:客户端 zookeeper客户端简介,C客户端 客户端连接参数说明 客户端CRUD 客户端监听 集群 集群架构说明 集群配置及参数说明 选举投票机制 主从复制机制 一、客户端API常规应用zookeeper 提供了java与C两种语言的客户端。我们要学习的就是java客户端。引入最新的maven依赖:<depe...
2019-10-02 14:11:11 203
原创 第一章 ZooKeeper 特性与节点说明
主题概要zookeeper概要、背景及作用 部署与常规配置 节点类型一、zookeeper概要、背景及作用zookeeper产生背景:项目从单体到分布式转变之后,将会产生多个节点之间协同的问题。如:每天的定时任务由谁哪个节点来执行? RPC调用时的服务发现? 如何保证并发请求的幂等 ....这些问题可以统一归纳为多节点协调问题,如果靠节点自身进行协调这是非常不可靠的...
2019-10-02 14:01:59 231
原创 3. Spring是如何发布事件的? ApplicationListener
1.1)自己写一个TulingApplicationListener 实现ApplicationListener 接口,并且把该组件加入到容器中.@Component publicclassTulingApplicationListenerimplementsApplicationListener{ //接受到消息,回调该方法 @Overrid...
2019-08-04 21:32:44 186
原创 2:Spring IOC 容器底层注解使用
二:Spring IOC 容器底层注解使用2.1)xml配置文件的形式 VS 配置类的形式①:基于xml的形式定义Bean的信息<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http...
2019-08-04 20:55:10 106
原创 1. Spring框架功能的整体介绍
一:Spring框架功能整体介绍1: Spring Core Container:模块作用 Core 和 Beans 模块是框架的基础部分 提供 IoC (转控制)和依赖注入特性。这里的基础 概念是 BeanFactoryBeanFactory提供对 Factory 模式的经典实现,并真正地允许你从程序逻辑中分离出依赖关系和配置1.1) Core1...
2019-08-04 20:53:59 479
原创 01_IT 行业各种备份术语_名词解释
IT 名词解释很多同学对热备,冷备,云备了解不深,我科普一下 IT 行业各种备份术语。以后别闹笑话了。1. 冷备份假设你是一位女性,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人。你随时可以甩了现任男友,另外一位马上就能补上。这是冷备份。2.双机热备份假设你是一位女性,同时和两位男性在交往,两位都是你男朋友。并且他们还互不干涉,独立运行。这就...
2019-08-04 20:27:19 441
原创 dojo_src1
"http://www.w3.org/TR/html4/strict.dtd"> testSelect @import "../dojo_src/dijit/themes/claro/document.css"; @import "../dojo_src
2012-06-02 01:09:49 52
Oracle基础学习
2013-09-23
《Ajax for Web Application Developers》-电子书下载(CHM)(英文)
2010-04-02
apache-tomcat-6.0.10.zip
2009-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人