JAVA queue

Queue基本功能 FIFO add对应remove,element, 在队列尾部新增元素,队列头部取出、查看元素,失败时抛出异常 offer对应poll,peek 失败时返回null, ArrayQueue 非线程安全 有容量大小,基于数组.数组长度为容量+1,tail指针的位置不存储元素。 不...

2019-05-23 19:30:18

阅读数 34

评论数 0

Spring事务原理深入解析(AOP,Threadlocal, 隔离级别,传播级别)

文章目录一、摘要二、基础知识介绍2.1 JDBC2.1.1 简单示例2.1.2 JDBC事务存在的问题:2.1.2 Spring事务解决该问题的方式2.2 AOP设计思想2.2.1 代理模式2.2.2 静态代理2.2.3 动态代理2.2.4 为什么使用AOP2.2.5 AOP会使用哪种代理2.2....

2019-05-20 20:23:43

阅读数 28

评论数 0

什么是微服务:

什么是微服务: 独立的无状态,易伸缩(可以水平扩展),使用消息来和其他组件之间建立边界,从而解耦,独立,去中心化,自治。快速适应变化。 优点: 松耦合独立部署,小团队独立开发,易于开发理解维护。 快速迭代,快速适应变化。 易于扩展。 带来的问题: 增加了复杂性。 ...

2019-05-20 14:13:21

阅读数 17

评论数 1

Spring-Boot启动流程

文章目录一、创建SpringApplication对象二、启动,run三、refresh修改容器四、refresh之:执行BeanFactoryPostProcessor来扩展功能4.1 执行BeanDefinitionRegistryPostProcessors4.2 执行BeanFactory...

2019-04-24 18:05:02

阅读数 15

评论数 0

Spring AOP源码解析:三:代理对象的执行,各种Advice的执行流程

Spring AOP源码解析:三:代理对象的执行,各种Advice的执行流程名词介绍通用执行流程每种Advisor的执行流程 名词介绍 Advice: 即用来增强被代理对象功能的一个方法。比如第一章我们讲的: AspectJAroundAdvice对应@Around, AspectJMet...

2019-04-15 20:53:05

阅读数 37

评论数 0

InndoDb逻辑存储结构及内存&磁盘结构

InndoDb逻辑存储结构及内存&磁盘结构表空间及文件系统表空间每个表一个表空间undo 表空间段区页行索引索引结构聚集索引索引primary key非聚族索引secondary keyDoublewrite Buffer 两次写Redo Logundo log磁盘管理磁盘IO预读...

2019-04-10 21:35:17

阅读数 35

评论数 0

Spring事务实现原理及源码分析

Spring事务实现原理及源码分析流程介绍主流程关键对象介绍PlatformTransactionManager获取对应的TransactionManager事务的信息TransactionInfo当前事务状态TransactionStatus传播对象实现原理隔离级别对开始事务的影响(获取Tran...

2019-04-04 17:29:05

阅读数 38

评论数 0

事务隔离级别简易演示列子

事务隔离级别简易演示列子读未提交读未提交读已提交可重复读快照读与当前读快照建立在第一次执行查询语句的时候 读未提交 建表 CREATE TABLE user ( id int(11) NOT NULL, name varchar(20) DEFAULT NULL, age int(11) NOT ...

2019-03-17 17:39:05

阅读数 18

评论数 0

Spring AOP源码解析:二:代理对象的创建

Spring AOP源码解析:二:代理对象的创建 一、代理的类型 众所周知,Spring AOP代理的方式有2种,JDK的动态代理和Cglib的代理,前者必须实现接口,后者可以通过继承的方式实现。 二、AOP抽象 先看一段代码,AbstractAutoProxyCreator类,creat...

2019-03-12 21:46:13

阅读数 45

评论数 0

Spring AOP源码解析:一:Advisor获取流程

Spring AOP源码解析:一:Advisor获取流程一、流程介绍二、主流程源码介绍三、获取增强Advisor 一、流程介绍 Spring AOP 是通过BeanPostProcessor来进行处理的。每当实例化一个Bean时,会通过这个处理器来进行增强。 分为三步。 获取所有的增强...

2019-03-12 21:12:45

阅读数 60

评论数 0

MYSQL查询数据的同时准确地查出记录数

MYSQL查询数据的同时准确地查出记录数问题描述解决方法存在的问题 问题描述 生产环境中经常会出现需要查询数据的同时查询数据总数,然后根据总数来进行分页或其他操作。如果分成两个SQL会出现问题,就是查询到记录后总数也发生了变化。 如查询所有状态为1的记录. select * from t1...

2019-02-15 11:12:31

阅读数 83

评论数 0

MySql事务隔离级别

MySql事务隔离级别(解决哪些问题及实现原理)隔离级别介绍read-uncommittedread-committedrepeatable-readserializable隔离级别实现原理可重复读可重复读解决幻读问题锁介绍快照读与当前读(MVCC (Multi-Version Concurren...

2019-02-14 20:44:41

阅读数 60

评论数 0

JAVA基础:线程池ThreadPoolExecutor及Future原理解析

JAVA基础:线程池ThreadPoolExecutor及Future原理解析线程池的作用ThreadPoolExecutor实现原理 线程池的作用 为了降低在处理短时间任务创建与销毁线程的代价。 控制线程的数量,过多的线程会带来调度的开销以及资源的占用。 一定程度上提高程序的稳定性和...

2019-02-14 19:38:52

阅读数 28

评论数 0

JAVA基础:Condition原理解析

JAVA基础:Condition原理解析Condition用途Condition原理介绍await()阻塞线程signal()唤醒线程Condition源码分析await()释放锁阻塞线程signal()通知await()线程继续运行 Condition用途 我们知道当多个线程需要访问一个共享...

2019-01-18 15:07:42

阅读数 61

评论数 0

AQS学习

AQS学习: 初识AQS public final void acquire(int arg) { // 由子类重写的方法先取尝试一下能不能获取到锁 if (!tryAcquire(arg) &&a...

2019-01-08 17:56:21

阅读数 37

评论数 0

ThreadLocal原理

JAVA基础:ThreadLocal原理解析ThreadLocal用途ThreadLocal原理看似一个容器实际的容器ThreadLocalMap弱引用引用关系图 ThreadLocal用途 当需要声明一个Singleton的对象,想在多个线程中使用这个声明,每个线程使用自己独立的对象时。或者...

2019-01-02 20:16:29

阅读数 33

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