简单简单小白
码龄12年
关注
提问 私信
  • 博客:533,771
    社区:5,897
    问答:33,826
    573,494
    总访问量
  • 61
    原创
  • 85,915
    排名
  • 7,570
    粉丝

个人简介:用心做人,快乐开发。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 目前就职: 科大讯飞股份科技有限公司
  • 加入CSDN时间: 2013-03-08
博客简介:

简单简单小白

博客描述:
人只有被逼到绝境了才知道自己多么强大!
查看详细资料
  • 原力等级
    领奖
    当前等级
    5
    当前总分
    1,545
    当月
    12
个人成就
  • Java领域新星创作者
  • 获得283次点赞
  • 内容获得194次评论
  • 获得416次收藏
  • 代码片获得1,299次分享
创作历程
  • 3篇
    2024年
  • 15篇
    2023年
  • 8篇
    2022年
  • 3篇
    2021年
  • 1篇
    2020年
  • 19篇
    2018年
  • 4篇
    2017年
  • 8篇
    2016年
  • 2篇
    2015年
成就勋章
TA的专栏
  • 工具使用
    6篇
  • Apache ShenYu
    2篇
  • python
    2篇
  • Spring IOC源码分析系列
    8篇
  • spring 系列
    15篇
  • redis
    7篇
  • eclipse git
    1篇
  • mysql
    6篇
  • shiro
    1篇
  • git
    2篇
  • 百度地图
    1篇
  • Java基础
    8篇
  • rabbitmq应用
    2篇
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    spring
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

消息队列的主要应用场景

前面也介绍过消息队列如何进行选型,今天讲一下消息队列的主要应用场景。首先大家思考一个问题,我们为什么要使用消息队列,消息队列给我们带来了哪些好处呢?我们最常想到就是使用消息队列解决应用耦合,异步消息,流量削峰等问题。下面我们根据这些应用场景简单分析一下。
原创
发布博客 2024.04.19 ·
1038 阅读 ·
28 点赞 ·
0 评论 ·
15 收藏

消息队列选型(RabbitMq、RocketMq、Kafaka)

当引入消息队列时,常见的选择包括ActiveMQ、Kafka、RabbitMQ和RocketMQ。然而,近年来,ActiveMQ的活跃度已经下降,很多公司已经不再使用这款消息队列中间件,因此在比较中不再涉及该产品。其实如果一般来说你业务使用mq,对消息的安全性要求较高,选择RocketMq;如果对于一些使用mq数据量比较大的场景,比如日志相关的,对消息的丢失要求不高的情况下,选择kafaka。
原创
发布博客 2024.04.19 ·
1400 阅读 ·
13 点赞 ·
1 评论 ·
19 收藏

mybatis-plus 的saveBatch性能分析

mybatis-plus 的service里面的saveBatch()真的是批量插入吗?性能如何?
原创
发布博客 2024.03.18 ·
1860 阅读 ·
29 点赞 ·
4 评论 ·
16 收藏

Redis缓存与数据库如何保证一致性

如果对缓存命中率要求较高的话就得采用更新数据库再更新缓存的方案,如果对命令率要求不高则采用先更新数据库再删除缓存。前面也分析了这两种方案都有缺陷,都可能在并发情况下存在缓存与数据库不一致。那么针对这两种情况做下优化。
原创
发布博客 2023.12.28 ·
1884 阅读 ·
31 点赞 ·
14 评论 ·
36 收藏

你是怎么看待程序员不写注释这一事件的呢?

程序员对代码注释可以说是又爱又恨又双标……你是怎么看待程序员不写注释这一事件的呢?
原创
发布博客 2023.10.10 ·
1858 阅读 ·
16 点赞 ·
16 评论 ·
11 收藏

Redis缓存雪崩、击穿、穿透

