摘要:1.单线程插入数据改为多线程处理 2.单条插入数据改为批量插入数据 3.数据分表
阅读全文
摘要:Redis 可以实现分布式的缓存,Map 属于本地缓存,只能存在创建它的程序里 Redis 的缓存可以持久化,Map 是内存对象,程序一重启数据就没了 Redis 缓存有过期机制,Map 本身无此功能 Redis 可以处理每秒百万级的并发,是专业的缓存服务,Map 只是一个普通的对象 Redis 可
阅读全文
摘要:1.java在多线程操作共享资源的变量时,并发会产生数据不准确的问题,因此需要加入锁机制,保证同一时间内只有一个线程进行数据操作。 2.synochnized加锁: 修饰实例方法:作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁 修饰静态方法:给当前类加锁,作用于类的所有实例对象修饰代码
阅读全文
摘要:水平分表:以字段为依据,按照一定策略(hash、range 等),将一个表中的数据拆分到多个表中。垂直分表:以字段为依据,按照字段的活跃性,将表中字段拆到不同的表(主表和扩展表)中。 水平分表的方式: 1.范围路路由:选取有序的数据列 (例如,整形、时间戳等) 作为路路由的条件,不不同分段分散到不同
阅读全文
摘要:问题分析:CPU ⾼一定是某个程序长期占⽤了 CPU 资源。1)所以先需要找出那个进程占用 CPU ⾼。top 列列出系统各个进程的资源占⽤用情况。2)然后根据找到对应进⾏行⾥里哪个线程占⽤用 CPU ⾼高。top -Hp 进程 ID 列列出对应进程⾥里里⾯面的线程占⽤用资源情况3)找到对应线程 I
阅读全文
摘要:一.使用命令 1. table_name 表名称 index 索引名称 ALTER TABLE table_name DROP INDEX index_name; 2.使用DROP INDEX命令 DROP INDEX命令可以直接删除索引 DROP INDEX index_name ON table
阅读全文
摘要:1.哈希算法 哈希(Hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。 例如:数据库中分表操作,选取某个列的值进行hash运算,然后根据Hash的结果分配到不同的表中 以id为例,我们的数据库表中的数据亮一天预计数据量可以达到300万,长远的估计该
阅读全文
摘要:思路1.首先设计一张表,记录任务状态,执行时间,已执行,未执行等等其次任务来的时候写入表中,任务标识未执行如果此时有1000个任务都过来了,那么表中也有1000行记录接着JVM内存溢出OOM,程序挂了,未执行的任务就知道是哪些了. 系统再次启动的时候,依次读取未执行的任务加入线程池中复盘,二次执行
阅读全文
摘要:1.你们的服务部署在多少台机器上面? 集群部署,至少两台,2核4G,一台如果挂掉了可以容灾的切换。 2.RocketMq设置了多少消费者?如何保证高可用的问题。 一个集群可以有多个消费者。是3个消费者,可以设置上下线。 默认情况下就是集群消费,这种模式下⼀一个消费者组共同消费⼀一个主题的多个队列列,
阅读全文
摘要:package test11; public class PrintABC { private static int state = 0; private static final Object lock = new Object(); public static void main(String[
阅读全文
摘要:public class code3 { private static int count = 0; private static final Object object = new Object(); public static void main(String[] args) { new Thr
阅读全文