自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序人生的专栏

我为代码疯狂

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

原创 swagger access-control-origin settings

现象访问swagger时,提示Can't read from server. It may not have the appropriate access-control-origin settings.问题@ApiModelProperty(name = "config", value = "extField",dataType = "String", required ...

2020-04-15 10:10:10 1239 1

原创 数据同步方案

参考:https://github.com/alibaba/otterhttp://github.com/alibaba/canal

2020-01-14 17:45:13 280

原创 Redis的持久化

redis持久化包括两种方式:RDB快照方式RDB快照,是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。这样在下次恢复的时候可以直接从快照进行恢复,因此恢复速度相对较快。但RDB方式,因为是定期才快照,通常是每隔5分钟,或者更长时间生成一次,这个时候就得接受一旦Redis进程宕机...

2020-01-10 18:07:23 138

原创 缓存与数据库的一致性

分布式场景下,缓存与数据库的一致性是必须要绕过去的一道坎。而强一致性同步成本太高,如果追求强一致,那么没必要用缓存了,直接用mysql即可。通常考虑的,都是最终一致性。我们要做的,就是把这个最终一致性的时间降到最低。从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说如果...

2020-01-10 17:24:12 441

原创 redis部署方案

方案一 单机版对缓存没有较高的要求,缓存挂了也不影响业务的场景,可以使用。方案二 主从复制主故障后,需要人工切换到从,应用程序也需要进行重连。方案三 哨兵主从复制的改进,可以自动监控各节点的状态,当主节点故障时,自动从从节点选择一个做为主节点。缺点:故障切换期间,将导致服务的不可用。方案四 集群真正的分布式存储缓存,一般使用多主多从,如3主3从,6主6从等缺点:...

2020-01-09 22:18:02 207

原创 缓存雪崩、穿透、击穿

一 缓存穿透概念key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有。若黑客利用此漏洞进行攻击可能压垮数据库,这就是漏洞。解决方案1)有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个...

2020-01-09 14:20:01 163

原创 分布式锁的设计

实现方案一、mysql实现二、redis三、zookeeper以下主要说一下redis的实现方式。需要实现的功能1、只有一个线程能获取到锁,获取不到锁的线程可以自旋一定的时间,如果仍获取不到,则返回获取不到锁。2、为了防止业务挂了,导致锁没有释放,需要给锁加上过期时间。3、只能解锁自己加的锁,可以通过加锁时传入请求标识实现4、实现锁的可重入问题1、如何保...

2020-01-07 22:34:37 290

原创 根据输入的数据,建立二叉排序树,并求先、中、后序遍历

#include #include #define MAX 1000typedef struct node{ int d; struct node *lchild,*rchild;}Tnode;void insertTree(Tnode **r,int d){ if(*r==NULL){//如果树为空,则建树 *r=(Tnode *)malloc(sizeof(Tnode

2013-08-25 23:02:38 6386

原创 二叉树遍历:已知前序和中序,求后序

#include #include #include #define MAX 1000typedef struct node{ char d; struct node *lchild,*rchild;}Tnode;void MK(char in[],int is,int ie,char pre[],int pres,int pree,Tnode **r){ int i;

2013-08-24 23:17:23 1370

原创 二叉树遍历:已知中序和后序,求前序

根据输入的二叉树中序和后序序列来构造该二叉树,输出该二叉树的前序序列和该二叉树的度为2的结点的个数并能判断该二叉树是否为二叉排序树(若是输出Yes;否则输出No)。 #include #include #include void exit(int);#define MAX 1000typedef struct node{ char d; struct

2013-08-21 23:48:57 1602

原创 希尔排序算法

#include void output_array(int data[], int n) { int i; for(i = 0; i < n; i++) printf("%d ", data[i]); printf("\n"); } void swap(int *a, int *b) { int x; x =

2013-08-20 22:57:21 545

原创 归并排序算法

#include void merge(int is1[],int left,int last,int mid) { int i=left,j=mid+1,k=left,is2[1000]; while(i<=mid&&j<=last) if(is1[i]<=is1[j]) // 此处为排序顺序的关键,用小于表示从小到大排序。实际上就是把is1分成两个数组,第一从left到mi

2013-08-20 22:56:46 555

原创 快速排序算法

#include void qsort(int s[], int l, int r){ int i, j, x; if (l < r) { i = l; j = r; x = s[i];//基准元素 while (i < j) { while(i x) j--; /

2013-08-20 22:55:57 605

原创 冒泡排序算法

//冒泡排序#include void sort(int d[],int n){ int i,j,temp,exchange; for(i=0;i<=n;i++){ exchange = 0; for(j=n-1;j>=i;j--){ if(d[j+1]<d[j]){ exchange = 1; temp = d[j+1]; d[j+1]=d[j];

2013-08-20 22:53:49 470

原创 选择排序算法

#include // 选择排序 void sort(int arr[], int n){ int i, j; int min;//保存无序区的最小数据 int mcount=0,ccount=0;//交换次数和比较次数 int temp; //中间变量 for(i = 0; i < n; i++) { min = i;

2013-08-20 22:51:14 528

原创 直接插入排序算法

#include /**方法一,只需掌握此方法即可**/void insertSort(int a[],int n){ int i,j,k; for(i=1;i<=n;i++){//待排序的数据 k = a[i];//取出一个数据来排序 for(j=i-1;j>=0&&k<a[j];j--){ a[j+1]=a[j];//移动的条件:待排序的数据小于已排序的最大数据,即a

2013-08-20 22:48:27 745

转载 SVN 版本服务器搭配全过程详解(含服务端、客户端)

1.为什么要用VisualSVN Server,而不用Subversion?回答:因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN S

2013-05-21 21:16:01 698

转载 MYSQL数据库调优,MYSQL 调优方法和使用必读

MYSQL 应该是最流行了 WEB 后端数据库。WEB 开发语言最近发展很快,PHP, Ruby, Python,Java各有特点,虽然 NOSQL 最近越來越多的被提到,但是相信大部分架构师还是会选择MYSQL 来做数据存储。MYSQL 如此方便和稳定,以至于我们在开发 WEB 程序的时候很少想到它。即使想到优化也是程序级别的,比如,不要写过于消耗资源的 SQL 语句。但是除此之

2013-05-13 22:55:53 997

转载 java处理高并发高负载类网站的优化方法

java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据)一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是

2013-05-13 22:53:03 686

空空如也

空空如也

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

TA关注的人

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