自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

徐赤赤的博客

菜鸟也要学编程

  • 博客(77)
  • 收藏
  • 关注

原创 MySql是怎么解决幻读的。

根据MySQL文档上面的定义幻读指的是在一个事务内,同一SELECT语句在不同时间执行,得到不同的结果集时,就会发生所谓的幻读问题。可以看看下面的例子:这是网上找的一张图(事务的务字写错了,不过不影响我们理解)假设这个例子中的MySQL的隔离级别是提交读,也就是一个事务内可以读到其他事务提交后的结果。

2023-03-16 21:22:00 791

转载 Seata-AT模式

Seata

2022-07-02 17:55:46 306

转载 MVVC(多版本并发控制)

1、MVCC​   MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读2、当前读​  select lock in share mode(共享锁)、select for update 、 update

2022-05-05 20:57:13 1023 1

转载 jvm总览

运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!下面梳理一下具体常用的指令。jpsJVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。jps [options] [hostid]...

2022-04-19 20:29:43 131

转载 锁的四种状态及升级过程

锁的四种状态与锁升级过程 图文详解一、前言锁的状态总共有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁,这四种锁状态分别代表什么,为什么会有锁升级?其实在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(synchronized)进行了优化,引入了偏向锁 和 轻量级锁,从此以后锁的状态就有了四种(无锁、偏向锁、轻量级锁、重量级锁),并且四种状态会随着竞争的情况逐渐升级,而且是不可逆的...

2022-04-17 21:30:27 14163 3

原创 springcloud学习笔记5

Zull路由网关什么是zuul?Zull包含了对请求的路由(用来跳转的)和过滤两个最主要功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。注意:Zuul 服务最终还是会注册进 Eureka提供:代理 + 路由

2022-04-16 22:27:30 68

原创 springcloud学习笔记4

Hystrix:服务熔断分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免失败!服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长,或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几十秒内饱和。比失败更糟糕的

2022-04-16 00:03:46 89

原创 springcloud 学习笔记3

Feign:负载均衡(基于服务端)Feign简介Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin提供负载均衡的http客户端只需要创建一个接口,然后添加注解即可~Feign,主要是社区版,大家都习惯面向接口编程。这个是很多开发人员的规范。调用微服务访问两种方法.微服务名字 【ribbon】接口和注解 【feign】Feign能干什么?Fei

2022-04-15 01:20:34 64

原创 SpringCloud学习笔记2

服务注册与配置什么是EurekaEureka是Netflix的子模块,也是核心模块之一。Eureka是基于REST的服务,用于定位服务,以实现云端中间件层服务发现和故障转移,服务注册与发现对于微服务来说是非常重要的,有了服务注册与发现,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了,功能类似于Dubbo的注册中心,比如Zookeeper。Springcloud 封装了Netflix公司开发的Eureka模块来实现服务注册与发现 (对比Zookeeper).Eureka采

2022-04-14 00:02:58 78

原创 SpringCloud学习笔记1

首先抛出问题一些常见问题:1.1 什么是微服务?1.2 微服务之间是如何独立通讯的?1.3 SpringCloud 和 Dubbo有那些区别?1.4 SpringBoot 和 SpringCloud,请谈谈你对他们的理解1.5 什么是服务熔断?什么是服务降级?1.6 微服务的优缺点分别是什么?说下你在项目开发中遇到的坑1.7 你所知道的微服务技术栈有哪些?列举一二1.8 Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别什么是微服务?微服务架构是一种架构模式

2022-04-12 23:41:30 299

转载 Redis主从复制

1.1 简介主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)—— 读写分离。默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能由一个主节点。架构图 :1.2 作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余的方式.

2022-04-10 22:50:32 4899

原创 Redis持久化

持久化(Persistence),持久化是将程序数据在持久状态和瞬时状态间转换的机制,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。Redis的持久化方法分为RDB和AOF。RDB:Redis的数据都在内存中,为了提供所有数据的可靠性保证,它执行的是全量快照,也就是说,把内存中的所有数据都记录到磁盘中。RDB持久化方式:可以在指定的时间间隔能对数据进行快照存储。Redis 调用forks。同时拥有父进程和子进程。 子进程将数据集写入到一个临时 RDB 文件中。 当子进程完成对

2022-04-10 22:25:40 529

转载 SpringBoot-02 运行原理探究

