一、前言 随着微服务架构的兴起,服务的规模不断增长,对于服务的发现、配置和管理变得越来越复杂。 在这个背景下,Nacos应运而生,以其强大的功能和灵活性成为云原生领域的瑞士军刀之一。 Nacos是一个由阿里巴巴开源的项目,它提供了服务注册与发现、动态配置管理、服务和配置的实时监听等功能,使得开发者可以更加轻松地构建和管理微服务架构。 在Euerka不维护的时候,Nacos站出来挑扛起了大旗。不得不说是真的好用,完美适配SpringCloud,使得微服务更加完善! 当然免费版可能会有些问题,听说企业收费的是难以想象的好用!有得赚就不会停止维护,就会越来越好,我们一起期待,它给我们带来更好的功能...

一、前言 在面试题中经常会有这么一道面试题,谈一下synchronized锁升级过程? 之前背了一些,很多文章也说了,到底怎么什么条件才会触发升级,一直不太明白。 实践是检验真理的唯一标准,今天就和大家一起实践一下,什么条件才会升级! 二、为什么会有锁升级过程? 在实践之前,我们先一步步的来了解!为什么要升级呢? 在JDK1.6之前,synchronized的性能一直没有ReentrantLock性能高,主要是因为synchronized涉及到用户态和内核态的切换,这个是在操作系统和硬件是非常消耗资源的。 经过不断的统计分析,发现大部分时间一个锁都是一个线程去获取,如果只有一个线程来尝试加锁...

一、前言 现在数据库的种类也是特别的多,大致的类别包括: 关系型数据库(MySQL、Oracle、PostgreSQL) 非关系型数据库(Redis、MongoDB、Cassandra、Neo4j) 全文搜索引擎和分布式文档存储系统(Elasticsearch) 列式数据库(ClickHouse) 每种都在各自的领域表现出色,但当涉及到大规模数据分析和复杂查询时,ClickHouse出现在了舞台上。 ClickHouse使用列式存储,这意味着它可以高效地执行聚合、过滤和排序操作。 面试经常问到大宽表查询聚合怎么办,这不是解决方案来了嘛!! 今天我们就一起来深入了解一下ClickHouse...

一、前言 MongoDB是一款比较常见的NoSQL数据库,它以其灵活性、可伸缩性和高性能而闻名。 MongoDB的主要特点是它采用了文档型数据存储模型,允许开发人员以非常自然的方式组织和存储数据。 当一些表在MySQL查询效率不高时,可以转为MongoDB,解决数据多查询慢的情况! 下面我们在详细的了解一下吧! 二、非关系数据库 说到MongoDB,就顺便说一下非关系数据库的常见的几种: 类型 名称 介绍 文档数据库 MongoDB 使用BSON(二进制JSON)格式存储数据,适用于半结构化数据和复杂查询。 键值数据库 Redis 用于缓存和快速数据访问,支持复杂的数...

一、前言 我们在项目中会处理敏感数据(如手机号、身份证号、姓名、地址等)时,通常需要对这些数据进行脱敏,以确保数据隐私和安全。 我们本次使用Hutool库来轻松实现数据脱敏,如果项目中不让使用,可以自己防着hutool来写一些工具类。 本次使用Springboot整合Hutool来自定义注解实现数据脱敏! 二、什么是数据脱敏 数据脱敏(DataMasking),也称为数据遮蔽或数据隐藏,是一种数据保护技术,用于处理和存储敏感数据时,以减少或消除数据中的敏感信息,从而保护数据的隐私和安全。数据脱敏的主要目的是在保持数据可用性的同时,减少数据泄露和滥用的风险。 数据脱敏一般指数据库正常存储,返回...

前言 我们在开发中,Maven是必不可少的,但是每次都需要设置一遍Maven的仓库和settings.xml。真的是心累,今天教大家全局配置一下。再也不要每次项目都配了,Maven还经常出问题。 解决方案 友情提示:小编的IDEA版本为2021.1.3哈,有可能界面太一样的,自己找一下哈 1.首先关闭项目 2.打开全局设置 3.设置maven地址 这样就不需要打开一个新项目就设置一遍路径,当然使用默认的也是挺好的!

一、前言 今天看了一下Oracle官网的JVM规范,发现基本数据不止有八种。 这个东西一直都是说着八种,官网把returnAddress放在八种基本数据类型一起说的,我们可以理解为第九种! 常说的八种用于存储常见的数值和字符数据,第九种是指向Java虚拟机指令的操作码的指针,属于内部使用的! 说的时候一般忽略returnAddress,小编这里把它作为第九种不知道合不合适,欢迎讨论哈! 结论咱们都说的差不多了,下面我们一起来看看定义和文档吧! 二、八种基本数据类型 借此来说一下常见面试题:Java中基本数据类型有几种,占几个字节? 类型 占用字节 byte 1字节 sh...

  duJ5DByAvvc0   2023年11月02日   41   0   0 官网开发语言MachineJava

一、前言 今天没事干的时候,无意间点到了一个System.out.println()中的println()方法,一个闪亮的关键字冲击着我的眼睛。 不知道大家知不知道,那就是加锁的synchronized。但凡有锁的地方肯定会性能是有损耗的,当然得在并发的情况下! synchronized在JDK8还是6之后进入了锁升级概念:无锁—>偏向锁—>自旋锁—>轻量级锁—>重量级锁 轻量级锁和偏向锁通常不涉及内核态切换 在到重量级锁时涉及到用户态和内核态的切换,很影响性能的! 有兴趣的可以自己研究一下synchronized的锁升级和降级! 下面我们回归正题,看一下这个Syst...

  duJ5DByAvvc0   2023年11月02日   28   0   0 Java日志框架System应用程序

一、前言 今天遇到了一个问题,就是关于@CacheEvict,这个相信大家都很熟悉了,是Spring整合一些缓存的专用注解,它和@Cacheable是一对。一个是新增缓存一个是删除缓存,搭配使用,不用自己手动删除! 今天遇到的问题是,@CacheEvict失效了,不会删除redis缓存。有两个方法都用了,一个会删除,一个不会删除。直接懵逼,随后和同事一起打断点发现了问题所在,其实还是自己没有看@CacheEvict注解的文档! 是因为key的没有匹配上,我的方法参数有两个参数,并且没有指定key这样就匹配不到,无法删除! key注解注释: 默认值为“”,表示除非设置了自定义keyGener...

一、前言 常见的设计模式有23种,我们不得不提到模板方法设计模式,这是一种在软件开发中广泛使用的行为型设计模式之一。它为我们提供了一种优雅的方式来定义算法的结构,并将算法的具体实现延迟到子类中! 在本篇博客中,我们将深入探讨模板方法设计模式在SpringBoot中的应用。我们将从概念入手,逐步展开,探究模板方法设计模式原理、优缺点、开源框架应用场景以及如何在企业级灵活应用。 如果您正在寻找一种能够提升代码重用性、可维护性和可扩展性的方法,这篇博客一定要收藏。 二、什么是模板方法 全称是模板方法设计模式,英文是TemplateMethodDesignPattern。在GoF的《设计模式》一书中...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~