4 崔晓鸿

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4k+

Guava有了解吗,怎么使用呢

Guava其实就是个工具类,封装了平时常用的方法,不用再重复造轮子,节省开发时间,提高工作效率。Guava包含了被Google的Java项目广泛依赖的核心库,有集合 [collections]、缓存 [caching]、原生类型支持 [primitives support]、并发库 [concurrency libraries]、通用注解 [common annotations]、字符串处理 [string processing]、I/O 等。举个使用字符串处理的例子,其他就都类似了1、先引入guav

2020-10-18 19:32:57

【Spring】SpringBoot如何实现项目的热部署

项目中有用热部署,感觉很便捷,之前忘记完整理步骤了,这次就详细记录下使用过程,分享给大家热部署的原理原理是热部署的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则重新加载整个应用的class文件,同时重启服务,重新部署。将文件更改自动部署到服务器并自动重启服务器。开发人员可以重新加载 Spring Boot 上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。热部署的实现1、添加依赖&.

2020-10-11 21:09:49

OpenStack是什么呢,能用来做什么呢

OpenStack是Rackspace和NASA共同成立的一个开源项目,它是为云计算服务的,提供存储空间、计算能力等资源服务的Web Service。简单来说,OpenStack就是一个操作系统,一套软件,一套IaaS(基础设施即服务)软件,对资源进行管理,并且以服务的形式提供给上层应用或者用户去使用。云计算的三种服务模式Iaas基础设施即服务,基础设施包括计算、存储、网络,也就是CPU,硬盘,网卡PaaS平台即服务,将软件研发的平台作为一种服务SaaS软件即服务,是一种软件交付模式,软件仅需

2020-10-02 17:53:12

【中间件】为什么用Kafka,它是怎么做到高吞吐量高性能的

之前在项目中,有用Kafka来做日志处理,只知道Kafka很适合用来处理日志,它高性能、高吞吐量。那么它是如何做到高性能、高吞吐量的呢?(1)使用了页缓存技术Kafka 每次接收到数据都会往磁盘上去写,它是基于操作系统的页缓存来实现文件写入的操作系统本身有一层缓存,叫做 Page Cache,是在内存里的缓存,我们也可以称之为 OS Cache,意思就是操作系统自己管理的缓存。在写入磁盘文件的时候,可以直接写入这个 OS Cache 里,也就是仅仅写入内存中,接下来由操作系统自己决定什么时候把 OS

2020-09-27 21:30:55

【Spring】Spring中是如何解决循环依赖的问题呢?

在Spring中,解决循环依赖,只有属性注入的方式而且还是单例的,才可以解决循环依赖的问题,构造器和属性注入多例的都是不能够解决循环依赖的1、构造器参数循环依赖Spring容器会将每一个正在创建的 Bean 标识符放在一个“当前创建Bean池”中,Bean标识符在创建过程中将一直保持在这个池中,因此如果在创建Bean过程中发现自己已经在“当前创建Bean池”里时将抛出BeanCurrentlyInCreationException异常表示循环依赖;而对于创建完毕的Bean将从“当前创建Bean池”中清除

2020-09-20 20:43:56

【Redis】Redis集群的三种模式——主从复制、哨兵模式、Cluster

一、主从复制模式主数据库可进行读写,当写操作导致数据变化时会自动将数据同步到从数据库;从数据库一般是只读的,并接受主数据库同步过来的数据1、工作原理(1)Slave从节点服务启动并连接到Master之后,它将主动发送一个SYNC命令(2)Master服务主节点收到同步命令后,开始执行BGSAVE命令生成快照文件(RDB文件),并使用缓冲区记录此后执行的所有写命令(3)Master服务主节点BGSAVE执行完后,向所有Slave从节点服务发送快照文件,并在发送期间继续记录被执行的写命令(4)S

2020-09-13 20:31:24

【问题解决】VM 与 Device/Credential Guard 不兼容,怎么办呢

