加载中
为监控而生的多级缓存框架 layering-cache

简介 layering-cache是在Spring Cache基础上扩展而来的一个缓存框架,主要目的是在使用注解的时候支持配置过期时间。layering-cache其实是一个两级缓存,一级缓存使用Caffeine作为本地缓存,...

微服务化的十个设计要点

原文: https://juejin.im/entry/5b35a770e51d4558cc35d95c 微服务有哪些要点呢?先看下图是 SpringCloud 的整个生态。 设计要点一:API 网关 在实施微服务的过程中,不免要面临服务的聚合与...

线上问题排查,这些命令你一定用得到!

原文: 线上问题排查,这些命令你一定用得到! 一、了解机器连接数情况 问题:1.2.3.4的sshd的监听端口是22,如何统计1.2.3.4的sshd服务各种连接状态(TIME_WAIT/ CLOSE_WAIT/ ESTABLISHED)的...

Mybatis 源码(四)Mybatis Excuter框架

我们在上一章介绍到,Mybatis会将所有数据库操作转换成iBatis编程模型,通过门面类SqlSession来操作数据库,但是我们深入SqlSession源码我们会发现,SqlSession啥都没干,它将数据库操作都委...

11/06 11:31
34
Mybatis 源码(三)Mybatis 代理模块

在使用Mybatis的时候大家可能都有一个疑问,为什么只写Mapper接口就能操作数据库? 它的主要实现思想是:使用动态代理生成实现类,然后配合xml的映射文件中的SQL语句来实现对数据库的访问。 ...

10/30 14:38
36
OkHttpClientUtil

OkHttp 工具类 /** OkHttpClient工具 @author yuhao.wang3 */ public abstract class OkHttpClientUtil { private static final Logger logger = LoggerFactory.getLogger(OkHttpClientUtil....

10/24 18:34
18
Mybatis 源码(二)Mybatis 初始化

Mybatis 初始化是由SqlSessionFactoryBuilder来完成的,主要的工作解析XML文件,并将解析的类容封装到Configuration类中,最后将Configuration类封装到SqlSessionFactory中并返回,自此初始化...

10/22 20:09
68
Mybatis 源码(一)总揽

整体架构 这只是MySql的一个逻辑划分架构。 接口层:通SqlSession类提供对数据库访问能力,隐藏了后续复杂的处理逻辑。 核心处理层:主要负责执行SQL,并返回结果。 基础支撑层:对一些基础功...

10/22 15:38
80
Mybatis 配置详解

完整配置 mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config....

10/15 18:23
18
JDBC 面试要点

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据...

10/14 16:44
16
junit 单元测试事务自动回滚

junit 单元测试事务会自动回滚。 通过@Rollback(true)注解来实现,默认是true,事务会回滚,可以不写。false时事务不会回滚,数据会写到数据库中。 package com.xiaolyuh.service; import j...

Spring 源码(十一)Spring流程汇总

Spring 容器初始化流程 Spring 容器初始化流程大致流程如下: this():注册内置的BeanPostProcessor的BeanDefinition到容器 register(annotatedClasses):注册配置类 BeanDefinition 到容器 ...

10/06 17:40
95
Spring 源码(十)Spring Aware自动装配原理

Spring Aware自动装配有两种实现方式: 在初始化Bean的initializeBean方法中执行invokeAwareMethods方法 通后置处理器ApplicationContextAwareProcessor来实现的,它实现了BeanPostProcessor...

10/01 17:44
48
Spring 源码(九)@Autowired注解实现原理(Spring Bean的自动装配)

@Autowired注解的实现过程,其实就是Spring Bean的自动装配过程。通过看@Autowired源码注释部分我们可以看到@Autowired的实现是通过AutowiredAnnotationBeanPostProcessor后置处理器中实现的...

10/01 16:48
1K
Spring 源码(八)循环依赖

循环依赖是指两个或者多个Bean之前相互持有对方。在Spring中循环依赖一般有三种方式: 构造函数循环依赖 setter方法循环依赖 prototype 范围的依赖处理 构造函数循环依赖 在Spring中构造函数...

09/28 15:34
1K
Spring 源码(七)Spring 事务

注册后置处理器开启对事务的支持 @EnableTransactionManagement @EnableTransactionManagement注解的主要作用是开启对事务的支持,源码如下: @Target(ElementType.TYPE) @Retention(Retenti...

09/25 12:37
93
Java中的指令重排

在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排序。重排序分3种类型: 编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 指令级并...

09/25 12:36
12
Java内存模型

线程之间的通信和同步 线程之间的通信和同步是并发编程领域的关键问题。 线程之间的通信 通信是指线程之间以何种机制来交换信息。线程之间的通信一般有两种方式:共享内存和消息传递。在jav...

09/25 12:36
12
线程安全的单例模式

懒汉式 加方法锁 public class Singleton { private static Singleton singleton = null; private Singleton() { } public static synchronized Singleton getInstance() { if (Objec....

09/25 12:36
14
并发情况如何提升同步代码块的性能

使用并发编程的目标是为了提升系统性能,引入多线程后,其实会引入额外的开销,如线程之间的协调、增加的上下文切换,线程的创建和销毁,线程的调度等等。过度或不恰当的使用,可能会导致多线...

09/25 12:36
18

没有更多内容

加载失败,请刷新页面

返回顶部
顶部