自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(198)
  • 资源 (6)
  • 问答 (5)
  • 收藏
  • 关注

原创 MQ - KAFKA 高级篇

网卡/磁盘等都可以认为是DMA设备,是一个半自治单元,比如网卡有它自己的运算单元(相当于特异化的cpu)和自己的缓存,网卡接收和发送数据时是不需要cpu的全程参与的,磁盘也是类似的.简单来讲就是dma设备就是cpu领导下的一个不太聪明的小弟,cpu负责指挥小弟去干活,但干活的过程中是不需要cpu参与的.nio和0拷贝都是为了解放cpu。这种方案,与同步复制非常接近。注意图中的消费者和生产者,均是仅和分区的leader相连,所有的flower不参与外部交互,在内部作为leader的消费者去拉去消息进行追赶.

2023-12-04 02:12:28 999

原创 MQ - KAFKA 基础篇

3.1.1:首先它是一个逻辑上的东西,它有多个或一个分区组成,并且当有多个分区且多个broker实例时,一个topic的消息以分区的形式可以存在在不同的broker上。一个partition当中由多个segment文件组成,每个segment文件,包含两部分,一个是.log文件,另外一个是.index文件,其中.log文件包含了我们发送的数据存储,.index文件,记录的是我们.log文件的数据索引值,以便于我们加快数据的查询速度。注意的是同组消费者是处于竞争关系,即消息只能被同组中的某个消费者消费。

2023-12-04 01:08:43 913

原创 MQ - 消息系统

在大型系统中,会需要和很多子系统做交互,也需要消息传递,在诸如此类系统中,你会找到源系统(消息发送方)和 目的系统(消息接收方)。流程改为:1: 风险控制 、2: 库存锁定 、3: 消息系统 、4: 生成订单 、5: 短信通知 、6: 更新数据。消息被消费以后,queue中不再有存储,所以消息接收者不可能消费到已经被消费的消息。一般流程会分为:1: 风险控制 、2: 库存锁定 、3: 生成订单 、4: 短信通知 、5: 更新数据。为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行;

2023-12-03 22:16:10 478

原创 IDEA 应用/服务 启动错题集

1.java: Compilation failed: internal java compiler errorError:java: Compilation failed: internal java compiler error 解决办法_ruoxiyun的博客-CSDN博客2.java.lang.OutOfMemoryError: GC overhead limit exceededjava.lang.OutOfMemoryError:GC overhead limit exceeded_

2022-05-10 23:22:25 287

转载 redis - 实现限流的三种方式

本文转载自Redis 实现限流的三种方式_Leonis丶L的博客-CSDN博客_redis限流我们围绕一个核心的问题如何在线程安全的情况下确保 某个服务/某个接口 被指定的 某个/些人 在 每分钟/小时 访问N次?第一种:基于redis的setnx命令我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CAS(Compare and swap)的操作的时候,同时给指定的key设置了过期实践(expire),我们在限流的主要目的就是为了在单位时间内,有且仅有...

2022-04-12 14:24:02 435

转载 redis - 过期策略和淘汰机制

本文转载自Redis详解(十一)------ 过期删除策略和内存淘汰策略 - YSOcean - 博客园1、设置Redis键过期时间  Redis提供了四个命令来设置过期时间(生存时间)。  ①、EXPIRE <key> <ttl> :表示将键 key 的生存时间设置为 ttl 秒。  ②、PEXPIRE <key> <ttl> :表示将键 key 的生存时间设置为 ttl 毫秒。  ③、EXPIREAT <key> &l.

2022-04-11 17:55:30 340

转载 redis - 击穿、穿透、雪崩及其解决方案(二)

本文转载自https://www.jb51.net/article/221429.htm1. 简介如图所示,一个正常的请求1.客户端请求张铁牛的博客。2.服务首先会请求redis,查看请求的内容是否存在。3.redis将请求结果返回给服务,如果返回的结果有数据则执行7;如果没有数据则会继续往下执行。4.服务从数据库中查询请求的数据。5.数据库将查询的结果返回给服务。6.如果数据库有返回数据,则将返回的结果添加到redis。7.将请求到的数据返回给客户端。..

