自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 x-requested-with的作用以及用法详解

x-requested-with 请求头 区分ajax请求还是普通请求在服务器端判断request来自Ajax请求(异步)还是传统请求(同步):   两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数   1、传统同步请求参数     accept text...

2017-12-07 11:45:39

阅读数 8317

评论数 0

原创 多线程编程(5)之CopyOnWriteArrayList源码分析

一、简介 CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不阻塞读操作,实现读写分离。 二、继承体系 CopyOnWriteArrayList实...

2019-10-14 21:08:27

阅读数 3

评论数 0

原创 多线程编程(4)之ConcurrentHashMap

当 Hash 冲突严重时,在桶上形成的链表会变的越来越长,这样在查询时的效率就会越来越低;时间复杂度为O(N)。

2019-10-13 14:08:34

阅读数 9

评论数 0

原创 多线程编程(3)之ThreadLocal 原理和使用场景

一、什么是ThreadLocal ThreadLocal 是 JDKjava.lang包中的一个用来实现相同线程数据共享不同的线程数据隔离的一个工具。 我们来看下 JDK 源码中是如何解释的: This class provides thread-local variables. These...

2019-10-12 14:45:15

阅读数 4

评论数 0

原创 个人总结(2)之基于jwt和session用户认证的区别和优缺点

一、背景知识 Authentication和Authorization的区别: Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码确认你真的是小A。 Authorization:授权,指的是确认你的身份之后提供给你权限,...

2019-09-17 20:16:00

阅读数 13

评论数 0

原创 SpringCloud(6)之CAP理论在微服务的运用

对于开发或设计分布式系统的架构师工程师来说,CAP 是必须要掌握的理论,这个文章的重点并不是讨论 CAP 理论和细节,重点是说说 CAP 在微服务中的开发怎么起到一个指引作用,会通过几个微服务开发的例子说明,尽量的去贴近开发。 CAP 定理又被称为布鲁尔定理,是加州大学计算机科学家埃里克·布鲁尔...

2019-09-06 00:02:48

阅读数 27

评论数 0

原创 SpringMVC(2)之前后端参数绑定

Spring MVC是我们在企业中最经常使用的一个框架,这里主要介绍Spring3 MVC请求参数获取的几种方法。而且今天同事也有问到过我,这里做个小总结。 1.通过@PathVariabl获取路径中的参数 @RequestMapping(value="user/{id}/{nam...

2019-09-04 01:02:43

阅读数 19

评论数 0

原创 多线程编程(2)之Java并发介绍

到目前为止,你学到的都是顺序编程,顺序编程的概念就是某一时刻只有一个任务在执行,顺序编程固然能够解决很多问题,但是对于某种任务,如果能够并发的执行程序中重要的部分就显得尤为重要,同时也可以极大提高程序运行效率,享受并发为你带来的便利。但是,熟练掌握并发编程理论和技术,对于只会CRUD的你来说是一种...

2019-09-02 15:54:22

阅读数 23

评论数 0

原创 Nginx(7)之负载均衡

负载均衡硬件(F5)或者软件(nginx)将请求分发到不同的服务主机中进行处理,假设有5个request进来,基于一定的均衡策略,我们可能会将其中的3个request交给A服务器去处理,B、C服务器各处理1个request。下面我画张图片简单说明这个模型: 那么使用负载均衡有什么好处呢?首先...

2019-09-01 23:50:37

阅读数 11

评论数 0

原创 多线程编程(1)之Java 中15种锁的介绍

这里主要介绍Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 1.公平锁 / 非公平锁 2.可重入锁 / 不可重入锁 3.独享锁 / 共享锁 4.互斥锁 / 读写锁 5.乐观锁 / 悲观锁 6.分段锁 ...

2019-08-31 22:27:04

阅读数 32

评论数 0

原创 Nginx(6)之反向代理实现动静分离

一、反向代理 反向代理可以理解为客服端和服务端沟通经过一个代理,代理来分发请求 ,Nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离,以及负载均衡,从而大大提高服务器的处理能力。 详细的来说反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上...

2019-08-25 20:57:12

阅读数 22

评论数 0

原创 Nginx(5)之缓存使用及原理

对于网站的图片,尤其是新闻站, 图片一旦发布, 改动的可能是非常小的.我们希望 能否在用户访问一次后, 图片缓存在用户的浏览器端,且时间比较长的缓存. Nginx提供了expires、etag、if-modified-since指令来实现浏览器缓存控制。 expires 如果我们使用Ngin...

2019-08-25 00:39:48

阅读数 34

评论数 0

原创 Nginx(4)之搭建图片服务器

最近在学nginx,然后想起了之前大学做的一个商城网站,图片就是用nginx作为图片服务器,在这里分享记录一下。 技术:Nginx,Vsftpd,Spring,SpringMVC,KindEditor,CentOS,注意KindEditor这个富文本编辑器他不是事先图片服务器的必要技术,只是使用...

2019-08-24 13:53:01

阅读数 15

评论数 0

原创 Nginx(3)之开启Gzip详解

一、网页压缩 网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。双方的协商过程如下: 首先浏览器请求某个 URL ...

2019-08-22 22:55:31

阅读数 11

评论数 0

原创 SpringCloud(5)之分布式锁实现

01为什么用分布式锁 在讨论这个问题之前,我们先来看一个业务场景:系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新...

2019-08-21 00:07:23

阅读数 141

评论数 0

原创 个人总结(1)之消除多个ifelse

最近有一个需求、简要概述就是,我负责提供配件服务的一个公共的库存接口,给配件这个服务多个关于要操作到库存的接口都会调用我的这个接口去操作库存。 对于库存这块大家应该也不熟悉,其实,刚开始接到组长分给我的这个任务的时候我还是蛮忐忑的,因为配件这块服务,库存是一个大头,为了确保到库存的正常出入库,这...

2019-08-18 22:20:23

阅读数 44

评论数 0

原创 Nginx(2)之nginx作用简介

这里主要介绍的是Nginx的主要功能,以及他能够在生产环境做做什么,解决什么技术问题,他包括了反向代理、负载均衡、HTTP服务器(包含动静分离)、正向代理。 一、反向代理 反向代理应该是 Nginx 做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Pr...

2019-08-15 22:37:22

阅读数 26

评论数 0

原创 SpringCloud(4)之服务消费者RestTemplate+Ribbon

在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。 ...

2019-07-11 15:33:15

阅读数 45

评论数 0

原创 SpringCloud(2)之SpringCloud简介

SpringCloud作为Java语言的微服务框架,它依赖于Spring Boot,有快速开发、持续交付和容易部署等特点。SpringCloud的组件非常多,设计微服务的方方面面,并在开源社区Spring和Netflix、Pivotal两大公司的推动 下越来越完善。我们这里主要介绍SpringCl...

2019-07-01 21:58:21

阅读数 84

评论数 0

原创 SpringCloud(3)之服务注册与发现Eureka

一、spring cloud简介 spring cloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springBoot的,...

2019-06-25 10:49:36

阅读数 92

评论数 0

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