自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 CAS企业级单点登录原理

1、单点登录概述1.1、什么是单点登录?单点登录:SingleSignOn,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。1.2、什么是CAS?CAS框架:CAS(CentralAuthenticationService,即:统一认证服务)是实现SSO单点登录的框架。1.3、CAS框架结构C...

2019-03-14 20:38:00 232

转载 【JVM】jstack 查询占用最大资源线程等

jstack 应用首先通过:ps -ef|grep java得到java pid查看哪个线程占用最多资源:找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid 命令查看这个进程下面的所有线程占用情况。发现线程21742占用最多。将刚刚发现占用cp...

2019-01-24 10:31:00 201

转载 利用Apache进行ab压力测试

要对Apache及其上的web程序进行压力测试其实非常简单,我们也不用再额外下载安装什么测试工具,因为Apache HTTP Server已经给我们准备了一个压力测试工具——ab。ab,即Apache Benchmark,只要我们安装了Apache,就能够在Apache的安装目录中找到它。它的居住地址是Apache安装目录/bin/ab.exe。现在,我们就来看看如何使用ab.e...

2018-12-28 16:47:00 494

转载 spring boot集成最新swagger2构建Restful API

spring boot集成最新swagger2构建Restful API一、pom文件下加入以下依赖<dependency>  <groupId>io.springfox</groupId>  <artifactId>springfox-swagger2</artifactId&gt...

2018-12-28 15:30:00 99

转载 dubbo基础使用入门

https://www.cnblogs.com/shenggang/p/6141681.html转载于:https://www.cnblogs.com/AnXinliang/p/10184950.html

2018-12-27 14:50:00 64

转载 maven依赖解析

1、概念介绍 Dependencies:是可选依赖(Optional Dependencies) Exclusions:是依赖排除(Dependency Exclusions) 2、Dependencies (1)当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B的可选依赖。举例来说,一个类似hibernate的项目,它支持对mysql、ora...

2018-12-27 13:42:00 297

转载 VPC介绍

VPC全称是Virtual Private Cloud,翻译成中文是虚拟私有云。但是在有些场合也被翻译成私有网络或者专有网络等。这里其实就有些让人迷惑,VPC究竟是指云还是网络?答案是,VPC即是一种云,也是一种网络模式,不过应该从服务和技术的角度分别来看。一、虚拟私有云首先从服务的角度来看,VPC指的是一种云(Cloud),这与它的字面意思相符。对于基础架构服务(IaaS),云...

2018-12-25 14:19:00 280

转载 Java反射

http://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html转载于:https://www.cnblogs.com/AnXinliang/p/10140333.html

2018-12-18 22:04:00 72

转载 MQTT学习

https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html转载于:https://www.cnblogs.com/AnXinliang/p/10110982.html

2018-12-12 20:58:00 71

转载 高并发和分布式中的幂等处理

我们先来谈下幂等的概念抽象概念幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUser...

2018-12-04 16:53:00 50

转载 MySQL对varchar型字段的索引,字段类型不同造成的隐式转换,导致索引失效

MySQL索引使用:字段为varchar类型时,条件要使用”包起来,才能正常走索引 表t_order表 里的id是BigInt类型,t_order_detail表里关联到order表的id误建成orderId varchar类型了,在ibatis上查询时,直接传入id Long类型,SQL查询非常慢,即使建立了userId索引,于是改成String 类型的userId去查询,SQL立马变...

2018-12-04 15:13:00 791

转载 ExecutorService中submit和execute的区别

在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。一、创建任务任务就是一个实现了Runnable接口的类。创建的时候实run方法即可。...

2018-11-29 10:07:00 34

转载 图解堆排序

转自:https://www.cnblogs.com/chengxiao/p/6129630.html转载于:https://www.cnblogs.com/AnXinliang/p/10023310.html

2018-11-26 22:00:00 74

转载 每秒上千订单场景下的分布式锁高并发优化实践

今天就给大家聊一个有意思的话题:每秒上千订单场景下,如何对分布式锁的并发能力进行优化?背景引入首先,我们一起来看看这个问题的背景?前段时间有个朋友在外面面试,然后有一天找我聊说:有一个国内不错的电商公司,面试官给他出了一个场景题:假如下单时,用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景?...

