自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

java小马哥的博客

java小马哥获得海量最新BATJ视频资料加群:345353515 备注(007)

  • 博客(11)
  • 收藏
  • 关注

原创 死磕Spring源码-Spring Boot源码分析

SpringBoot通过内置的tomcat带动ioc容器的启动.下面通过源码分析SpringBoot的启动流程.首先找到启动程序的入口,从run方法点进去.如下图可知,首先创建一个SpringApplication对象通过initialize(sources);方法进行初始化,sources是我们传入的主配置类.initialize方法首先将我们的主函数类转化成数组保存...

2019-07-25 14:14:48 894

原创 死磕Spring源码-SpringAOP逆天操作教你如何征服面试官

Spring AOP 原理简单说说 AOP 的设计:每个 Bean 都会被 JDK 或者 Cglib 代理。取决于是否有接口。 每个 Bean 会有多个“方法拦截器”。注意:拦截器分为两层,外层由 Spring 内核控制流程,内层拦截器是用户设置,也就是 AOP。 当代理方法被调用时,先经过外层拦截器,外层拦截器根据方法的各种信息判断该方法应该执行哪些“内层拦截器”。内层拦截器的设计就...

2019-07-25 14:11:08 1038

原创 全新视角探秘性能优化-SQL底层执行过程

本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,知道了 MySQL 由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这些问题。一 MySQL 基础架构分析1.1 MySQL 基本架构概览下图是 MySQL 的一个简要架构...

2019-07-24 13:52:48 173

原创 死磕Spring源码-Spring事务深度源码剖析

什么是事务?  事务,即数据库事务。是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。  通常,事务的正确执行会使数据库从一种状态转换为另一种状态。事务的特性(ACID原则)原子性(atomicity) 即不可分割性,事务要么全执行、要么全不执行。一致性(consistency) 事务的执行使得数据库从一种正确状态转换成另外一种正确状态。隔离性(isolati...

2019-07-24 13:48:18 193

原创 死磕Spring源码- spring Ioc 源码分析 (一)

1,AnnotationConfigApplicationContext首先从这个类开始说明,因为Spring基于注解加载配置类是从这里开始的。一:为我们做了什么?首先AnnotationConfigApplicationContext 继承了GenericApplicationContext,所以AnnotationConfigApplicationContext 初始化的时候会走一下...

2019-07-23 15:07:14 428

原创 死磕Spring源码-常见底层核心注解

一:Spring框架功能整体介绍二:根据Spring架构图可知,包含以上的模块儿。下面逐个模块儿进行解释。1:IOC 和 DI(Inversion of Control I DependencyInjection ( IoC/DI ) 最最最最核心的功能是 :通过多级缓存解决循环依赖问题。2:Spring Core Container: 模块作用:Core ...

2019-07-23 14:19:43 2290 2

原创 Java互联网架构-Spring源码分析深入浅出AOP

一:调用AOP 代理对象本章结合源码讲解AOP的代理对象创建完成是如何调用的。1,调用AOP代理类的方法假设Calculate类是切点,里面有一个add方法。此时执行Calculate.add的方法的时候直接进入JdkDynamicAopProxy类中的invoke方法。2,invoke方法不用想在调用到这里的时候肯定是invoke的方法对增强器进行调用,那么看看...

2019-07-15 15:48:29 129

转载 Java互联网架构-程序员级别高低的分水岭JVM虚拟机

与其他语言相比,例如c/c++,我们都知道,java虚拟机对于程序中产生的垃圾,虚拟机是会自动帮我们进行清除管理的,而像c/c++这些语言平台则需要程序员自己手动对内存进行释放。虽然这种自动帮我们回收垃圾的策略少了一定的灵活性,但却让代码编写者省去了很多工作,同时也提高了很多安全性。(因为像C/C++假如你创建了大量的对象,但却由于自己的疏忽忘了将他们进行释放,可能会造成内存溢出)。何为垃...

2019-04-17 13:22:18 198

转载 Java互联网架构-带你领略Tomcat8源码的世界

什么是TomcatTomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。为什么我们需要用到Tomcat如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序配置Tomcat运行Tomcat需要JDK的支持【Tomca...

2019-04-15 14:54:33 220

转载 Java互联网架构-深入浅出线程安全从原子性到手写实现java锁

大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理。今天就带大家读懂 CAS 是如何保证操作的原子性的,以及 Java8 对 CAS 进行了哪些优化。synchronized:大材小用我们先来看几行代码:public class CASTest {static int i = ...

2019-04-14 21:44:46 119

原创 Java互联网架构-亿级数据量系统的性能保证分库分表

分片技术的由来关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量、连接数、处理能力等都很有限,数据库本身的“有状态性”导致了它并不像Web和应用服务器那么容易扩展。在互联网行业海量数据和高并发访问的考验下,聪明的技术人员提出了分库分表技术(有些地方也称为Sharding、分片)。同时,流行的分布式系统中间件(例如MongoDB、ElasticSearch等)均自身友好支持Sharding,...

2019-04-14 14:36:02 465

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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