自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 JDK源码解析--ArrayList

一、ArrayList简介ArrayList是用一个数组实现的集合,支持随机访问,元素有序且可以重复。 ArrayList是一种变长的集合类,基于定长数组实现。 ArrayList允许空值和重复元素,当在其添加的元素数量大于其底层数组容量是,其会通过扩容机制重新生成一个更大的数据。 ArrayList底层基于数组实现,所以可以保证在0(1)复杂度下完成随机查找操作。 ArrayList并非线程安全类,在并发环境下,多个线程同时操作ArrayList,会引发不可预知的异常或错误。Random

2022-04-11 07:29:34 241 1

原创 JDK源码解析--Object类

作为一名java开发,肯定会知道object类,object类是所有类的基类,当一个类没有直接继承任何类时,默认继承object类,所以也被称之为“上帝类”。一、继承Object的时机由此,我们抛出一个问题,object类时什么时候成为一个类的父类的?是编译时还是虚拟机处理的时候。这里我们通过JDK自带的反编译工具javap来看一下就明白了可以看到在编译时期就已经继承了object类二、类中方法解析这是object类中方法,其中...

2022-04-11 05:10:40 444

原创 SpringCloud-Gateway高级应用及解析

Gateway作为SpringCloud体系中的网关,可以用来进行鉴权,安全控制,日志统一处理,易于监控,限流等。

2022-03-14 02:21:33 1408

原创 Dubbo服务引用解析

上一次我们讲解了Dubbo的服务暴露, 这次我们来看一下Dubbo是如何调用服务的

2022-03-07 01:15:41 1555

原创 Dubbo服务暴露(导出)流程

Dubbo作为一个Rpc框架,服务端必须得将自己暴露出去,以便客户端的调用,所以我们来看一下dubbo是如何将服务进行暴露的。首先我们知道,启动dubbo得进行一些配置,如下图所示的一些dubbo标签(关于spring为什么能识别dubbo标签,可以搜索一下spring的schema机制,这里不做阐述,因为不是重点)然后我们可以在下图的文件中找到两个命名空间处理器(因为dubbo是由阿里巴巴捐赠给apache),点进apache的文件里面 进去之后可以看到就...

2022-02-20 22:15:02 1324

原创 Java中的Spi以及Dubbo中的Spi机制解析

SPI 全称为 Service Provider Interface,是一种服务发现机制。本质是由将接口的实现类的全限定名配置在文件当中,由服务加载,这样可以在运行时,动态的为接口加载实现类。举个例子,我们在用JDBC连接数据库时,创建连接就能直接获取到Mysql或者Oracle,Java时如何调用到相对应的驱动呢?我们将连接数据库看作一个扩展点,其他数据都是该点的实现,当我们需要连接相对应的的数据库时,Spi会帮助我们发现有哪些实现并加载。一、J...

2022-02-16 00:38:05 556 1

原创 Netty通信技术(一)

一、简介一、概述Netty是JBOSS提供的一个开源框架, 本质为网络应用程序框架, 提供了非阻塞的、事件驱动的网络应用程序框架和工具,便于快速开发出高性能、高可靠性的网络服务端以及客户端。二、核心架构上图是netty的核心架构,从官网上截取的, 有兴趣的可以去看看核心:可拓展的事件模型 统一的通信API,简化了通信编码 零拷贝和丰富的字节缓冲区传输服务:支持Socket和Datagram(数据报) HTTP传输 In-VM Pi...

2022-01-06 17:58:12 760

原创 SpringBoot--自动装配之Import注解以及源码分析

@Import以及SpringBoot自动装配

2021-12-30 18:02:21 1269

原创 SpringBoot--自动装配原理详解及应用之Conditional注解

SpringBoot作为当今开发的主流框架,作为一名java开发是不可能的不了解的,这个东西是典型的用起来很简单,但是了解到原理之后就会不自觉地感叹,真TMNB! 本文主要讲解其自动装配的原理,以及我们日常中怎么去用到这块的内容。一、Conditional注解 首先我们先建立一个Student对象,里面没有任何属性public class Student {}然后我们建立一个命题:如果项目中导入了fastjson,则会将Student放...

2021-12-06 00:10:41 1268

原创 Java中的关键字volatile解析

volatile是研究Java并发编程绕不过去的一个关键字,先说结论:volatile的作用: 1.保证被修饰变量的可见性 2.保证程序一定程度上的有序性 3.不能保证原子性下面,我们将从理论以及实际的案例来逐个解析上面的三个结论 一、可见性 在JVM的当中...

2021-09-15 01:02:54 428 2

空空如也

空空如也

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

TA关注的人

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