摘要:
一、限流操作: 为什么限流 是防止用户恶意刷新接口,因为部署在外部服务器,并且我们采用websocket的接口实现的,公司没有对硬件升级,导致程序时长崩溃,为了解决这个问题,请教公司的大佬,提出一个方案,限流操作。 但是最后找到原因所在,解决了,吞吐量1万6左右,用的测试服务器,进行测试的,我开发的 阅读全文
摘要:
首先,我们编写好的Java代码,经过编译变成.class文件,然后类加载器把.class字节码文件加载到JVM中,接着执行我们的代码,最后将类卸载出JVM。而从类加载到虚拟机到卸载出虚拟机的这一整个生命周期总共可以分为7个步骤,分别为加载、验证、准备、解析、初始化、使用和卸载,其中验证、准备和解析又 阅读全文
摘要:
为什么用分布式锁? 在讨论这个问题之前,我们先来看一个业务场景: 系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新red 阅读全文
摘要:
平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码。今天跟大家聊聊日常工作中,我都使用过哪些设计模式。 1.策略模式 1.1 业务场景 假设有这样的业务场景,大数据系统把文件推送过来,根据不同类型采 阅读全文
摘要:
我们都知道,消息从生产端到消费端消费要经过3个步骤: 生产端发送消息到RabbitMQ; RabbitMQ发送消息到消费端; 消费端消费这条消息; 这3个步骤中的每一步都有可能导致消息丢失,消息丢失不可怕,可怕的是丢失了我们还不知道,所以要有一些措施来保证系统的可靠性。这里的可靠并不是一定就100% 阅读全文
摘要:
单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点! 懒汉,线程不安全 public class Singleton { private static Singleton instance; private Singleton (){} public static synchron 阅读全文
摘要:
先列一段代码 package cn.yqh.interview; public class Singleton { private static volatile Singleton singleton = null; private Singleton() { } public static Si 阅读全文
摘要:
MySQL索引和SQL调优手册 MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方 阅读全文
摘要:
我们第一次写的单例模式是下面这样的: 1 public class Singleton { 2 private static Singleton instance = null; 3 public static Singleton getInstance() { 4 if(null == insta 阅读全文