2022-04-11 16:21:06 112

转载 redis - 击穿、穿透、雪崩及其解决方案(一)

本文转载自Redis 击穿、穿透、雪崩产生原因以及解决思路- 击穿-大家都知道,计算机的瓶颈之一就是IO,为了解决内存与磁盘速度不匹配的问题,产生了缓存,将一些热点数据放在内存中,随用随取,降低连接到数据库的请求链接,避免数据库挂掉。需要注意的是,无论是击穿还是后面谈到的穿透与雪崩,都是在高并发前提下,比如当缓存中某一个热点key失效。-问题起因-有两个主要原因:1、Key过期;2、Key被页面置换淘汰。对于第一个原因是因为在Redis中,Key有过期时间,如...

2022-04-11 11:46:08 283

转载 redis - 分布式锁实现

本文转载自Redis实现分布式锁的7种方案 - why414 - 博客园种方案前言日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式。如果有不正确的地方,欢迎大家指出哈,一起学习一起进步。什么是分布式锁 方案一:SETNX + EXPIRE 方案二:SETNX + value值是(系统时间+过期时间) 方案三:使用Lua脚本(包含SETNX + EXPIRE两...

2022-04-11 10:43:11 128

转载 redis - 应用例子

本文转载自https://segmentfault.com/a/11900000226517641、显示最新的项目列表下面这个语句常用来显示最新项目,随着数据多了,查询毫无疑问会越来越慢。SELECT * FROM foo WHERE ... ORDER BY time DESC LIMIT 10在微博应用中,“列出最新的回复”之类的查询非常普遍,这通常会带来可扩展性问题。这令人沮丧,因为项目本来就是按这个顺序被创建的,但要输出这个顺序却不得不进行排序操作。类似的问题就可以用Redis来..

2022-04-07 16:21:39 328

原创 redis - 底层数据类型

一:Stringstruct string_name { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int free; // 数据空间 char buf[]; };string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图

2022-04-07 16:12:18 378

原创 Spring/Springboot 错题集

1、com.fasterxml.jackson.core.JsonParseException: Unexpected character ('p' (code 112)): was expecting double-quote to start field name at该异常为请求传参body到后台json化异常,检查前端到后端的body传参

2022-02-23 17:32:43 994

原创 Mybatis 错题集

1、"mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+"查看Mapper.xml中是否有 /**/这种注释 是否有 Student s = new Student()这类代码2、Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "special

2022-02-23 17:27:12 241

原创 杀死Spring - Spring的${}占位符处理类PropertyPlaceholderConfigurer

杀死Spring - Spring系列的${}占位符处理类PropertyPlaceholderConfigurer我们知道,在spring的xml配置文件可以使用${}这样的占位符来引入变量值,那么他是怎么实现这样的功能的呢?它主要是通过PropertyPlaceholderConfigurer类来实现这一功能。惯例,我们贴出他的继承关系图:类图说明:1Ordered:由于一个接口可以有多个实例,该接口实现这些实例的排序2PriorityOrdered:优先级比Ordered高3BeanF

2021-07-13 18:12:46 327

转载 杀死Spring - Spring中的Ordered

本文转载自: https://www.cnblogs.com/fangjian0423/p/spring-Ordered-interface.html前言Ordered接口介绍Ordered接口在Spring中的使用总结前言Spring中提供了一个Ordered接口。Ordered接口,顾名思义,就是用来排序的。Spring是一个大量使用策略设计模式的框架,这意味着有很多相同接口的实现类,那么必定会有优先级的问题。于是,Spring就提供了Ordered这个接口,来处理相同接口实现类的优先级

2021-07-13 16:45:00 140

原创 杀死Spring - Spring中Bean的生命周期及其管理

杀死Spring - Spring中Bean的生命周期及其管理spring中的bean什么情况下是singleton的?什么情况下是protoType的?spring中的bean又有着怎样的生命周期?这是我们将要讨论的。

2021-07-13 15:39:56 116

原创 杀死Spring - BeanFactory系列中的DefaultListableBeanFactory

杀死Spring - BeanFactory系列中的DefaultListableBeanFactory通过前面我们知道DeafultListableBeanFactory是Spring框架的最基本的容器,大多数情况下Spring其他的容器要么就是它要么就是从它拓展来的。那么为了杀死Spring了解它是怎样运作的就非常有必要了。通过前面的博客我们知道DefaultListableBeanFactory在BeanFactory系列IOC容器中的位置为:一:域 //是否允许重写BeanDefiniti

2021-07-12 18:19:14 340 2

原创 杀死Spring - BeanFactory系列中的AbstractAutowireCapatableBeanFactory

杀死Spring - BeanFactory中的AbstractAutowireCapatableBeanFactory由前面博客我们知道AbstractAutowireCapableBeanFactory的继承关系如下:从两个方面域和方法来分析AbstractAutowireCapableBeanFactory一:域 //实例化策略 private InstantiationStrategy instantiationStrategy; //是否允许循环依赖 private b

2021-07-12 18:18:51 177

原创 杀死Spring - BeanFactory系列中的AbstractBeanFactory

杀死Spring - BeanFactory系列中的AbstractBeanFactory通过前面的博客我们知道DefaultListableBeanFactory在BeanFactory系列IOC容器中的位置为:一:域 //父类IOC容器 private BeanFactory parentBeanFactory; //bean的类加载器() private ClassLoader beanClassLoader = ClassUtils.getDefaultClassLoade

2021-07-12 18:18:29 167

原创 杀死Spring - BeanFactory系列中的bean别名alias机制

杀死Spring - BeanFactory系列中的bean别名alias机制Spring主要是通过SimpleAliasRegistry来完成别名功能的,它的类图继承关系如下:那么它是怎么完成的呢?一:域 /*存储别名 *若jdk >=1.5,返回java.util.concurrent.ConcurrentHashMap,否则 *加载并返回edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap,否则 *返回S

2021-07-12 18:18:07 359

原创 杀死Spring - Spring中的Resource设计

杀死Spring - Spring中的ResourceSpring中有着它自己一套读取bean配置文件的Resource框架。同样的,我们先画一个饼:这个图就是Spring的Resource资源框架了

2021-07-12 11:14:57 111

原创 杀死Spring - Spring IOC容器的设计与实现

杀死Spring - Spring IOC容器的设计与实现spring使用POJO开发企业应用,提供一致的编程模型,强调对接口编程从而来秉持它的易用性,平台性的思想。1.依赖反转哪些方面的控制被反转了?依赖对象的获取被反转了!!因而依赖反转有一个更好的名字:依赖注入!一般地要实现某个功能我们不得不写很多的类,然后类间存在复杂的引用或者说是依赖,通常依赖的获取都是靠自身去实现,这导致了代码的高度耦合并且难以测试。但有了依赖注入后情况后事情出现了转机,开发人员只需配置依赖文件,把对象间的关系交给IOC容器

2021-07-08 15:29:50 157

原创 杀死Spring - Spring简介/概述

从理解应用开发和应用平台两者关系的理解spring# 1.spring的设计目标spring为开发者提供的是一个一站式的轻量级应用开发框架(平台)。作为平台,spring抽象了我们在许多应用中遇到的共性问题;同时,作为一个轻量级的应用开发框架,他与传统的j2ee开发相似,有其自身特点,通过这些特点充分体现他的设计理念:在java ee的应用开发中,支持POJO和使用java bean的开发方式,使应用面向接口开发,充分支持OO的设计方法。比如在java ee应用,传统的EJB开发需要依赖按照J2EE规

2021-07-08 11:45:17 154

原创 LINUX - LVM原理及PV、VG、LV、PE、LE关系图

Part 1:PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个。通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个分区(卷)组VG(volume group),进而再次进行分配形成逻辑分区(卷)LV(logical volume)。创建成功的逻辑分区对于操作系统来说会想普通分区无异,其好处是可以...

2019-04-22 23:35:08 11219 2

转载 LINUX - Linux下的磁盘分区和逻辑卷

本文转载自:https://www.cnblogs.com/lbole/p/8904298.html一、硬盘接口类型  硬盘的接口主要有IDE、SATA、SCSI 、SAS和光纤通道等五种类型。其中IDE和SATA接口硬盘多用于家用产品中,也有部分应用于服务器,SATA是一种新生的硬盘接口类型,已经取代了大部分IDE接口应用。SCSI 、SAS主要应用于服务器上,普通家用设备一般不支...

2019-04-22 16:12:47 497

原创 CENTOS - 安装 Gparted 重新分区/boot

由于以前电脑是windows系统,C盘划分了120G,后来装了CentOS整个C盘都给了/boot。现在想在电脑上装一个Oracle数据库。从/boot的120G里面划出一部分出来给Oracle用。访问:https://gitlab.gnome.org/GNOME/gparted找到INSTALL,发现有两种安装方法,一种是YUM安装,一种是编译安装。我选择yum安装1.准备安装环境(...

2019-04-18 16:40:55 2438

转载 JAVA面试 - Mysql中MVCC的使用及原理详解

本文转载来自:https://blog.csdn.net/w2064004678/article/details/83012387准备测试环境:Mysql 5.7.20-log数据库默认隔离级别:RR(Repeatable Read,可重复读),MVCC主要适用于Mysql的RC,RR隔离级别创建一张存储引擎为testmvcc的表,sql为: CREATE TABLE ...

2019-03-12 14:39:58 2072

原创 CENTOS - 安装 Redis-Desktop-Manager

参考官方博客安装:http://docs.redisdesktop.com/en/latest/install/找到 Build on Linux。因为是源码编译安装,所以将git下来的源码放在 /usr/local/src 下:1: cd /usr/local/src2: git clone --recursive https://github.com/uglide/Red...

2019-02-15 00:05:12 581

原创 CENTOS - 安装 mysql 数据库

一:下载rpm资源包https://dev.mysql.com/downloads/repo/yum/下载自己想要的noarch rpm包。注意一定要是noarch的rpm包,安装的时候他可以关联下载依赖,这里我选择的是:二:安装下载好了rpm安装包过后,使用rpm和yum安装mysql服务器2.1:  进入root用户2.2: rpm安装mysql相关包2.3...

2019-02-13 20:04:30 178

转载 4种事务的隔离级别,InnoDB如何巧妙实现?

转载自:https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/82186189事务ACID特性,其中I代表隔离性(Isolation)。 什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。 一个事务怎么会干扰其他事务呢?...

2018-08-31 23:46:57 336

转载 Intellij IDEA 4种配置热部署的方法

本文转载自:https://www.cnblogs.com/jcook/p/6910238.html  热部署可以使的修改代码后,无须重启服务器,就可以加载更改的代码。 第1种:修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源 菜单Run -&gt; EditConfiguration , 然后配置指定服务器下,右侧server标签下on frame deactiva...

2018-07-25 15:51:53 627

原创 服务器搭建(一):FTP服务器之vsftpd搭建

前提:系统 cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.2 (Maipo)一:安装 vsftpd查看是否安装vsftpd服务#rpm -qa | grep vsftpd没有则安装#yum -y install vsftpd二:创建根目录创建所有项目的文件根目录#mkdi...

2018-06-20 15:53:09 706

原创 NEXUS(二) - Nexus 2.x安装、使用说明、问题总结

一、下载最新的 Nexus 2.x下载链接:https://www.sonatype.com/oss-thank-you-zip二、安装、启动服务1. 解压至 F:\nexus2 文件夹,得到 nexus-版本号 文件夹和 sonatype-work 文件夹,nexus-版本号文件夹放的是nexus服务器相关的文件,sonatype-work放的是nexus工作的数据文件,上传下载的jar包就在这...

2018-06-17 02:51:53 16425

原创 NEXUS(三) - Nexus 3.x安装、使用说明、问题总结

一:下载最新的安装压缩包https://www.sonatype.com/download-oss-sonatype选择 window系统下压缩包:二:下载完成后解压至 F:\nexus3 文件夹,下面将nexus的解压路径 F:\nexus3 统称为 %NEXUS_HOME%三:启动服务虽然在“%NEXUS_HOME%\nexus-3.12.1-01\bin”目...

2018-06-16 20:53:39 12707 2

原创 Git - 个人出现的git错误整理

1.提示有:fatal: Not a valid object name: 'master'.这是因为本地的‘master’分支还并未创建,需要在‘commit’后才会自动创建 。这时:git add .    //将所有的文件加到暂存区$ git commit -m 'after commmit, the local master branch init'    //将暂存区的文件提交到本地gi...

2018-06-05 15:20:27 9457 1

转载 重新认识java (一) ---- 面向对象之多态(向上转型与向下转型)

原文地址:https://blog.csdn.net/qq_31655965/article/details/54746235什么是多态简单的理解多态多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力。比如说,有一杯水,我不知道它是温的、冰的还是烫的,但是我一摸我就知道了。我摸水杯这个动作,对于不同温度的水,就会得到不同的结果。这就是多态。那么,java中是怎么体现多态呢?我们来直接看代...

2018-05-02 10:56:19 288

原创 Spring Boot の ajax +zTree 遍历和预览本地文件路径和内容(提供下载)

1.创建springboot项目目前经测试,可预览  .txt,.xml,. log,.sql,.java 文本文件,图片文件,.wav,.mp3音频文件,.mp4视频文件, pdf文件      可下载  .txt,.xml,. log,.sql,.java 文本文件,图片文件,.wav, pdf文件, .docx文档文件, .xlsx文件具体步骤不写,下面是配置与代码1.1 build.gra...

2018-04-28 17:48:43 1858 2

转载 springMVC中controller的几种返回类型

本文转载于:https://blog.csdn.net/qq_16071145/article/details/51222372Controller方法的返回值可以有以下几种:1、返回ModelAndView返回ModelAndView时最常见的一种返回结果。需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置。2、返回String1):字符串代表逻辑视图...

2018-04-26 09:56:47 1200

原创 Spring Boot の bootstrap fileupload 可拖拽多文件上传

1、创建一个springboot的gradle项目具体步骤不写,下面是一些基本依赖与配置:1.1 build.gradlebuildscript { ext { springBootVersion = '2.0.0.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springfr...

2018-04-16 17:48:10 2966 1

原创 Spring Boot の JSP模板配置+WEB-INF下静态资源访问

1-创建一个SpringBoot的MAVEN工程点击【next】点击【next】点击【next】点击【finish】,那么一个springboot的maven的web工程就创建成功了。2-导入Maven依赖&lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding...

2018-03-21 16:29:31 13084 2

wine-mono-4.5.6.msi

wine的mono插件镜像

2019-02-05

emacs-25-x86_64-deps.zip

emacs-25 的 deps.zip 是让windows支持更多的gnu库,比如使得org-mode可以显示png格式的图片等。

2018-06-20

ajax+zTree 文件树

zTree的js和css文件 + 可供参考的demo的fileCatalog.js文件

2018-04-18

win64_ssl_curl 插件

解压后进入curl.exe所在目录,然后打开命令行,输入 curl -V 可查看适用协议。由于要适用协议https,所有还得安装Win64-openSSL

2018-03-16

redis-trib.rb

redis集群工具redis-trib.rb

2017-05-05

Redis-x64-3.2.100.zip

该压缩包为windows64位操作系统下的redis

2017-05-05

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

TA关注的人

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