我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;pom.xml父依赖其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> &l

2022-03-26 19:22:10 75

原创 SpringBoot相关-01 HelloWorld

SpringBoot简介回顾什么是SpringSpring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;2、通过IOC,依赖注入(DI)和面向接口实现松耦合;3、基于切面(AOP)和惯例进行声.

2022-03-26 18:11:32 87

转载 动态代理相关学习

首先,什么是静态代理:静态代理假设现在项目经理有一个需求:在项目现有所有类的方法前后打印日志。你如何在不修改已有代码的前提下,完成这个需求?我首先想到的是静态代理。具体做法是:1.为现有的每一个类都编写一个对应的代理类,并且让它实现和目标类相同的接口(假设都有)2.在创建代理对象时,通过构造器塞入一个目标对象,然后在代理对象的方法内部调用目标对象同名方法,并在调用前后打印日志。也就是说,代理对象 = 增强代码 + 目标对象(原对象)。有了代理对象后,就不用原对象了.

2022-03-13 23:17:13 66

原创 @Configuration 注解优先级问题

在微服务项目中,相互依赖的两个微服务同时实现了某个Configuration,导致出现以下报错信息:Error creating bean with name 'singerService': Unsatisfied dependency expressed through field 'singer'; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifyi..

2022-03-13 02:10:46 933 1

转载 IOC和DI

1.IOC的理论背景2.什么是IOC3.IOC也叫依赖注入(DI)4.IOC的优缺点5.IOC容器的技术剖析6.IOC容器的一些产品7.参考博文本文旨在用语言(非代码)说清楚IOC到底是什么,没有什么高深的技术,园中的老牛、大虾们看到这里可以绕行了,以免浪费您宝贵的时间。IOC这个东西DebugLZQ早就想写了,但是出于对文章权威性的考虑(不能误人子弟- -!),本文主要内容来源于最近LZ看的一些国内外的关于IOC的博文、博问,所有引用到的文章,在参考博文中均已注明。1.IO

2022-03-12 19:04:47 111

转载 Web相关-session和cookie

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制  在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一.

2022-03-05 22:27:17 382

转载 SQL注入相关

SQL注入详解一:什么是sql注入  SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库。二:SQL注入攻击的总体思路   1:寻找到SQL注入的位置  2:判断服务器类型和后台数据库类型  3:针对不同的服务器和数据库特点进行SQL注入攻击三:SQL注入攻击实例String sql = "select * from user_table where usernam..

2022-03-01 22:36:14 319

转载 mysql索引相关

MySQL索引背后的数据结构及算法原理_渣渣fei-CSDN博客_mysql索引背后的数据结构及算法原理

2022-03-01 22:27:20 86

原创 MySql相关

mysql -uroot -p123456;show databases;use databasename;shou tables;describe tablename;mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:mysq

2022-02-24 18:54:31 348

原创 JVM学习:

思维导图:1、java->class->classloader->runtime data area->执行引擎,本地方法接口/库。2、90%的JVM调优都是在对堆进行调优。3、类装载器的作用:装载class文件,实例化对象后,对象在栈里面,对象内存地址对应的实际属性和方法在堆里面。加载器执行顺序:根加载器->EXC加载器->应用程序加载器。4、加载顺序:双亲委派机制类加载器收到类加载的请求将这个请求向上委托一直到根加载器根加载器会检查是否

2022-02-16 15:55:21 145

转载 微服务科普知识:小明和小红的故事

很彩,由于目前对微服务了解很浅,对全文不能理解很透彻,后续再来读一遍。原文链接:微服务架构是什么? - 知乎作者:老刘链接:https://www.zhihu.com/question/65502802/answer/802678798来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一文详解微服务架构本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组.

2022-01-08 16:37:33 933

转载 微服务学习笔记:Dapper,大规模分布式系统的跟踪系统

学习来源:Dapper,大规模分布式系统的跟踪系统 by bigbully当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。Dapper--Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低损耗、应用透明的、

2022-01-08 15:01:50 682

原创 mysql 行锁和表锁

经过文章MySQL 表锁和行锁机制_xts5701046的博客-CSDN博客_mysql 行锁直接结论:1、MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。其中,InnoDB支持事务,InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。并且该索引不能失效,否则都会从行锁升级为表锁。2、如果对非索引加行锁而进行批量修改数据脚本的时候,行锁升级为表锁,会是其他修改事务均处于等待状态。3、行锁行锁的劣势:开销大;加锁慢;会出现死锁行锁的优势:锁的粒度小,发生锁冲突的

