深入理解JVM - 垃圾收集器

垃圾回收主要是要解决3件事情: 那些内存需要回收? 如何回收? 什么时候回收? 术语解释 并行/并发 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发...

2020/01/10 09:22
7.2K
如何成为优秀的技术主管?你要做到这三点

转至:https://mp.weixin.qq.com/s/0LVj1IcWMWAuUeY6U7r4hg 阿里妹导读:技术主管,又叫「技术经理」,英文一般是 Tech Leader ,简称 TL。随着工作经验的不断积累,能力的不断提升,每个人都...

深入理解JVM - 内存溢出实战

Java堆溢出 Java堆用于存储对象实例,只要不断地创建对象,当对象数量到达最大堆的容量限制后就会产生内存溢出异常。最常见的内存溢出就是存在大的容器,而没法回收,比如:Map,List等。 内...

2019/12/31 14:29
7.2K
深入理解JVM - JVM内存模型

各版本的差异 JDK1.6 在JDK1.6 的时候运行时常量池在方法区中 JDK1.7 在JDK1.7 的时候运行时常量池在堆中 JDK1.8 在JDK1.8 的时候,JVM内存模型直接将方法区移到了本地内存中,叫元数据空间。...

2019/12/25 16:36
8.4K
Mybatis 源码(六)Mybatis-Spring框架实现原理

我在使用mybatis-spring过程中一直有一个疑问,在Mybatis 源码(一)总揽中我提到过,SqlSession和Mapper对象的声明周期是方法级别的,也就是每个请求的SqlSession和Mapper对象是不一样的,是...

Mybatis 源码(五)Mybatis 中的数据读写

数据读写的本质 不管是哪种ORM框架,数据读写其本质都是对JDBC的封装,其目的主要都是简化JDBC的开发流程,进而让开发人员更关注业务。下面是JDBC的核心流程: 注册 JDBC 驱动(Class.forNa...

2019/11/26 16:18
423
StackOverflowError 栈溢出实战

栈溢出的原因 在解决栈溢出问题之前,我们首先需要知道一般引起栈溢出的原因,主要有以下几点: 是否有递归调用 循环依赖调用 方法调用链路很深,层级到达10W左右就会出现栈溢出 问题现象 我...

微服务化的十个设计要点

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

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

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

2019/11/12 14:05
393
Mybatis 源码(四)Mybatis Excuter框架

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

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

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

2019/10/30 14:38
717
OkHttpClientUtil

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

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

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

2019/10/22 20:09
1.1K
Mybatis 源码(一)总揽

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

2019/10/22 15:38
1.4K
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....

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

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

junit 单元测试事务自动回滚

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

2019/10/14 10:25
3.7K
Spring 源码(十一)Spring流程汇总

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

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

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

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

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

2019/10/01 16:48
1.8W

没有更多内容

加载失败,请刷新页面