问题起因之前虚拟机都运行的好好的,今天运行突然出现了VM 与 Device/Credential Guard 不兼容的问题,唯一想到的变化就是我最近研究docker,所以把Hyper-V打开了,于是就从控制管理页面吧之前勾选的Hyper-V都取消掉,然后重启电脑,但是仍然没有解决这个不兼容的问题,原来这种普通的关闭是无效的,需要用管理员权限使用命令来关闭,然后重启就好了。解决步骤1、Windows+X,选择Windows PowerShell (管理员)2、输入命令 bcdedit /set h

2020-09-06 10:01:10

【Redis】Redis如何持久化呢

redis的操作都是在内存中操作的,所以很快,但是如果只存在于内存中,一旦机器宕了,岂不是所有数据都没了,所以要持久化到磁盘,持久化的方式有RDB、AOF、及混合模式一、RDBRDB是一个非常紧凑的文件,它在保存RDB文件时父进程唯一要做的就是fork出一个子进程,接下来的工作全部由子进程来做,父进程不需要再做其他IO操作,所以RDB持久化方式可以最大化redis的性能。与AOF相比,在恢复大的数据集的时候,RDB方式会更快一些,但是他数据丢失风险大,最后一次持久化的数据可能丢失配置的方式ap.

2020-08-30 20:53:15

【ELK】用Elasticsearch搜索为什么会那么快呢?倒排索引

elasticsearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful的全文本搜索引擎,大家都知道使用elasticsearch全文搜索,是因为用它快,那为什么会快呢?这主要取决于它底层是用倒排索引实现的。那什么是倒排索引呢,与之对应的正排索引又是什么呢?正排索引elasticsearch是面向文档的,每向elasticsearch插入一个文档,他都会与之对应生成一个id构建正排索引,如下文档编号文档内容1世界不会辜负可爱的人2而我们如此可爱

2020-08-23 20:07:46

【Redis】你了解redis五种基本类型的内部结构吗

String它底层有三种基本结构List它里边有ziplistHash它里边有ziplistSet它里边是hashtable和intsetZset它里边是hashtable和跳表

2020-08-16 23:13:03

【并发】实现分布式锁的三种方式(主推Redisson)

可重入锁 // 普通用法 rLock.lock(); // 支持过期解锁功能,5秒钟以后自动解锁, 无需调用unlock方法手动解锁 rLock.lock(5, TimeUnit.SECONDS); // 尝试加锁,最多等5秒,上锁以后10秒自动解锁 rLock.tryLock(5,10,TimeUnit.SECONDS);...

2020-08-09 21:38:16

通过隧道连接远程jar包,进行断点调试

这种情况会阻塞生产代码,也就是你在断点调式某个接口的时候,这个接口将不会被成功访问,也会断点到你所断点的地方通过这个方法,也验证了一个问题,就是一个普通的SpringBoot项目,发布后,被用户访问,实质上是多线程的,即使你的项目里没有使用多线程,但他的运行机制也是多线程的。...

2020-08-01 17:27:09

什么是缓存穿透、缓存击穿、缓存雪崩呢?

对于使用分布式缓存实现大数据的存储,可能会遇到缓存穿透、 缓存击穿、 缓存雪崩等问题,这些是什么呢,该如何解决呢缓存穿透缓存穿透是指大量查询没有命中缓存, 直接去到数据库中查询, 如果查询量比较大, 会导致数据库的查询流量大, 对数据库造成压力。解决1、缓存空值将第一次查询的空值缓存起来, 同时设置一个比较短的过期时间2、使用布隆过滤算法(BloomFilter)用于检查一个元素是否存在, 返回结果有两种: 可能存在或一定不存在缓存击穿缓存击穿是指在高并发情况下, 同时查询一个key时,

2020-07-26 21:09:52

【SpringCloudAlibaba】Sentinel如何实现持久化

通过上篇博客,我们已经了解了如何使用Sentinel来实现流量控制、降级以及热点控制,如果你一步一步操作下来,有没有感觉我上次添加了一个规则,但是重启了项目,这个规则就没了,还得再重新添加一次呢,有没有感觉一直在做重复的操作,有没有很烦呢?这篇博客就是主要解决每次项目启动都要重新在sentinel控制台添加配置文件的问题,也就是要实现sentinel持久化。我们把这个规则配置放到nacos上,然后项目再冲nacos上读取,这样,就实现了sentinel的配置规则持久化了。详细步骤如下:1、添加依赖.