2018-11-26 15:00:00 298

转载 最终一致性分布式事务如何保障实际生产中99.99%高可用

一、写在前面上一篇文章咱们聊了聊TCC分布式事务,对于常见的微服务系统,大部分接口调用是同步的,也就是一个服务直接调用另外一个服务的接口。这个时候,用TCC分布式事务方案来保证各个接口的调用,要么一起成功,要么一起回滚,是比较合适的。但是在实际系统的开发过程中,可能服务间的调用是异步的。也就是说,一个服务发送一个消息给MQ,即消息中间件,比如Roc...

2018-11-26 14:40:00 457

转载 TCC分布式事务的实现原理

一、写在前面之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了不少文章,还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以咱们这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是TCC分布式事务。首先说一下,这里可能会牵扯到一些Spring Cloud的原理,如果有不太清楚的同学,...

2018-11-26 14:18:00 96

转载 微服务架构如何保障双11狂欢下的99.99%高可用

一、概述上一篇文章讲了一个朋友公司使用Spring Cloud架构遇到问题的一个真实案例,虽然不是什么大的技术问题,但如果对一些东西理解的不深刻,还真会犯一些错误。如果没看过上一篇文章的朋友,建议先看看:【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?因为本文的案例背景会基于上一篇文章。这篇文章我们来聊聊在微服务架构中,到底如何保证整套系统的高...

2018-11-26 14:03:00 55

转载 每秒上万并发下的Spring Cloud参数优化实战

一、写在前面相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构,毕竟现在这是非常火的一门技术。如果只是用户量很少的传统IT系统,使用Spring Cloud可能还暴露不出什么问题。如果是较多用户量,高峰每秒高达上万并发请求的互联网公司的系统,使用Spring Cloud技术就有一些问题需要注意了。二、场景引入,问题初现...

2018-11-26 11:51:00 57

转载 微服务注册中心如何承载大型系统的千万级访问

一、问题起源Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服务注册与服务发现,都是依赖Eureka的。不少初学Spring Cloud的朋友在落地公司生产环境部署时,经常会问:Eureka Server到底要部署几台机器?...

2018-11-26 11:44:00 60

转载 面试请不要再问我Spring Cloud底层原理

概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手...

2018-11-26 11:41:00 73

转载 Redisson实现Redis分布式锁的原理

一、写在前面现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如Redis分布式锁...

2018-11-26 11:30:00 47

转载 MySQL高级 之 索引失效与优化详解

转自:https://blog.csdn.net/wuseyukui/article/details/72312574转载于:https://www.cnblogs.com/AnXinliang/p/9995708.html

2018-11-21 16:05:00 37

转载 LinkedHashMap实现LRU算法

LinkedHashMap特别有意思,它不仅仅是在HashMap上增加Entry的双向链接,它更能借助此特性实现保证Iterator迭代按照插入顺序(以insert模式创建LinkedHashMap)或者实现LRU(Least Recently Used最近最少算法,以access模式创建LinkedHashMap)。下面是LinkedHashMap的get方法的代码pu...

2018-11-21 14:08:00 61

转载 Mysql 优化原理

说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如...

2018-11-21 12:31:00 108

转载 redis两种持久化方式的优缺点

redis两种持久化的方式RDB持久化可以在指定的时间间隔内生成数据集的时间点快照AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,AOF文件中全部以redis协议的格式来保存,新命令会被追加到文件的末尾,redis还可以在后台对AOF文件进行重写,文件的体积不会超出保存数据集状态所需要的实际大小,redi...

2018-11-21 11:27:00 70

转载 tomcat容器学习

https://blog.csdn.net/qq_34212276/article/details/78335882转载于:https://www.cnblogs.com/AnXinliang/p/9993270.html

2018-11-21 09:57:00 46

转载 记一次线上Java程序导致服务器CPU占用率过高的问题排除过程

1、故障现象客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高。2、CPU占用过高问题定位2.1、定位问题进程使用top命令查看资源占用情况,发现pid为14063的进程占用了大量的CPU资源,CPU占用率高达776.1%,内存占用率也达到了29.8%[ylp@ylp-web-01 ~]$ t...

2018-11-21 09:05:00 162

转载 一张图搞定OAuth2.0

