Live My Life

一入Java深似海

关于数据库索引

从数据结构的角度对索引进行分类 B+tree Hash Full-texts索引 从物理存储的角度对索引进行分类 聚簇索引 二级索引(辅助索引) 从索引字段特性角度分类 主键索引 唯一索引 普通索引 前缀索引 从组成索引的字段个数角度分类 单列索引 联合索引(复合索引) ...

正确理解MVCC

MVCC详解MVCC也就是多版本并发控制,也就是一种并发控制的方法 快照读和当前读当前读是指比如共享锁和独占锁这些操作,读取的是最新的版本,保证其他事务不能修改当前事务,对读取事务进行加锁 快照锁是指不进行加(读写)锁的非阻塞的操作,一定不是可串行的隔离级别,因为可串行的级别下会退化成当前读,也就是阻塞操作,快照读是为了提高并发性能,基于MVCC,避免加锁的开销,也就是基于多版本,相当于一个......

JVM内存结构的探索

JVM内存结构 先将java代码转换为java字节码,然后通过类加载的机制将字节码加载到内存中的方法区中,执行中类的加载类似于懒加载(延迟加载),即只有当线程执行时调用到了没有的类才会通过双亲委派区查找需要的类去加载,由类new出来的成员对象存储在JVM内存的堆中,而局部变量和方法参数等占用的内存在虚拟机栈中,一个线程一个栈(比如main) 方法分为两类:一类是普通的java方法,另一类是......
JVM

关于Mybatis分页的详细回顾

关于Mybatis分页和PageHelper

Mybatis分页有几种方法: (1)可以直接使用limit语句,在sql语句中使用#{}进行占位,传入的参数调用DAO进行在数据库层面的分页操作 (2)使用mybatis提供的PageHelper第三方插件,通过调用PageHelper的静态方法startPage(current,size),两个参数前面是具体展示第几页,第二个是展示的页码,在Springboot导入依赖并在yml文件中配......

简单实现ActiveMQ、RabbitMQ

JMS:一个规范的接口,相当于JDBCJMS消息模型有两种:p2p(点对点模式)和pub-sub(发布者-订阅者模式) JMS常用的消息种类我们主要使用BytesMessage 规范的实现主要有:ActiveMQ,Redis,HornetMQ,RabbitMQ,RocketMQ(没完全遵守JMS规范) AMQP:协议,对定了网络交换的数据格式 ActiveMQMQ都是在配置文件中加配置,依赖......

SpringBoot实现定时任务

两种方式实现SpringBoot定时任务整合quartz:首先使用util包下自带的Timmer类 12345678910111213public class TimerTaskApp { public static void main(String[] args) { Timer timer = new Timer(); TimerTa......

SpringBoot-整合Jetcache,j2cache

Springboot 整合三方(Jetcache,j2cache)的具体演示缓存:提高永久存储介质的读取效率,并且提供临时的数据存储空间可以用HashMap存储数据,不借用数据库,实现类似的缓存机制 SpringBoot提供了多种缓存,常用的有Ehcache,Redis,memcached,不指定默认为simple 在引导类中使用@EnableCaching来启用缓存在业务层方法上使用@Ca......

SpringBoot高并发秒杀

实现高性能、一致性、高可用 前端进行一次md5加密,传输过程中再进行一次加密,提高安全程度 利用逆向工程由数据库表和模板来生成对应的实体类、接口、实现类等等,需要的保留,不需要的在后续中删除 开发登陆功能是为了为后续的秒杀功能提供鉴权,只有用户才能进行秒杀 登陆页面中校验和前端的返回值不再使用return返回数据枚举或常量类,而是抛出异常来被ControllerAdvice捕获,进行......

ES基本入门操作与SpringBoot整合

ES:分布式全文搜索引擎 windiows安装之后运行bat批处理文件执行 ES没有数据库的概念,但是有索引的概念 启动Es后,直接对ES发请求,在请求路径之后跟上索引(http://localhost:9200/books),ES全面支持Restful风格的操作 123456PUT:返回boolean类型的Json数据,字段有acknowledged(操作是否成功),index(你提交的......

Redis学习笔记

Redis非关系型数据库学习笔记单进程单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率;epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率; redis......