Java&Mango
码龄4年
  • 9,872
    被访问
  • 25
    原创
  • 59,374
    排名
  • 705
    粉丝
关注
提问 私信

个人简介:分享学习和工作中的一些知识和经验。

  • 加入CSDN时间: 2018-01-04
博客简介:

mangomango123的博客

查看详细资料
  • 3
    领奖
    总分 336 当月 42
个人成就
  • 获得24次点赞
  • 内容获得29次评论
  • 获得45次收藏
创作历程
  • 5篇
    2022年
  • 25篇
    2021年
成就勋章
TA的专栏
  • 分布式
    3篇
  • Redis
    3篇
  • RabbitMQ
    2篇
  • JUC多线程及并发包
    11篇
  • 数据库
    3篇
  • 服务器
    4篇
  • 其他
    5篇
  • GitHub
    1篇
  • 阿里云OSS
    1篇
  • Java Stream
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

全靠这36个锦囊,CTO夸我接口设计的好

后端接口开发建议:全靠这36个锦囊,CTO夸我接口设计的好
转载
发布博客 前天 15:18 ·
3 阅读 ·
1 点赞 ·
0 评论

为什么AtomicInteger能够实现原子性?以及CAS的底层原理

为什么AtomicInteger能够实现原子性?以及CAS的底层原理
原创
发布博客 2022.05.15 ·
23 阅读 ·
0 点赞 ·
0 评论

Java内存模型(JMM)底层交互流程讲解

JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM关于同步的规定:1、线程解锁前,必须把共享变量的值刷新回主内存。2、线程加锁前,必须读取主内存的最新值倒自己的工作内存。3、加锁解锁是同一把锁。JMM交互流程:由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),
原创
发布博客 2022.05.14 ·
44 阅读 ·
0 点赞 ·
0 评论

阿里注册中心Nacos集群生产部署方案

一、说明生产环境中部署nacos首先肯定是使用集群模式cluster保证高可用,本文主要详细介绍最佳的集群方案怎样搭建与spring cloud程序怎样集成二、集群方案下图是官方推荐的集群方案,通过域名 + VIP模式的方式来实现,可读性好而且换ip方便这里的VIP直接使用Nginx就可以实现了三、方案实现nacos集群最低配置是至少需要3个实例,因为我在本地搭建只有一台机器所以通过修改端口的方式来部署这3个实例,端口分别为:8848、8849、88503.1. 修改集群配置
原创
发布博客 2022.04.24 ·
14 阅读 ·
0 点赞 ·
0 评论

SpringCloud底层服务之间是怎么相互调用的-微服务流程介绍

原地址:石杉的架构笔记_CSDN博客-JVM,微服务,架构领域博主目录一、业务场景介绍二、SpringCloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在.
转载
发布博客 2022.03.01 ·
209 阅读 ·
0 点赞 ·
0 评论

如何使用MYSQL触发器,备份历史记录?

