自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试系列-高并发-基础-线程状态

高并发基础,线程的状态

2022-07-19 14:02:36 258 1

原创 java基础-异常和异常处理

java异常体系

2022-07-11 00:39:27 420

原创 MySQL系列-终于搞明白了事务和锁了

mysql事务、锁(记录锁、gap锁、next-key 锁)、redo log、binlog、undo log、

2022-07-01 01:17:54 1575 1

原创 MySQL系列五BinaryLog 和主从复制

mysql binlog介绍

2022-06-29 01:47:30 355 1

原创 分库分表-理论、方案、问题总结

分库分表理论、方案设计、带来的问题解决总结文章

2022-06-27 02:17:49 2927

原创 分库分表-数据平滑迁移

分库分表,数据迁移

2022-06-27 01:09:12 1089 1

原创 分库分表-扩容问题

分库分表扩容问题

2022-06-26 23:24:04 1264 2

原创 分库分表-分布式事务理论和方案

分布式事务、本地消息表、最大努力通知

2022-06-26 22:39:33 1944

原创 spring系列-springboot的starter机制和@Configuration机制-@Enable原理解析

springboot starter机制 @Configuration和@Enable原理

2022-06-19 19:00:16 766

原创 spring系列-Spring AOP原理&动态代理学习总结

spring aop原理、动态代理,

2022-06-17 23:57:18 268

原创 spring系列-Spring Bean创建过程和循环依赖原理分析

springbean 创建过程分析和循环依赖原理

2022-06-16 02:57:13 496

原创 消息中间件-学习总结一

消息中间件知识总结,kafka/rabbitmq相关

2022-06-15 12:37:02 553

原创 redis系列-redis基础知识总结

redis基础知识总结-持续补充

2022-06-08 02:23:58 471

原创 jvm系列-高效并发总结

jvm高效并发、Java内存模型、cpu高速缓存、线程、锁学习

2022-06-06 00:21:44 306

原创 jvm系列-类加载机制

jvm类加载机制介绍和实战应用

2022-06-05 04:54:48 208

原创 jvm-自动内存管理机制-对象-垃圾回收学习总结

对jvm自动内存管理机制的总结,主要包括对象、垃圾回收等知识.

2022-06-05 01:21:16 745

原创 jvm系列-常量池-简介

本文主要总结一下以下三个知识点:类常量池是.class字节码文件中内容,保存了Java类中大多数信息,如方法信息、变量信息等.它是.class字节码文件中的概念.如下,定义一个java类:查看字节码:其中Constant pool,就是.class文件的常量池.我们可以从中看到我们定义的常量信息和方法信息.二、运行时常量池在虚拟机的类加载阶段,jvm会把该.class的字节流所代表的静态存储结构转化为方法区的运行时数据结构.运行时常量池有以下特点:字符串常量池是专门针对String类型设计的常量池.

2022-06-01 23:58:57 6813

原创 ZooKeeper系列-存储原理-事务日志/快照文件介绍

standalone模式下ZooKeeper处理写请求流程分析一.Zookeeper请求处理流程大致说下各个类的作用:CnxnChannelHandler: netty的ChannelHandler ,用来处理zookeeper的连接、数据读取,NettyServerCnxn: 该类代表了一个客户端连接,每当一个新的连接建立,zookeeper服务端就会创建一个NettyServerCnxn,用于处理连接的数据ZooKeeperServer:代表一个单机zookeeper实例,用于时处理客户端

2022-05-23 17:08:40 1267

原创 java源码-定时工具类Timer的原理

