自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring循环依赖详细总结

这个a从三级缓存中获取a的半成品对象,存入二级,同时删除三级缓存中的a,这个时候a返回,b对象就拿到了a返回的对象,完成自身实例化,然后b(成品对象)对象存入一级缓存,同时从三级缓存中删除,这个时候b对象完成同时就返回,这个时候a对象就拿到了b对象返回的对象,完成自身实例化,然后a(成品)对象存入一级缓存,同时从二级缓存中删除。

2023-09-09 17:56:20 71

原创 es sroll分页查询

es

2023-02-11 16:32:57 221

原创 windows下protoc下载安装配置

proto

2022-12-04 19:37:39 6463

原创 数据库实现age排名

数据库实现排名

2022-10-19 22:26:33 656

原创 深入理解Java类加载机制lqh

如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去加载。(不包括构造器中的语句。以Tomcat为例,其每个Web应用都有一个对应的类加载器实例,该类加载器使用代理模式,首先尝试去加载某个类,如果找不到再代理给父类加载器这与一般类加载器的顺序是相反的。...

2022-07-26 22:29:36 96

原创 Redisson分布式锁-看门狗深入刨析

package com.redis.stock.redisstock.controller;import org.redisson.Redisson;import org.redisson.api.RLock;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.web.bind.annotation.GetMapping;import org.springframewo

2022-04-19 21:49:09 385

原创 vue脚手架搭建前端项目

Vue脚手架的基本用法Vue 脚手架用于快速生成Vue项目基础架构Vue脚手架 使用步骤一、安装Vue脚手架:npm install -g @vue/cli是否安装成功,查看版本vue -Vvue显示版本号信息如下:@vue/cli 4.5.9二、利用Vue的脚手架创建vue项目1、基于 交互式命令行的方式,创建新版vue项目vue create vue-project2、基于图形化界面的方式,创建 新版vue项目vue ui3、基于2.x的旧版,创建 旧版vue项目npm i

2022-04-14 22:00:39 561

原创 dubbo搭建示例详细版

Dubbo是什么Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,

2022-03-10 20:53:03 588

原创 mysql主从复制原理

0、为什么需要主从复制?1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。2、做数据的热备3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。1、什么是mysql的主从复制?MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复

2022-03-10 20:42:03 812

原创 InnoDB解决幻读方案——LBCC&MVCC原理

InnoDB解决幻读的方案——LBCC&MVCC

2022-03-09 20:54:52 383

原创 线程池原理(非常详细)

原文链接:https://blog.csdn.net/weixin_28760063/article/details/81266152Java并发编程:线程池的使用在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?

2022-03-07 20:54:07 1192

原创 Spring IOC 源码分析

原文转自 : https://javadoop.com/post/spring-ioc回首页Spring IOC 容器源码分析创建时间: 2017-11-15 00:00:00Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相

2022-03-04 21:44:21 215

原创 k8s搭建详细版

K8s集群搭建先搭建master,再搭建node一.master节点搭建1.本次教程,使用 docker 18.09.9 和 kubelet-1.16.4,要求 centos7.6 以上版本cat /etc/centos-release2.关闭 selinux查看 selinux 是否关闭先设置临时关闭永久关闭3.关闭 swapk8s 要求系统关闭,否则安装过程会报错查看系统是否关闭了 swap临时禁用:swapoff -a永久禁用:sed -i.bak ‘/swap/s/^/#/

2021-11-27 22:32:06 772

原创 MAC上Git安装与GitHub基本使用之雷霆出击

MAC上Git安装与GitHub基本使用目录安装git创建ssh key、配置git提交本地项目到GitHub一、安装GitMAC 上安装Git主要有两种方式首先查看电脑是否安装Git,终端输入:git安装过则会输出:WMBdeMacBook-Pro:~ WENBO$ gitusage: git [–version] [–help] [-C ] [-c name=value][–exec-path[=]] [–html-path] [–man-path] [–info-pat

2021-09-06 21:36:42 74

原创 Mac配置Maven环境

Mac配置Maven环境1.下载maven包到本地https://maven.apache.org/download.cgi在这里插入图片描述2.在应用程序找到终端(实用工具)文件夹里面输入命令:vi ~/.bash_profile输入命令:vi ~/.bash_profile1输入 i 进入编辑模式输入:(注意⚠️M2_HOME需要填写为自己的路径哦~)export M2_HOME=/Users/liu/MyRepository/apache-maven-3.6.1expor

2021-09-04 18:41:28 73

原创 局部性原理之石破天惊

局部性原理学过计算机底层原理、了解过很多架构设计或者是做过优化的同学,应该很熟悉局部性原理。即便是非计算机行业的人,在做各种调优、提效时也不得不考虑到局部性,只不过他们不常用局部性一词。如果抽象程度再高一些,甚至可以说地球、生命、万事万物都是局部性的产物,因为这些都是宇宙中熵分布布局、局部的熵低导致的,如果宇宙中处处熵一致,有的只有一篇混沌。    所以什么是 局部性 ?这是一个常用的计算机术语,是指处理器在访问某些数据时短时间内存在重复访问,某些数据或者位置访问的概率极大,大多数时间只访问_局部_的数

2021-07-14 21:11:26 325

原创 Docker讲go项目打包成Docker镜像

1.创建一个goWebmkdir goWeb2.创建 Dockerfiletouch Dockerfile3.上传编译成功的go可执行文件 main 拖到goWeb目录里并进行赋权chmod 777 main4.在Dockerfile里编写需要的基础镜像FORM alpne:latestCOPY main /app/main#ENTRYPOINT ["/user-srv"]CMD ["/app/main"]Docker 将go项目打包成Docker镜像创建一个文件夹 goWe

2021-05-09 12:52:54 1187

原创 ReenttrantLcok源码分析

ReenttrantLcok底层原理分析和源码分析假设t1线程过来之前还没有其他线程过来,这个时候会先进行一个判断,走一个cas比较操作,如果当前状态是0,说明自旋成功,就会把当前线程设置为独占线程,说明当前线程获取锁成功,如果失败会走else 会尝试获取锁,如果获取锁成功,执行返回,如果失败会入队,入队会先把当前线程封装成node节点,判断tail尾节点是否为null,如果不为null,说明node已经被初始化了,这个时候进行一个判断 进行cas设置,如果设置成功,就把尾节点设置为node,然后返回no

2021-04-21 16:27:57 86

原创 Vmware虚拟机克隆操作步骤

5.填写克隆新虚拟机的名称及位置,点击完成开始克隆Vmware虚拟机克隆操作步骤:1.打开ens33文件vi /etc/sysconfig/network-scripts/ifcfg-ens33删除UUID修改IPADDR最后保存文件:wq执行:reboot 重启如下图...

2021-04-20 22:05:14 1073

原创 对spring的理解

一.spring ioc 通过问题深入理解spriing ioc原理1.什么是spring,你是怎么理解的?小编觉得这个问题是一个开放性的问题,需要综合回答。下面我们从三个方面来阐述一下:(1)个人理解,spring是一个轻量级javaee的解决方案,里面整合很多优秀的设计模式,比如工厂,单例,模板,动态代理,策略,责任链,观察者,适配器,装饰器,等设计模式,为什么需要设计模式呢,这里可以说明一下,因为设计模式有六大原则,这里不赘述,可以自己百度一下,他一些经典代码的总结,就行我们学汉语,水平一般的

2021-03-07 16:33:40 77

原创 本地代码推送到github仓库

本地代码推送到github仓库操作步骤1.先在github创建远程仓库2.把仓库克隆到本地3.本地代码复制代码复制本地仓库4.添加代码 git add .5.提交代码 git commit -m“注释”6.推送到远程仓库 第一次使用 push -u origin master -f再次提交可以直接git push也可以从本地直接创建仓库,推送到远程,这个可以使用命令git init //初始化仓库git add . //添加文件 到缓冲区git commit -m “注释” /

2021-03-07 15:44:47 258

原创 mysql隔离级别详解

mysql隔离级别详解理解事务的4种隔离级别数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的工资是3.6万/月。但是发工资时老板不小心按错了数字,按

2020-11-13 22:52:44 79

转载 kafka原理

kafka设计原理

2020-06-09 23:01:40 87

原创 springCloud alibaba-之修改秘笈

通过该流程图让大家对springCloud alibaba组件有一个更清楚的认识https://www.processon.com/view/link/5ebf7aafe401fd16f43da0a8

2020-05-16 20:05:47 119

原创 spring-推断构造之春宵一刻

推断构造方法与注入模型有关,手动和自动Spring推断构造方法原理:手动装配:加@component注解 需要扫描进来1.如果spring只有一个默认的无参构造时,这个时候spring就不会去推断,直接返回null,然后判断是null是直接利用反射调用默认的无参构造,为什么要这样处理,这个是spring的精妙设计,这样可以不用进行推断,采用策略模式直接调用,2.如果是多个构造方法是这个时候spring会去推断,这个时候spring的推断结果也是null,为什么是null,主要是构造方法上没有加@A

2020-05-16 19:59:24 243

原创 springCloud alibaba-之大圣归来

2020-05-16 19:56:06 117

原创 jvm精通之柳暗花明

第一节:内存结构 为什么要了解虚拟机 JVM 不单单只支持 Java 语言,也支持其他语言(Scala、Kotlin、Groovy 等等) 区块链 2.0–以太坊(比特币是区块链 1.0) 中提供了 EVM 的虚拟机,它的实现和 JVM 类似,基于栈、生成脚本编译成字节码来执行。知 识通用。(理论大于实际) 虚拟机历史 了解即可,无需关注 解释执行和编译执行(针对字节码的执行) 解释执行就是边翻译为机器码边执行、即时编译(编译执行)就是先将一个方法中的所有字节码全部编译成机器码之后再执行。 Hotspot

2020-05-16 19:52:58 597

原创 Elasticsearch基础介绍及索引原理之蓦然回首

标题Elasticsearch-基础介绍及索引原理分析最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 同时也希望有发现内容不正确或者有疑问的地方,望指明,一起探讨,学习,进步。介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的

2020-05-16 19:49:25 382

原创 volatile原理之大汗淋漓

让你彻底理解volatilevolatile简介在上一篇文章中我们深入理解了java关键字synchronized,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其中奥妙,我们来共同探讨下。通过上一篇的文章我们了解到synchronized是阻塞式同步,在线程竞争激烈的情况下会升级为重量级锁。而volatile就可以说是java虚拟机...

2020-03-03 12:53:45 89

原创 kubernetes原理之引蛇出洞

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。https://www.cnblogs.com/franknihao/p/8490416.htmlMesos是一个开源的资源...

2020-03-03 12:47:24 309

原创 netty原理之蔚蓝天空

netty原理分析Netty简介Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的API实现。它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。 作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算...

2020-03-03 12:43:03 149

原创 CAS原理之笨鸟先飞

cas原理详解一.直入正题(通过一道面试题刨析)现在有这么一个需求,需要实现一个支持并发的计数功能,例如下面的代码public class Increment{private int count=0;//多线程环境下对count执行++操作}面试官可能会提供上述代码问你,你觉得这个操作有什么问题,如果你说没有问题,那么恭喜你,大兄嘚,你可以走了,面试到此结束!如果你说这段代码有问题...

2020-03-03 12:39:42 162

原创 AQS实现原理之梦中初醒

AQS实现原理AQS(AbstractQueuedSynchronizer)即 队列同步器,是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。同步器的主要使用方式是继承。子类推荐被定义为自定义同步组件的静态内部类,同步器自身没有实现任何同步接口,它仅仅是定义了若干同步状态获取和释放的方法来供自定义同步组件使用,同...

2020-03-03 12:37:34 72

原创 单例之延迟占位类模式

/**懒汉式-延迟初始化占位类模式*/public class SingleInit {private SingleInit(){}private static class InstanceHolder{private static SingleInit instance = new SingleInit();}public static SingleInit getInsta...

2020-03-03 12:33:35 440

空空如也

空空如也

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

TA关注的人

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