自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

leofee的博客

stay hungry stay foolish

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 玩转Spring 之 IOC容器

提到Spring,我们应该印象最深刻的就是IOC (Inversion of Control),即控制反转。关于IOC,其实是一种设计理念,只是Spring将这个理念体现的淋漓尽致,所以一说到Spring,我们固然会很快的联想到IOC。IOC还有另外一个名字叫DI (Dependency Injection)即依赖注入,其实,准确的来说,IOC是理念,那DI就是IOC的实现。关于IOC更多详细...

2020-04-16 15:13:00 283

原创 Redis分布式锁实现原理

Redis实现分布式锁原理以及Redisson源码分析

2022-09-15 11:34:21 7133

原创 ActiveMQ

ActiveMQ消息中间件的使用及原理

2022-09-04 23:55:21 1021

转载 一台服务器​最大并发 TCP 连接数多少

首先,问题中描述的65535个连接指的是客户端连接数的限制。在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢?...

2022-08-11 23:17:08 904

原创 HashMap的源码分析

文章目录前言一、HashMap重要的几个属性二、HashMap源码分析1. HashMap的初始化2.HashMap容量为什么要设置为2的幂次方整数3. HashMap的哈希算法4. HashMap添加元素的过程5. HashMap的扩容机制JDK1.7 中HashMap添加元素导致死循环1.8 对HashMap的改进HashMap和HashTable的区别前言HashMap实现于Map接口,是一种存储key-value对的容器。底层数据结构为哈希表,数组,链表,红黑树(当链表的长度大于等8时,链表

2022-01-18 17:01:35 890

原创 Synchronized原理

Synchronized 锁机制实现原理以及在JDK1.8种锁升级过程分析

2022-01-06 17:05:52 370

原创 JVM是如何定位垃圾-GC Roots 根对象枚举

JVM是如何定位需要回收的垃圾

2022-01-04 14:33:01 1344

原创 JVM的双亲委派机制

文章目录前言一、类加载器是什么?二、双亲委派原则双亲委派机制的好处:Launcher源码ClassLoader源码如何自定义一个ClassLoader如何破坏双亲委派原则总结前言JVM可识别的文件是一个个的Class,而这些Class需要正确的运行起来就需要JVM的类加载器将这些Class文件加载到内存,并对数据进行校验、转换、解析、初始化并最终形成可以被JVM直接执行的指令。而JVM的类加载器去加载Class文件的同时需要遵循一定的原则,那就是双亲委派的原则,所以本文就结合类加载器的源码去探索什

2022-01-01 16:56:19 1272

原创 多线程之线程池 ThreadPool

线程池为什么要有线程池?创建和销毁线程对象是需要消耗CPU资源,线程对象的回收也需要依靠JVM的GC创建大量的线程对象也会浪费内存空间,严重时可能会导致OOM所以线程池就是为了能够实现线程的复用,在线程池中总会有一些线程处于活跃状态

2021-12-14 18:18:27 624

原创 Java对象在内存中存储布局及大小

对象在内存中的存储布局关于该问题需要拆分为两种情况分析:普通对象:对象头markword: 8个字节Class pointer: 属于哪个class,-XX:+UseCompressedClassPointers 为4字节,否则为8字节。实例数据InstantData:引用类型: -XX:+UseCompressOops 开启则占4字节,否则占8字节对齐填充Padding:保证对象的大小为8的整数倍。数组对象:markword: 8个字节class po

2021-08-18 17:55:04 240

原创 JDK动态代理和Cglib动态代理

代理设计模式代理设计模式就是对目标方法的执行提供了代理,在代理对象中才去真正的执行目标方法,在代理对象中我们可以增加自己的一些功能。代理设计模式的目的就是对目标方法的增强,在不修改原来设计的情况下,对方法行为进行增强。代理设计模式的具体实现表现为三种:静态代理JDK动态代理Cglig动态代理比如有这样一个场景:在执行一个方法前和执行之后打印系统的当前时间。接口如下:/** 接口*/public interface Hallo { /** * hello

2021-04-27 14:21:30 167 1

转载 UML时序图(Sequence Diagram)学习笔记

转载于:(https://blog.csdn.net/fly_zxy/article/details/80911942)https://blog.csdn.net/fly_zxy/article/details/80911942 什么是时序图时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。让我们来看一看visio2016对时序图的的解释。时序图的元素我们在画

2020-11-23 14:57:49 723

原创 玩转 Spring 之 配置类解析ConfigurationClassPostProcessor

ConfigurationClassPostProcessor实现了BeanDefinitionRegistryPostProcessors。关于BeanDefinitionRegistryPostProcessors定义如下:public interface BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor { void postProcessBeanDefinitionRegistry(BeanDefinit

2020-10-16 17:16:45 659 1

原创 手把手玩转Spring 之 ApplicationContextAware

ApplicationContextAware 是Spring容器定义的一个接口,通常情况下我们所有的Bean的生命周期都是交给Spring容器去管理,如实例化,初始化,销毁等。而ApplicationContextAware的作用就是提供给我们在容器启动时能实现自定义的扩展功能。如:我们一个接口如果有多个实现的情况下,如何在运行时能够自动获取到对应的实现类,并完成我们的业务逻辑。如果我们只...

2020-04-13 17:17:43 398

原创 手把手玩转Spring 之 FactoryBean

FactoryBean是定义在Spring中的一个带泛型的接口,从字面意思我们可以理解为一个工厂Bean,工厂Bean的作用就是帮助我们生成我们所需要的定制化的Bean,我们在以往的项目中如果单纯的利用在 @Configuration的配置* 类去实例化这种复杂的对象,势必会导致Configuration配置的越来越复杂,所以我们就可以借助FactoryBean把某些复杂的配置的封装起来。一起看...

2020-04-09 15:29:31 537

原创 shiro小而美的安全框架

shiro是一个java的安全框架,主要的功能包括Authentication(身份认证),Authorization(授权管理),subject(用户主体),Realm(数据源)。

2017-05-23 16:50:50 458

空空如也

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

TA关注的人

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