2020-07-19 21:21:23

【SpringCloudAlibaba】怎么使用Sentinel实现流量控制、降级以及热点控制呢

上一篇博客了解了Sentinel是什么,也知道了怎么安装它的控制台。准备工作做好了,那么它该怎么使用呢,它如何和SpringCloud结合使用,实际代码该怎么使用呢?我这里新建了一个项目(sentinel-demo)来做测试,实现,在实际运用中,应该是对应到相应的接口上就好了共同准备1、启动sentinel的控制台这次我指定了端口号java -jar sentinel-dashboard-1.6.3.jar --server.port=86182、引入依赖<dependencies&g

2020-07-19 21:20:44

【SpringCloudAlibaba】Sentinel是什么呀,怎么下载和安装呢?

前几篇博客我们了解了SpringCloudAlibaba的Nacos框架,接下来,我们在认识下SpringCloudAlibaba的另一个框架Sentinel一、Sentinel是什么呢随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel是以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性1、优点单独一个组件单独界面化,统一配置2、Sentinel 分为两个部分(1)核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行.

2020-07-18 19:53:22

【多线程】线程池里边都有些什么东西呢

使⽤线程池的原因:1、降低资源消耗创建/销毁线程需要消耗系统资源,线程池可以复⽤已创建的线程。2、控制并发的数量。并发数量过多,可能会导致资源消耗过多,从⽽造成服务器崩溃。(主要原因)3、可以对线程做统⼀管理。线程池的类ThreadPoolExecutor线程池顶层接⼝是 Executor 接⼝, ThreadPoolExecutor 是这个接⼝的实现类类ThreadPoolExecutor 的构造函数中参数1、int corePoolSize:该线程池中核⼼线程数最⼤值核⼼线程默认情况

2020-07-13 10:30:00

【SpringCloudAlibaba】Nacos配置中心怎么持久化到数据库

上篇博客,我们用Nacos实现了配置中心,Naocs的配置文件存在了哪呢,它存在里Nacos默认用的是自带的嵌入式数据库derby里,那怎么将Nacos的数据库切换到MySQL,持久化到MySQL呢1、在本地mysql创建一个数据库nacos_config2、在nacos的conf这个文件下,找到nacos-mysql.sql这个文件,复制里边的sql语句,到数据库nacos_config下执行这些sql语句执行后效果如下3、然后配置application.properties这个文件在文件最

2020-07-12 20:46:52

【SpringCloudAlibaba】怎样用Nacos来实现服务配置中心呢

之前我们实现配置中心用的是config,在了解用Nacos来实现服务配置中心,可以先熟悉下之前用的SpringCloud Config配置中心config是什么,以及如何和Eureka整合使用配置中心config如何实现动态刷新配置文件—bus消息总线了解了SpringCloud的config实现的服务配置中心,那么怎么用Nacos来实现服务配置中心呢接下来就实现下,项目中读取nacos中的配置文件内容项目整体结构1、引入相关依赖<dependencies> <!--

2020-07-12 08:55:47

【SpringCloudAlibaba】怎样用Nacos来实现服务注册中心呢

之前我们是用Eureka来实现服务注册中心的(关于Eureka实现注册中心的博客链接:一步一步进行搭建Eureka,实践中理解Eureka),那么Nacos该怎么实现服务注册中心呢关于Nacos实现服务注册中心,我们不在需要单独建一个eureka的项目的,只有生产者和消费者一些服务项目就可以了项目结构如下在将项目注册到naocos之前,先将nacos启动起来,上边博客已经讲了nacos如何安装与启动,因为我们的项目要向nacos上注册,它需要nacos先启动起来,然后我们新建的项目向里边注册,在配置

2020-07-11 20:26:36

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 分享达人
    分享达人
    成功上传6个资源即可获取