转发:https://www.cnblogs.com/flashsun/p/7424071.html目录1、引言2、OAuth2.0是什么3、OAuth2.0怎么写1、引言本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们。一项新的技术,无非...

2018-11-20 21:27:00 66

转载 zookeeper学习

https://www.cnblogs.com/raphael5200/category/800894.html转载于:https://www.cnblogs.com/AnXinliang/p/9980762.html

2018-11-18 23:56:00 31

转载 Redis缓存--缓存预热,缓存穿透,缓存雪崩,缓存更新等概念和解决方案

关于Redis经常被问到的问题:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级、缓存热点 key等概念的入门及简单解决方案。一、缓存雪崩缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。...

2018-11-18 23:47:00 154

转载 Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存

转:https://www.jianshu.com/p/275cb42080d9转载于:https://www.cnblogs.com/AnXinliang/p/9980607.html

2018-11-18 23:41:00 412

转载 快速排序

快速排序是冒泡排序的改进版,也是最好的一种内排序,在很多面试题中都会出现,也是作为程序员必须掌握的一种排序方法。思想:1.在待排序的元素任取一个元素作为基准(通常选第一个元素,但最的选择方法是从待排序元素中随机选取一个作为基准),称为基准元素; 2.将待排序的元素进行分区,比基准元素大的元素放在它的右边,比其小的放在它的左边; 3.对左右两个分区重复以...

2018-11-18 22:43:00 98

转载 JDK,JRE,JVM区别与联系

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API包括rt.jar)。 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发...

2018-11-18 20:31:00 112

转载 RocketMQ

http://jm.taobao.org/tags/RocketMQ/转载于:https://www.cnblogs.com/AnXinliang/p/9976856.html

2018-11-18 00:52:00 66

转载 IO、NIO、AIO 内部原理分析

阻塞IO所有的读写IO都是阻塞操作。多路复用模型select/poll从程序的角度解释:将 channel 注册到 seletor 上,通过轮询channel是否就绪,将就绪的channel返回。epoll将 channel 注册到 selector 上,基于回调的方式(类似监听者模式),告知selector哪些 channel 已...

2018-11-17 23:31:00 121

转载 java设计模式-回调、事件监听器、观察者模式

背景关于设计模式,之前笔者写过工厂模式,最近在使用gava ListenableFuture时发现事件监听模型特别有意思,于是就把事件监听、观察者之间比较了一番,发现这是一个非常重要的设计模式,在很多框架里扮演关键的作用。回调函数为什么首先会讲回调函数呢?因为这个是理解监听器、观察者模式的关键。什么是回调函数所谓的回调,用于回调的函数。 回调函数只是一个功能片段,由用...

2018-11-17 23:26:00 181

转载 Spring源码相关

https://www.cnblogs.com/xrq730/category/941473.html转载于:https://www.cnblogs.com/AnXinliang/p/9976117.html

2018-11-17 22:56:00 66

转载 java单例模式几种实现方式

1、饿汉式(线程安全,调用效率高,但是不能延时加载):public class ImageLoader{ private static ImageLoader instance = new ImageLoader; private ImageLoader(){} public static ImageLoader getInstance(...

2018-11-17 22:21:00 94

转载 RabbitMQ学习笔记二:Java使用RabbitMQ

本地安装好RabbitMQ Server后,就可以在Java语言中使用RabbitMQ了。RabbitMQ是一个消息代理,从“生产者”接收消息并传递消息至“消费者”,期间可根据规则路由、缓存、持久化消息。“生产者”也即message发送者以下简称P,相对应的“消费者”乃message接收者以下简称C,message通过queue由P到C,queue存在于RabbitMQ,可存储尽可能...

2018-11-15 15:15:00 92

转载 RabbitMQ学习笔记一:本地Windows环境安装RabbitMQ Server

一:安装RabbitMQ需要先安装Erlang语言开发包,百度网盘地址:http://pan.baidu.com/s/1jH8S2u6。直接下载地址:http://erlang.org/download/otp_win64_18.3.exe。安装完成后需要配置环境变量:新建系统变量:变量名 ERLANG_HOME 变量值D:\softInstall\erl8.3(Erlang安...

2018-11-15 15:06:00 116

空空如也

空空如也

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

TA关注的人

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