关于秒杀系统的一些设计思路

上级限流 针对于浏览器端,可以使用JS进行请求过滤,比如5秒钟之类只能点一次抢购按钮,5秒钟只能允许请求一次后端服务。 这样其实就可以过滤掉大部分普通用户。 但是防不住直接抓包循环调用。这种情况可以最简单的处理:在Web层通过限制一个UID在5秒之类的请求服务层的次数(可利用Redis实现)。 具...

2019-03-06 22:43:27

阅读数 46

评论数 0

Java 运行时数据区域

Java运行时内存区域 ### 程序计数器 程序计数器是当前线程所执行的字节码的行号指示器。 为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器。所以程序计数器是线程私有的内存。 虚拟机栈 虚拟机栈是由栈帧组成的,每个方法在执行的同时都会创建一个栈帧用于存储局部变...

2019-02-19 10:19:10

阅读数 42

评论数 0

进程间通信的方式?线程间通信的方式?

进程间通信的方式 管道( pipe ): 管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 信号量(semophore ...

2019-01-10 20:39:05

阅读数 51

评论数 0

端到端TTS:结合代码分析Tacotron模型结构

本文结合keithito实现的Tacotron代码进行分析。 参考资料 Tacotron: Towards End-to-End Speech Synthesis 端到端的TTS深度学习模型tacotron(中文语音合成) TACOTRON:端到端的语音合成 Tacotron算法的系统组...

2019-01-02 17:14:17

阅读数 1152

评论数 0

Java泛型之PECS原则

文章目录上下界通配符的副作用上界<? extends T>不能往里存,只能往外取 上下界通配符的副作用 边界让Java不同泛型之间的转换更容易了。但不要忘记,这样的转换也有一定的副作用。那就是容器的部分功能可能失效。 ...

2018-12-25 20:06:50

阅读数 66

评论数 0

HashMap的原理和动态扩容

文章目录HashMap的底层实现HashMap 和 Hashtable 的区别HashMap 的长度必须是2的幂 HashMap的底层实现 JDK1.8之前 JDK1.8 之前 HashMap 底层是数组和链表结合在一起使用也就是链表散列。HashMap 通过 key 的 hashCode ...

2018-12-07 08:48:59

阅读数 171

评论数 0

单例模式的5种实现方式

文章目录饿汉模式懒汉模式双重锁懒汉模式静态内部类模式枚举模式 饿汉模式 public class Singleton { //私有静态变量 private static Singleton instance = new Singleton(); //私有构造方法 priv...

2018-11-28 16:45:52

阅读数 53

评论数 0

Spring IoC容器源码分析

这篇文章是阅读《SpringIoC容器源码分析》后的个人笔记。 Spring 是渐进式的工具,并不具有很强的侵入性,它的模块也划分得很合理,即使你的应用不是 web 应用,或者之前完全没有使用到 Spring,而你就想用 Spring 的依赖注入这个功能,其实完全是可以的,它的引入不会对其他的组...

2018-11-28 11:01:57

阅读数 48

评论数 0

简要分析ZooKeeper基本原理

文章目录一、ZooKeeper 基本概念1、ZooKeeper 是什么?2、ZooKeeper设计目标3、ZooKeeper主要特点二、ZooKeeper 基本原理1、ZooKeeper 系统架构2、Zookeeper 角色3、ZooKeeper 写数据流程4、ZooKeeper 组件三、ZooK...

2018-11-27 14:52:18

阅读数 215

评论数 0

Redis内存淘汰机制(包括LRU原理和实现)

背景 Redis采用的过期策略是定期删除+惰性删除,但由于定期删除的随机性和惰性删除的被动型,仍然可能出现大量过期key堆积在内存里,导致redis的内存快耗尽。 为了避免这种情况,redis的内存数据集大小上升到一定大小的时候,就会开启内存淘汰功能。 Redis提供了下面几种内存淘汰策略供...

2018-11-23 15:12:58

阅读数 69

评论数 0

ElasticSearch和关系型数据库MySQL

转载自:瓦力老师の手记 https://www.imooc.com/article/22083 背景 我们开发一般的企业级Web应用,其实从本质上来说,都是对数据的增删查改进行各个维度的包装。所以说,不管你的程序如何开发,基本上,都离不开数据本身。那么,在开发企业级应用的过程中,很多同学一定遇到过...

2018-11-22 15:09:39

阅读数 100

评论数 0

ArrayList部分源码分析(初始化、add、remove及动态扩容)

文章目录简介ArrayList的源码分析初始化addremoveSystem.arraycopy()和Arrays.copyOf()方法 简介 ArrayList的底层是数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapa...

2018-11-20 16:39:24

阅读数 35

评论数 0

Spring IoC容器和SpringMVC IoC容器的关系

要想很好理解这两个容器的关系,需要先熟悉Spring是怎样在web容器中启动起来的。Spring的启动过程其实就是其IoC容器的启动过程。 Spring的启动过程: 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletCon...

2018-11-19 11:43:14

阅读数 178

评论数 0

SpringMVC原理

SpringMVC概述 SpringMVC是一个基于MVC的Web框架。 Spring Web MVC和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来: 框架性质的C层要完成的主要工作:封装Web请求为一个数据对象、调用业务层来处理...

2018-11-19 10:50:14

阅读数 44

评论数 0

基于Spring JDBC手写ORM框架

ORM 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 基本框架结构 配置文件 ...

2018-11-19 10:04:12

阅读数 405

评论数 1

TransactionalEventListener实现事务监控

问题背景 在项目中,往往需要执行数据库操作后,发送消息或事件来异步调用其他组件执行相应的操作,例如: 用户注册后发送激活码; 配置修改后发送更新事件等。 但是,数据库的操作如果还未完成,此时异步调用的方法查询数据库发现没有数据,这就会出现问题。 为了解决上述问题,Spring为我们提供了...

2018-11-19 08:58:35

阅读数 1044

评论数 0

Spring事务处理机制

文章目录事务Spring事务管理Spring事务管理器Spring事务属性事务的传播行为事务的隔离级别只读事务超时回滚规则Spring事务状态编程式事务编程式和声明式事务的区别声明式事务 事务 事务:处于同一个事务中的操作是一个工作单元,要么全部执行成功,要么全部执行失败。 在企业级应用程序...

2018-11-18 22:02:31

阅读数 44

评论数 0

Spring的声明式事务底层原理

文章目录声明式事务的概述声明式事务的初探声明式事务的源码分析 声明式事务的概述 Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。 声明式事务最大的优点...

2018-11-17 19:54:16

阅读数 844

评论数 0

AOP设计原理

文章目录AOP概述AOP的术语Spring AOPSpring AOP的工作实质 AOP概述 AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和...

2018-11-17 16:26:28

阅读数 43

评论数 0

FactoryBean与BeanFactory的区别

简介 BeanFactory BeanFactory是接口,提供了IoC容器最基本的形式,给具体的IoC容器的实现提供了规范。 FactoryBean FactoryBean也是接口,为IoC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IoC容器的基础上给Bean的实...

2018-11-17 15:56:32

阅读数 50

评论数 0

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