• Redis进阶

    管道管道技术最显著的优势是提高了redis服务的性能。Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。服务端处理命令,并将结果返回给客户端。Red...

    Redis基础

    WhatRedis是一个完全开源的,用C语言编写的一个单线程的高性能(key/value)内存数据库,基于内存运行并支持持久化的nosql数据库。主要用来做数据缓存,单不仅仅是做数据缓存,比如Redis计数器生成分布式唯一主键,实现分布式锁、队列、会话缓存。How...

    B+树原理及慢查询优化

    文章出处:https://tech.meituan.com/2014/06/30/mysql-index.htmlB+树如上图,是一颗b+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35,包含指针P...

    MySQL查询优化

    开启日志优化器查询:--开启setoptimizer_trace="enabled=on";--执行一条sql--查看日志信息select*frominformation_schema.OPTIMIZER_TRACE;--关闭setoptimizer_trace="en...

    Spring AOP

    概念与OOP对比,面向切面,传统的OOP开发中的代码逻辑是自上而下的,而这些过程会产生一些横切性问题,这些横切性的问题和我们的主业务逻辑关系不大,这些横切性问题不会影响到主逻辑实现的,但是会散落到代码的各个部分,难以维护。AOP是处理一些横切性问题(不影响主业务逻辑),AOP的编程思想就是把这些问题...

    Spring IOC

    WHAT?什么是SpringIOC?控制反转(InversionOfControl),面向对象编程中的一种设计原则,可以用来减低计算机之间的耦合度,其中最常见的方式叫依赖注入(DependencyInjection),还有一种叫依赖查找(DependencyLookup)。DependencyInj...

    线程池

    目的:减少系统维护的开销。解耦,运行和创建分开。线程可复用。使用:java.util.concurrent.Executors.此包中所定义的Executor、ExecutorService、ScheduledExecutorService、ThreadFactory和Callable类的工厂和实用...

    并发编程

    特性:原子性:要么不执行要么全部执行。可见性:当一个线程修改了共享变量,其它线程能立即感知。有序性:禁止指令重排序,保证线程间操作的有序性。...

    volatile

    特性:同步线程工作内存、主内存的共享变量,保证了并发编程的可见性。禁止指令重排序,保证了并发编程的有序性。无法保证并发编程的原子性???本质是因为汇编指令lock先来看看下面这段代码publicstaticbooleanhasAnswer;publicstaticvoidmain(String[]a...

    synchronized原理

    概念synchronized是Java中的关键字,是利用锁的机制来实现同步的。锁机制有如下两种特性:互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。可见性:必须确...