一、首先创建一个存放历史表的数据库。-- 创建历史库create database lianxin_history;二、创建要备份的数据表use lianxin_history;-- 创建历史库中的equipment_info同构表以及增加两个记录操作状态字段create table `equipment_info` select * from `lianxin_trace`.`equipment_info` where 1<0;ALTER TABLE `equipment_i
原创
发布博客 2021.10.11 ·
123 阅读 ·
0 点赞 ·
0 评论

长链接转成短链接的原理和实现详解

一、为什么要设计短链接,短链接有什么好处?1、链接变短,在对内容长度有限制的平台发文,可编辑的文字就变多了。比如:微博,限定了只能发 140 个字,如果一串长链直接怼上去,其他可编辑的内容就所剩无几了,用短链的话,链接长度大大减少,自然可编辑的文字多了不少。2、我们经常需要将链接转成二维码的形式分享给他人,如果是长链的话二维码密集难识别,短链就不存在这个问题了。3、链接太长在有些平台上无法自动识别为超链接。二、短链接实现的原理。1、请求流程:首先,我们先看看当当的短.
原创
发布博客 2021.08.25 ·
1152 阅读 ·
0 点赞 ·
0 评论

写代码有这16个好习惯,可以减少80%非业务的bug

每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~来自公众号:「捡田螺的小男孩」1. 修改完代码,记得自测一下「改完代码,自测一下」是每位程序员必备的基本素养。尤其不要抱有这种侥幸「心理:我只是改了一个变量或者我只改了一行配置代码,不用自测了」。改完代码,尽量要求自己都去测试一下哈,可以规避很多不必要bug的。2. 方法入参尽量都检验入参校验也是每个程序员必备的基本素养。你的方法处.
转载
发布博客 2021.08.20 ·
66 阅读 ·
0 点赞 ·
0 评论

服务超时设置讲解

![](https://img2020.cnblogs.com/blog/2015191/202006/2015191-20200614234711374-419304870.png)上面这张监控图,对于服务端的研发同学来说再熟悉不过了。在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题。尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结果。当服务超时发生时,研发同学往往要抽丝剥茧般去分析自身系统的性能以及依赖服务的性能,这也是为什么服务超时相对于服务出.
转载
发布博客 2021.08.17 ·
479 阅读 ·
0 点赞 ·
0 评论

服务器CPU占用率过高检查步骤

1、病号是谁?(WHO) - 第一步:采用 top 命令,找出 CPU 占用最高的病号 PID ; - 第二步:通过 ps -ef | grep PID 查看病号对应的真实身份。 2、病号哪里出了问题?(WHERE) - 第一步:采用 jstack -l PID >> PID.log 获取病号的各器官信息的病历单; - 第二步:采用 top -Hp PID 拿到占用 CPU 最高的器官昵称 PID ; - 第三步:采用 printf "%x
" ...
转载
发布博客 2021.08.17 ·
103 阅读 ·
0 点赞 ·
0 评论

谈谈对公平锁、非公平锁、可重入锁、递归锁、自旋锁 的理解。

这里写自定义目录标题一、公平锁和公平锁的比较1、什么是公平锁和非公平锁?2、公平锁和非公平锁区别3、公平锁和非公平锁的使用二、可重入锁(又叫递归锁)1、什么是重入锁?2、可重入锁的使用:3、可重入锁的作用:4、可重入锁代码演示:三、自旋锁1、什么是自旋锁?2、自旋锁的优缺点3、自旋锁底层代码一、公平锁和公平锁的比较1、什么是公平锁和非公平锁?a、什么是公平锁:是指多个线程按照申请锁的顺序来获取锁,类似于 队列的先进先出。b、什么是非公平锁:是指在多线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请
原创
发布博客 2021.03.09 ·
98 阅读 ·
0 点赞 ·
0 评论

CAS(比较与交换)底层原理讲解

文章目录一、什么是CAS?二、CAS底层原理三、CAS的缺点一、什么是CAS?二、CAS底层原理三、CAS的缺点
原创
发布博客 2021.03.08 ·
155 阅读 ·
0 点赞 ·
0 评论

Java内存模型(JMM) 和 volatile 的讲解

文章目录一、JMM讲解1、什么是JMM?2、JMM的底层访问过程图:3、JMM的三大特点:二、volatile 讲解1、什么是volatile?2、volatile 的特点2.1、代码案例演示:3、volatile 的示例一、JMM讲解1、什么是JMM?1.1、JMM的简介:JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念 并不真实存在,它描述的是一组规则或规范通过规范定制了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。1.2、
原创
发布博客 2021.03.05 ·
1130 阅读 ·
2 点赞 ·
9 评论

如何保证缓存与数据库的双写一致性?

一般来说,只要我们用到了缓存,就很可能会涉及到缓存与数据库双存储双写,那么只要我们是双写(写数据库,写Redis缓存)操作,就一定会有数据一致性的问题,那么我们该如何解决一致性问题?一、对于单数据库来说,我们可以这样操作:1、根据你要更新的key,先删除Redis缓存中的数据,2、然后再去更新Mysql数据库中的数据,3、Mysql数据库更新成功之后,再删除Redis中的数据。(简称:双删策略)注意:第3步的目的是防止在更新Mysql数据库的时候;其他线程正好进来读操作,先访问Redis缓存的数据不存在
原创
发布博客 2021.02.26 ·
206 阅读 ·
1 点赞 ·
1 评论

Java集合类不安全问题之HashMap

一、集合类不安全问题之HashMap1、HashMap不安全Demo展示:package com;import java.util.*;public class ListNoSafeDemo { public static void main(String[] args) { Map<String, String> map = new HashMap<>(); for (int i = 1; i <= 100; i++) {
原创
发布博客 2021.02.26 ·
39 阅读 ·
1 点赞 ·
0 评论

Java集合类不安全问题之HashSet

一、集合类不安全问题之HashSet1、 HashSet 不安全Demo展示:package com;import java.util.*;public class ListNoSafeDemo { public static void main(String[] args) { Set<String> set = new HashSet<>(); for (int i = 1; i <= 100; i++) {
原创
发布博客 2021.02.26 ·
107 阅读 ·
1 点赞 ·
0 评论

Java集合类不安全问题之ArrayList

一、集合类不安全问题 之 ArrayList。1、ArrayList 不安全Demo展示:package com;import java.util.ArrayList;import java.util.List;import java.util.UUID;public class ListNoSafeDemo { public static void main(String[] args) { List<String> list = new ArrayLi
原创
发布博客 2021.02.26 ·
75 阅读 ·
1 点赞 ·
1 评论

MyISAM和InnoDB区别和比较

两者的主要区别:1、默认引擎:在 MySQL5.5 之前,MyISAM 是 MySQL 的默认引擎;在 MySQL5.5 之后,InnoDB 是 MySQL 的默认引擎。2、是否支持行级锁:MyISAM 只有表级锁(table-level locking); InnoDB 支持行级锁(table-level locking)和表级锁(row-level locking)。3、是否支持事务:MyISAM 不支持事务;InnoDB 支持事务。4、是否支持外键:MyISAM 不支持外键;InnoDB 支
原创
发布博客 2021.02.25 ·
254 阅读 ·
1 点赞 ·
0 评论

各位大佬,现在我想用JAVA代码把这个表的数据处理成树形结构返回给前端,有没有什么办法?

答:

用这个方法即可,链接:https://blog.csdn.net/mangomango123/article/details/113350804

回答问题 2021.02.25

GitHub 快速搜索操作

一、in 关键词限制搜索范围:公式:xxx 关键词 in:name 或者 description 或者 readme。1、xxx in:name 表示项目名包含 xxx.springboot in:name2、xxx in:description 表示项目描述包含xxx.springboot in:description3、xxx in:readme 表示项目的readme文件包含xxx.springboot in:readme4、组合使用:搜索项目名或者readme包含SpringB
原创
发布博客 2021.02.24 ·
74 阅读 ·
1 点赞 ·
0 评论
加载更多