摘要:
上一节讲到了分库分表的的实现原理,本质就是通过先改写sql语句,然后拿到数据库执行完毕再返回 分库分表后,如果根据sql语句找到对应的库和表呢 首先在配置文件配置多数据源(多库),获取配置信息注入到系统中 通过AOP切面在执行的sql的上面加上自定义注解,还有标注分库、分表的字段 AOP进行拦截根据 阅读全文
摘要:
分库分表诞生的前景 随着系统用户运行时间还有用户数量越来越多,整个数据库某些表的体积急剧上升,导致CRUD的时候性能严重下降,还容易造成系统假死 这时候系统都会做一些基本的优化,比如加索引、缓存、读写分离/主从复制,增删改都走主库,查询走从库。但是这样没法提升主库写的能力,因为主库只有一个。这时候就 阅读全文
摘要:
【Java并发编程】Synchronized关键字实现原理 它的主要特性是同步锁、非公平锁、阻塞锁、可以保证线程安全(可见性、原子性、有序性) JDK1.6之后对Synchronized有优化,有个锁升级过程 1、Synchronized之保障线程安全 多线程情况下保障线程安全的方法有很多,一般都是 阅读全文
摘要:
商城数据库概要设计 使用分库分表,给订单相关设置分表,订单号作为分表依据 商品库:商品sku表、sku属性表、sku图片表、商品spu表、spu属性表、spu图片表、商品品牌表、三级分类表等 一个sku关联多个spu表, 订单库:订单表、订单详情表、订单退款表、支付信息表、退货表、退款表、退货原因表 阅读全文
摘要:
概述 在代码中我们经常会有if…else…判断,一个条件不满足就进行下一个判断,这种就类似于责任链模式,只不过责任链模式是通过对象来过滤。 场景 在物联网行业中,一个设备会以一定的频率向服务器推送数据,方便服务器对机器进行一个数据采集和监控,这个数据的类型是多种多样的。例如娃娃机来说:会有设备状态的 阅读全文
摘要:
一、MQTT协议概念 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),它是一个极其轻量级的发布/订阅消息传输协议,轻量级指的是较少的代码和带宽。因为在物联网行业有类似充电桩、娃娃机、遥控飞行器等等这样的设备,它们的网络可能存在不稳定的情况并且 阅读全文
摘要:
Java共支持3种网络编程IO模式:BIO,NIO,AIO NIO它是Java1.4引入的一个新的IO API,可以替代标准的Java IO API。NIO支持面向缓冲区的,基于通道的ID操作,NIO将以更加高效的方式进行文件的读写操作 BIO就是你教小孩写作业,他遇到一个不会的就卡住就来问你一次, 阅读全文
摘要:
实现步骤:建立一个服务端和客户端 服务端 1、建立一个服务端 2、创建一个Selector选择器 3、创建一个Channel通道 4、绑定通道的监听端口 5、监听是否有新状态就去处理业务 public class TimServer { public static void main(String[ 阅读全文
摘要:
什么是IO IO(Input Output):可以完成硬盘文件的读和写 输出表示内存到硬盘,叫写 输入表示硬盘到内存,叫读 IO流的分类 按照流的方向进行分类: 输出表示内存到硬盘,叫写 输入表示硬盘到内存,叫读 按照读取数据方式分类: 按字节方式读取数据,一次读一个字节,等同于一次读取8个进制位, 阅读全文
摘要:
什么是HTTP 它是一种超文本传输协议,用来传输超文本 超文本:早期互联网只有文本被解析成二进制之后进行传输,后来互联网迅速的发展出现了视频、音频、图片等等信息进行传输,这种扩大后的语义称之为超文本。 传输:两台计算机之间进行通讯,超文本会被解析成二进制通过载体:光纤、电缆等等传输到另一台计算机。 阅读全文