Timer是jdk提供的定时任务执行器.我们本文主要分析一下,Timer的工作原理.一、Timer的使用方法1.1.代码package com.study.jdk.sched;import java.util.Timer;import java.util.TimerTask;public class TimerTest { public static void main(String[] args) { Timer timer = new Timer();

2022-05-17 19:27:54 587

原创 ZooKeeper实现分布式锁

一、Zookeeper实现分布式锁思路1.1.分布式锁应具备哪些条件分布式锁应该具备以下条件:在分布式环境下,在一个时间点,最多被一个请求方持有高可用、高性能的获取和释放具备可重入性具备失效机制,防止死锁具备非阻塞特性,即没有获取到锁将直接返回失败1.2.ZooKeeper实现分布式锁所具备的特性1.2.1.高可用、高性能ZooKeeper的数据是内存读取的,本身就具备高性能特性ZooKeeper具备很好的故障恢复能力在集群模式下,当Leader节点宕机后,当前集群会选出新的

2022-05-15 20:22:20 4618 2

原创 ZooKeeper系列-基础知识一

一、ZooKeeper简介1.1.什么是ZooKeeperZooKeeper: A Distributed Coordination Service for Distributed ApplicationsZooKeeper is a distributed, open-source coordination service for distributed applications. It exposes a simple set of primitives that distributed app

2022-05-14 19:59:51 905

原创 一篇文章彻底搞懂spring的ApplicationContext体系

本文主要介绍ApplicationContext在Spring中各个子类的作用和区别一、ApplicationContext子类体系图从图中我们可以得到两个重要信息:ApplicationContext的子类都是继承自AbstractApplicationContextAbstractApplicationContext的子类分为两类,一类是GenericApplicationContext的子类,一类是AbstractRefreshableApplicationContext的子类.接下来

2022-05-14 12:07:21 3458

原创 完全搞懂Spring的BeanDefintion和加载自定义BeanDefintion

一、什么是BeanDefinitionBeanDefinition描述了Bean的定义,包括该bean有哪些属性、构造函数参数、作用域、是否是抽象的等.在Spring中是根据BeanDefinition来创建Bean的.BeanDefinition是Spring非常核心的概念.1.1.BeanDefinition源码介绍public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement { /**

2022-05-11 22:55:10 895

原创 springboot之@Configuration注解原理

本文主要梳理一下Spring @Configuration注解的工作原理.环境:spring 5.0.9启动方式:@SpringBootApplicationpublic class SpringMvcApp { public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(SpringMvcApp.class,args);

2022-05-11 17:10:24 1580

原创 springmvc原理-工作原理-DispatcherServlet流程

本文主要讲springMVC的工作原理,以SpringBoot为主,内置web容器为tomcat,主要包括以下几部分:springMVC DisptacherServlet流程分析从主流程入手,逐步深入HandlerMapping 体系分析一、SpringMVC DispatcherServlet分析1.1.DispatchServlet的初始化在SpringBoot中,我们可以通过下面的方式启动一个web服务(前提你已经引入了spring-boot-starter-web模块),@

2022-04-26 15:31:08 385

原创 SpringMVC系列-基础概念介绍

本文主要介绍一下SpringMVC中射击的一些基本概念,后面还会继续补充…一、servlet简介1.1.什么是servletJava Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。我们可以使用servlet创建一个服务端应用,来处理http客户端请求,用来操作/获取数据库数据.1.2.servlet应用架构1.3.Java Servlet1.3.1.java对s

2022-04-14 02:21:56 1659

原创 ApplicationContext启动方式

1.ContextLoaderListener1.1.ContextLoaderListener源码public class ContextLoaderListener extends ContextLoader implements ServletContextListener {...}ServletContextListener源码:public interface ServletContextListener extends EventListener { /** w

2022-04-09 11:11:17 634

原创 java基础-序列化/反序列化-gson基础知识

序列化/反序列化相关的知识,gson的基础知识

2022-04-09 01:02:08 3036

原创 Tomcat源码系列-源码idea环境搭建

一、资源准备tomcat版本:8.5.70Tomcat下载:二、搭建过程2.1、搭建步骤:新建maven项目 tomcat-source将下载的tomcat文件解压,并将内容复制到tomcat-source目录下将复制过来的java文件夹设置为Sources Root删除复制过来的test文件夹(里面的测试类会报编译错误)在tomcat-source根目录下新建lib,logs,work目录在pom文件添加依赖信息(见下面pom文件详细信息)配置启动Configurations

2021-09-10 13:45:46 184

原创 剑指 Offer II 021. 删除链表的倒数第 n 个结点

给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。递归思想:class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if(head==null || n<=0){ return head; } int num = deleteNode(head,n); if(num==n){ ret

2021-08-25 14:49:05 79

原创 限流-滑动窗口计数-java实现-循环数组

一、用循环数组实现滑动窗口1.1、实现思想1.定义一个AtomicInteger array数组,每一个元素记录当前区间的计数2.定义一个long数组 times,记录对应array下标元素开始的时间.3.定义一个下标int index 记录当前正在使用的位置.4.定义每个元素的时间区间大小span = 200 msindex变化情况如下:1、如果当前时间now - times[index]>span 说明当前请求计数应当位于下一个位置的元素.index++,如果index>=

2021-08-24 19:24:43 717

空空如也

空空如也

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

TA关注的人

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