1.业务逻辑清晰 2.优化代码,引入设计模式,引入一些比较好的工具类,jdk 8以后的lamda表达式,让代码更加简洁,类名、变量名,更加的清晰明了,注释写的好一些,看起来很...
1.业务逻辑清晰 2.优化代码,引入设计模式,引入一些比较好的工具类,jdk 8以后的lamda表达式,让代码更加简洁,类名、变量名,更加的清晰明了,注释写的好一些,看起来很...
集群模式部署 1.一般情况下,为奇数 ,5台,或者3台, 适用小集群 ,读多写少、 2. 主从架构, (leader,fowller) 3.客户端与zk进行是长链接,TCP ...
1 . 预发跑 SQL explain 2. 排除 缓存 SQL nocache 3. 看一下行数对不对 不对可以用analyze table t 矫正 4. 添加索引 , ...
每个线程保持一个本地变量的副本 ,搞一个ThreadLocal,让每个线程都维护一个变量的副本,每个线程就操作自己本地的副本
cpu可以直接操作自己对应的告诉缓存,不需要直接频繁的跟主内存通信,这样可以保证cpu的计算的效率非常的高。会有一个问题,在多个CPU 对主内存的操作,而CUP读取数据是从缓...
可见性 1lock指令对volatile修饰的变量,执行写操作的话,JVM会发送一条lock前缀指令给CPU,CPU在计算完之后会立即将这个值写回主内存,同时因为有MESI缓...
为什么要需要三次握手才能建立连接 为了初始化Sequence Number的初始值 首次 握手的隐患---syn超时
内存模型 Java内存模型规范了JVM如何提供按需禁用缓存和编译优化的方法 volatile关键字,它最原始的意义就是禁用CPU缓存。遵循Happens-Before 规则 ...
CountDownLatch和CyclicBarrier是Java并发包提供的两个非常易用的线程同步工具类,这两个工具类用法的区别在这里还是有必要再强调一下:CountDow...
如何保证 redo log 真实地 写入了磁盘 binlog 的写入逻辑比较简单:事务执行过程中,先把日志写到 binlog cache,事 务提交的时候,再把 binlog...
避免数据量大时扫描过多的记录解决:子查询的分页方式或者JOIN分页方式。JOIN分页和子查询分页的效率基本在一个等级上,消耗的时间也基本一致。下面举个例子。一般MySQL的主...