例子:一家电商网站在特定促销活动期间,大量商品信息缓存在Redis中,过期时间一致,导致在促销开始瞬间大量请求同时访问数据库。例子:一款在线游戏中,某个道具的信息存储在Redis中,但道具被大量用户同时请求,导致缓存未命中,所有请求都访问数据库。缓存击穿是指针对某个热点数据的请求在缓存中未命中,但请求量非常大,导致所有请求都直接访问数据库,增加了数据库负载。缓存穿透是指请求一个不存在于缓存中的数据,但是该数据在数据库中也不存在,导致大量无效请求直接访问数据库,浪费资源。
原创
发布博客 2023.09.27 ·
632 阅读 ·
13 点赞 ·
7 评论 ·
1 收藏

Redis的安装与基本使用

对于生产环境,建议在基于Linux的服务器上运行Redis,或者使用Windows上的Redis端口(这是与官方Redis不同的项目,不建议用于生产环境)。此外,我的知识截止日期是2021年9月,软件版本和说明可能已发生变化。为使此方法有效,你需要运行Windows 10版本2004或更高版本,或者Windows 11。Redis在Windows上没有官方支持,Redis的Windows版本目前稳定版为5.0,最初由微软维护,后来由tporadowski接手维护。我们这边用的是包里面自带的默认的配置文件。
原创
发布博客 2023.09.27 ·
742 阅读 ·
1 点赞 ·
3 评论 ·
1 收藏

Linux 下 Mysql 的安装与卸载

如果上面的操作还是不可以进行远程连接,找到/etc/mysql/my.cnf文件,找到bind-address,此时的绑定的地址是127.0.0.1或者是localhost ,修改为bind-address= 0.0.0.0。Ok了,再次重启服务,即重复(5)操作。上面两步没什么说的,比较简单 安装时记住密码。
原创
发布博客 2023.09.22 ·
421 阅读 ·
3 点赞 ·
6 评论 ·
2 收藏