2021-12-17 15:56:48 4797 1

原创 VUE代码代码目录结构

目录解析目录/文件 说明 build 项目构建(webpack)相关代码 config 配置目录,包括端口号等。我们初学可以使用默认的。 node_modules npm 加载的项目依赖模块 src 这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件: assets: 放置一些图片,如logo等。 components: 目录里面放了一个组件文件,可以不用。 App.vue: 项目入口文...

2021-11-16 16:41:51 1427

原创 详解大端模式和小端模式

一、大端模式和小端模式的起源        关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必

2016-09-17 10:21:32 240

原创 大数相乘

#include #include using namespace std;#define N 100void char_to_int(int *a , char* ch){ int len = strlen(ch); int i = 0, term = 0; for(i = 0 ; i < N ; i++){ a[i] = 0; }

2016-09-07 22:24:45 254

转载 Linux进程的睡眠和唤醒

在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。    当然,一个进程也可以主动释放CPU的控制权。函数schedule()是一个调度函数,它可以被一个进程主动调用,从而调

2016-09-07 11:37:42 8115 1

原创 C++ 优先队列的使用

首先看下优先队列的STL源码:class priority_queue{ protected: _Sequence c; ///容器 _Compare comp; ///比较准则 public: bool empty() const { return c.emp

2016-08-27 22:03:17 486

原创 经典内部排序: 堆排序,快排,归并排序

堆排序:#include using namespace std;void minHeapFixDown(int a[],int i,int n){ int tmp = a[i]; int j = i*2+1; while(j<n){ if(j+1<n&&a[j+1]<a[j]) j++; if(a[i]<

2016-08-18 11:33:12 415

转载 海量数据处理问题

原文链接:http://blog.csdn.net/v_JULY_v/article/details/6279498海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http:

2016-08-15 15:53:05 247

转载 探索hash_set

原文链接:http://blog.csdn.net/morewindows/article/details/7330323Title:        STL系列之九 探索hash_setAuthor:     MoreWindowsBlog:       http://blog.csdn.net/MoreWindowsE-mail:     morewindow

2016-08-15 15:51:08 264

原创 动态规划:正整数分组

将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。动态规划解决:递推公式: f(i,j)={f(i−1,j)(jai)max(f(i−1,j),f(i,j−ai)+ai)(ai=j=[sum/2])  #include #include usin

2016-08-14 21:50:41 2017

原创 动态规划 0-1背包问题

问题描述:给定N中物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得转入背包的物品的总价值为最大??在选择物品的时候,对每种物品i只有两种选择,即装入背包或不装入背包。不能讲物品i装入多次,也不能只装入物品的一部分。因此,该问题被称为0-1背包问题。  问题分析:令V(i,j)表示在前i(1(1)   V(i,0)=V(0,j

2016-08-13 18:03:34 2091

转载 KMP算法

原文链接:http://www.cnblogs.com/c-cloud/p/3224788.html前言    之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不

2016-08-11 22:18:48 261

原创 swagger

总结:学习Swagger的使用方法,安装并使用了Swagger-ui、Swagger-editor,学习了生成、描述、调用和可视化RESTful风格的Web服务并实现了一些基本功能。总结:1.学习什么是RESTFUL风格的API以及RESTFULAPI的原则2.学习了GIT的使用和配置3.了解了MAVEN的使用4.了解了RestEasy,学习了一个开源的Se

2016-07-11 22:11:47 533

转载 Git 学习指南

看了一篇很好的Git入门教程 原文出处:http://www.cnblogs.com/tugenhua0707/p/4050072.html

2016-06-02 19:25:11 432

原创 文本处理,将交互组数据转化成邻接矩阵

public static void main(String[] args) throws Exception { File file = new File("C:\\Users\\xuchichi\\Desktop\\method3\\123.txt"); List gene1 = readGeneName1(file); List gene2 = readGeneName2(fil

2016-05-29 13:44:19 2575

原创 JAVA 多线程解决复杂度较高的算法问题

//再求基于GOTerm的基因相似度算法的时候 使用JAVA多线程开启20个线程package com.txt;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFou

2016-05-29 13:40:43 916

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除