Java中Properties类

Java源码
Java中Properties类

一、Java Properties类 ​ Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像Python支持的配置文件是.ini文件,同样,它也有自己读取配置...

深入理解分布式事务

分布式事务
深入理解分布式事务

目录:在阅读本文之前,请先看下目录,了解下本文主要讲了哪些内容。 @[toc]本文已经近 12000 字,太长的文章可能让人失去耐心,建议分 2 次看,考虑到这一点,有些地方的讲解假设读者有一定的基础,未做特别详细的讲解。对分布式事务感兴趣的同学,欢迎添加作者微信(w1186355422,请注明一下来源,谢谢),一起讨论交流,由于水平有限,文章内容如有什么问题,欢迎各位大...

java动态代理和静态代理的实现

代理模式
java动态代理和静态代理的实现

代理模式:为其他对象提供一种代理以控制目标对象的访问,在某些情况下, 一个对象不适合或者不能直接引用另外一个对象,代理对象可以在这个客户类和目标对象中起到一个桥梁作用。 简单来说,代理对象的使用,是在不修改原有目标对象的基础上,增强原有目标对象的功能逻辑。 代理的实现有两种,静态代理和动态代理,而动态代理,又分为jdk动态代理和cglib动态代理。 本文目录: 1.静态...

分布式锁系列--04关于分布式锁的选型分析02-Redlock的实现原理

Redlock
分布式锁系列--04关于分布式锁的选型分析02-Redlock的实现原理

上一文分布式锁系列–03关于分布式锁的选型分析01中,我们看到了单节点的redis分布式锁在failover时产生了无法解决的安全问题,因此,Redis的作者antirez提出了一种新的基于redis的分布式锁的算法Redlock,它基于N个完全独立的Redis节点(通常情况下N可以设置成5)。 1.Redlock获取锁Redlock获取锁的原理如下: 1.获取当前时间(...

分布式锁系列--03关于分布式锁的选型分析01

分布式锁
分布式锁系列--03关于分布式锁的选型分析01

本文分析,在分布式系统中,使用redis实现分布式锁,会遇到什么问题。关于分布式锁概念和redis分布式锁的具体实现,可参考前面的2篇文章。本文重点在于,对分布式锁技术选型的分析。 1.redis锁单节点实现常规的,使用redis做分布式锁,主要实现如下: 1.1加锁1234567891011121314151617181920212223242526272829/** ...

分布式锁系列--02Redis实现分布式锁

分布式锁
分布式锁系列--02Redis实现分布式锁

本文讲述,如何使用redis来实现分布式锁。这种实现方式,满足了分布式锁系列–01分布式锁入门介绍一文中,分布式锁约束的前三条:互斥性,安全性,对称性。因为是单机版本,所有无法满足第四条。自己编码来实第四点,是比较麻烦的,后面会介绍如何使用开源的Redisson框架来实现分布式锁。 实现原理有一个redis服务实例,在分布式系统中,所有需要获取锁的客户端,都需要访问这个r...

分布式锁系列--01分布式锁入门介绍

分布式锁
分布式锁系列--01分布式锁入门介绍

本系列主要介绍分布式锁相关内容及实现。本文主要介绍以下内容: 1.分布式锁是什么 2.分布式锁约束 3.分布式锁实现方式 1.分布式锁是什么分布式锁,是控制分布式系统中访问共享资源的一种方式,如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 在单机应用的...

Redission分布式锁加锁原理源码解析

Redission
Redission分布式锁加锁原理源码解析

追踪一下redission加锁的实现源码,并详细介绍核心加锁代码lua脚本的执行原理和过程。 1.获取锁这里是我们自己实现,调用redission的方法,获取锁,然后加锁。lock.lock(expireTime, timeUnit)是关键,我们追进去。 1234567891011121314/** * 获取锁,如果没有主动调用unlock解锁,expireTime后会自...

SpringCloud教程(Finchley版本)-08:eureka集群搭建

SpringCloud
SpringCloud教程(Finchley版本)-08:eureka集群搭建

在eureka的服务治理设计中,所有的节点既是服务提供方,也是服务消费方,注册中心也不例外。eureka server的高可用集群,其实就是将自己作为服务向其他注册中心注册自己,这样几个节点的eureka就可以互相注册,实现服务清单的互相同步,达到高可用的效果。 本文,记录在本地搭建2个eureka服务,互相注册为一个集群,生产环境可以部署更多的节点。示例中两个项目分别为...

SpringCloud教程(Finchley版本)-07:网关(Zuul)

SpringCloud
SpringCloud教程(Finchley版本)-07:网关(Zuul)

在微服务架构中,后端服务往往不会直接开放给调用端,而是通过一个网关根据请求的url,路由到相应的服务。当添加网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。在Spring Cloud体系中, Spring Cloud Zuul就起到了网关的作用,它可以提供动态路由,监控,弹性,安全等的边缘服务。本文示...

×
  • {title}