认识Redis

Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、Zset(有序集合)、Bitmaps(位图)、HyperLogLog(基数统计)、GEO(地理信息)、Stream(流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。除此之外,Redis 还支持。
原创
发布博客 2023.09.21 ·
499 阅读 ·
2 点赞 ·
4 评论 ·
2 收藏

Spring Cloud 与dubbo微服务架构选型

最终,选择框架取决于项目的需求和团队的背景。如果团队已经熟悉Spring框架,项目规模不是特别大,可以考虑Spring Cloud。如果项目需要高性能和扩展性,尤其是在大规模的微服务架构中,Dubbo可能更合适。此外,可以考虑混合使用两者以充分利用各自的优势。无论如何,都需要仔细评估并根据实际情况做出明智的决策。
原创
发布博客 2023.09.11 ·
4953 阅读 ·
11 点赞 ·
21 评论 ·
11 收藏

Mysql的定时备份与恢复

这里我选择的是mysqldump 工具来进行备份与还原的。/bin/bash$(date.sql"recover.sh/bin/bash$(date_tt.sql"添加linux 定时任务:打开终端:打开一个终端窗口,以便在命令行中设置和管理cron任务。编辑cron表:使用crontab命令编辑当前用户的cron表。crontab -e3.例如,要每天午夜执行一个脚本(假设脚本位于。
原创
发布博客 2023.09.11 ·
5312 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

windows一键启动jupyter

下载官方python进行解压,并且将get-pip.py放入到python文件夹下首先判断python是否已经安装过,未安装则配置python环境变量首先判断pip模块是否已经安装过,未安装通过python代码安装pip模块安装完以后pip模块后,再配置pip的环境变量为了防止安装jupyter超时,通过python代码更换镜像源为国内镜像源使用pip进行安装jupyter启动jupyter此步骤则是完整的代码逻辑,其实这里并不完整,因为你安装了jupyter。
原创
发布博客 2023.08.23 ·
13432 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

windos 一键安装jupyter

发布资源 2023.08.23 ·
zip

免安装版本python安装pip模块

前往 Python 官方网站的,在“Looking for a specific release?”下拉菜单中选择一个合适的便携式版本(例如,Python 3.8.12 64-bit 精简版本),然后下载对应的压缩文件(zip格式)。
原创
发布博客 2023.08.23 ·
6248 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Jupyter并发测试以后出现EOFError marshal data too short

通过异常日志分析,查到这篇文章https://stackoverflow.com/questions/50391941/eoferror-marshal-data-too-short说是要pyc文件损坏,需要删除。已经达到顶峰值,然后我暴力关掉所有的kernels以后,再进行使用的时候,出现。由于项目需求需要用户能进行网页在线运行python代码程序,调研后决定使用。最后想了一个暴力的解决方案,直接删除。进行容器化部署,测试针对次服务进行并发测试。下的缓存文件,使用一下命令查询并删除。
原创
发布博客 2023.08.14 ·
12753 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Java 包装类型的缓存机制

Integer 最常见的面试题,就是问Integer的值如何比较相等。
原创
发布博客 2023.08.01 ·
5342 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Git使用规范&&Git常用命令

多人修改同一分支,我在本地修改好后,发现远程分支已经被改动了,此时是无法pull的。找到提交的commit id ,只有两次以上的提交才可以使用,如果只有一次提交则使用。需求版本大版本根据:V1.0.0 往后累加 V1.1.0。首选需要找到需要修改的commit it ,这里修改完成以后需要强制推到版本分支才可以。保存以后退出,再查看一下提交内容是否被修改。分支上修改了代码,这个时候想把代码切换到。不小心改动了其他分支代码。也可以直接基于dev分支直接推送分支。分支上开发,一不小心切换到了。
原创
发布博客 2023.07.19 ·
14118 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

使用ResponseBodyAdvice返回值为String出现cannot be cast to java.lang.String异常

由于项目中为了全局返回统一的JSON格式,使用ResponseBodyAdvice进行拦截,拦截的时候会将返回的信息统一一个对象返回到前端。但是有的同事将一个String的响应对象返回,结果报错com.example.demoweb.config.ApiResponse cannot be cast to java.lang.String
原创
发布博客 2023.07.08 ·
26741 阅读 ·
7 点赞 ·
11 评论 ·
8 收藏

Mysql ID生成策略的优缺点以及如何选择

单机或小规模应用:对于规模较小、不需要分布式支持的应用,ID自增是简单而可行的选择。它易于使用和理解,并能保证唯一性。大规模分布式系统:在需要分布式支持、有序和唯一ID的大规模系统中,雪花算法是更合适的选择。它能够生成分布式环境下的有序且唯一ID,适应大规模的分布式架构。分布式环境下的全局唯一ID:如果全局唯一性是主要要求,并且不需要严格的有序性,UUID是一个可选的策略。它可以在分布式环境中生成全局唯一的ID,适用于分布式系统、大规模系统或需要独立生成ID的场景。
原创
发布博客 2023.06.30 ·
23350 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Navicat无法设置数字格式

答:

这个你再后端代码拿出来的时候格式化一下就好了,

/**
     * @Title: fmtMicrometer
     * @Description: 格式化数字为千分位
     * @param text
     * @return    设定文件
     * @return String    返回类型
     */
    public static String fmtMicrometer(String text) {
        DecimalFormat df = null;
        if (text.indexOf(".") > 0) {
            if (text.length() - text.indexOf(".") - 1 == 0) {
                df = new DecimalFormat("###,##0.");
            } else if (text.length() - text.indexOf(".") - 1 == 1) {
                df = new DecimalFormat("###,##0.0");
            } else {
                df = new DecimalFormat("###,##0.00");
            }
        } else {
            df = new DecimalFormat("###,##0");
        }
        double number = 0.0;
        try {
            number = Double.parseDouble(text);
        } catch (Exception e) {
            number = 0.0;
        }
        return df.format(number);
    }
    
}


回答问题 2023.03.27
加载更多