Wesley13 Wesley13
3年前
java操作lua脚本
java操作lua脚本实例1.前言在上一篇文章Redis中使用Lua脚本来实现并发下的原子操作中我对Lua语言的一些简单的语法及其在Redis中的操作进行了介绍,但是在Java开发中我们还需要进一步的学习才能使这种技术落地。今天就结合SpringDataRedis这个我们经常使用的Redis开发组件来实际尝试一下Lua脚本。
艾木酱 艾木酱
4年前
Yugabyte事务隔离性实现分析
1.事务下面是摘自《PrinciplesofDistributedDatabaseSystems,3rdEdition》中关于事务的一段描述,讲述了事务实现所依赖的组件:事务是对数据库进行一致、可靠访问的基本单元,作为一个比较大的原子操作,负责将数据库从一个状态转移到另一个状态。为了满足一致性,需要对数据完整性限制进行定义,并且需要并发控制算
Wesley13 Wesley13
3年前
Java秒杀系统优化的工程要点
这篇博客是笔者学习慕课网若鱼老师的《Java秒杀系统方案优化高性能高并发实战》课程的学习笔记。若鱼老师授课循循善诱,讲解由浅入深,欢迎大家支持。本文记录课程中的注意点,方便以后codereview。此外,本文将注意点相关的优质讲解链接在了一起,方便初学者系统学习。\本文并非单纯介绍秒杀系统特有的技术点,不适合高手。进阶学习的话,极客时间有个不
Stella981 Stella981
3年前
ConcurrentHashMap介绍
在进行结构性修改,如put/remove/replace时都需要进行加锁,但是读取并未加锁,并发情况下,由于内存不同步问题,会导致一个线程的写操作并不会立即对另一个线程可见。这里ConcurrentHashMap通过volatile变量的内存可见性特性来保证一个线程的写操作立即被其他线程可见,每个方法在一开始都会读取count这个变量,该变量就是一个vola
Stella981 Stella981
3年前
Spring Cloud微服务开发笔记2——Eureka集群搭建
上一篇博文中,我们介绍了如何搭建一个Eureka服务的架构,但是服务提供者我们只用了一个单例,完全不能体现高并发高可用。本文我们尝试在上一篇文章示例Eureka项目的基础上继续完善,让它可以做到一个集群的部署。Eureka集群架构我们先看一下我们这次示例打算改造成的架构图:!(https://static.oschina
Stella981 Stella981
3年前
Redis 集群(11)
为什么需要集群?1、性能Redis本身的QPS已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响。这个时候我们希望有更多的Redis服务来完成工作。2、扩展第二个是出于存储的考虑。因为Redis所有的数据都放在内存中,如果数据量大,很容易受到硬件的限制。升级硬件收效和成本比太低,所以我们需要有
Stella981 Stella981
3年前
Nginx是什么及作用?
一:介绍nginx是一个高性能的HTTP和反向代理服务器,其特点是占用内存少,并发能力强。二:名词介绍代理服务器:代理服务器英文全称是ProxyServer,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,去获取信息。主要的功能有:1.突破自身IP访问限制,访问国外站点。教育网、169网等
Stella981 Stella981
3年前
LinkedBlockingQueue 介绍
LinkedBlockingQueue是一个基于已链接节点的、范围任意的blockingqueue。此队列按FIFO(先进先出)排序元素。队列的头部是在队列中时间最长的元素。队列的尾部是在队列中时间最短的元素。新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素。链接队列的吞吐量通常要高于基于数组的队列,但是在大多数并发应用程序中,其可
Stella981 Stella981
3年前
300 行代码带你秒懂 Java 多线程!
  线程的概念,百度是这样解说的:  线程(英语:Thread)是操作体系可以进行运算调度的最小单位。它被包括在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一次序的操控流,一个进程中可以并发多个线程,每条线程并行履行不同的使命。在UnixSystemV及SunOS中也被称为轻量进程(LightweightProcesses),但轻量进程
Wesley13 Wesley13
3年前
Java内存模型详解
内存模型(memorymodel)内存模型描述的是程序中各变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节.不同平台间的处理器架构将直接影响内存模型的结构.在C或C中,可以利用不同操作平台下的内存模型来编写并发程序.但是,这带给开发人员的是,更高的学习成本.相