- 博客(19)
- 收藏
- 关注
原创 解决 MyBatis 中空字符串与数字比较引发的条件判断错误
在 MyBatis 中进行条件判断时,空字符串与数字的比较可能会导致一些意外的结果,尤其是在使用 `test` 标签进行 SQL 动态拼接时。本文分析了当 `isCollect` 为空字符串时,错误地执行到 `test="isCollect == 0"` 这一条件的原因,并提供了针对性的解决方案,帮助开发者更好地处理 MyBatis 条件判断中的类型转换问题。
2024-12-11 17:07:05
1081
原创 揭开 gRPC、RPC 、TCP和UDP 的通信奥秘
gRPC 是为微服务架构设计的,提供了高效、可扩展的远程调用方式。UDP (User Datagram Protocol) 是一种无连接的传输层协议,它注重速度和效率,不提供数据传输的确认机制,因此不能保证数据的可靠性。:HTTP/2 是 HTTP 协议的改进版本,支持多路复用、请求优先级和头部压缩,大幅度提升了性能,减少了延迟和带宽使用,是现代化 Web 应用程序中广泛使用的协议。:例如,实时视频流、聊天应用等需要双向通信的场景,gRPC 的 HTTP/2 支持双向流,是实现实时数据交换的理想选择。
2024-11-11 13:47:22
1396
原创 使用nvm管理Node.js多版本
在前端开发中,不同项目可能需要使用不同的Node.js版本,手动管理Node.js版本会非常麻烦。而nvm(Node Version Manager)可以方便地帮助我们在同一台机器上安装、切换多个Node.js版本。安装nvm之后,需要将其添加到环境变量中,确保可以在终端中全局使用nvm。但如果安装后无法使用nvm,可以手动配置。执行上述命令后,nvm的安装脚本会自动将nvm配置到环境变量中。nvm可以轻松安装、卸载不同版本的Node.js。至此,nvm就已经从你的系统中卸载干净了。
2024-09-19 13:42:53
496
原创 Spring Boot 集成分库分表中间件——让你的数据库飞起来!
分库分表是一种常见的数据库架构设计,主要用于解决单一数据库在大规模数据存储和高并发请求场景下的性能瓶颈。分库分表的核心思想是通过水平拆分(Sharding)将数据分散存储在多个数据库或表中,以减轻单个数据库的负担。不用担心!今天我们聊聊如何在Spring Boot项目中,使用分库分表中间件,轻松化解数据瓶颈,提升系统性能!在这里,我们将以Sharding-JDBC为例,手把手带大家搞定分库分表。常见的分库分表策略有以下几种:分库分表通常借助中间件或框架来实现,以下是常见的几种方案:MyCat:TDDL(Ta
2024-09-11 17:08:19
1122
原创 CountDownLatch 和 CyclicBarrier 使用场景详解
每个计算节点在完成自己的部分任务后,都需要等待其他节点完成,然后进行数据的聚合。在多人在线游戏中,常常需要在回合制游戏中同步所有玩家的行动结果,然后进入下一个回合。例如,多个玩家在同一回合中选择动作,所有玩家的动作都完成后,统一执行这些动作,再进入下一回合。假设你在开发一个复杂的算法,其分为多个步骤,每个步骤都需要多个线程协同工作并在同一时间点完成。也是一个线程同步工具,它允许一组线程相互等待,直到所有线程都到达一个共同的屏障点。是两种常用的同步工具类,它们虽然功能不同,但都用于线程之间的协调与同步。
2024-08-18 10:27:18
1086
1
原创 nginx出现500 Internal Server Error错误
确保 Nginx 进程对所需的文件和目录具有正确的访问权限。例如,如果使用的是静态文件,确保 Nginx 进程对这些文件具有读取权限。如果 Nginx 代理了一个后端应用程序,那么问题可能出在后端应用程序上。查看应用程序的日志文件,找到具体的错误信息。如果 Nginx 代理了一个后端服务(例如 PHP-FPM、Python 应用等),确保这些服务正在运行并且没有错误。错误日志是最直接的信息来源,日志会记录导致 500 错误的具体原因。确保主机的端口 80 映射到容器的端口 80。
2024-06-05 13:16:42
5462
原创 MySQL 时间维度分组统计(年、季度、月、周、日)
在数据库管理和分析中,经常需要根据不同的时间维度(如年、季度、月、周、日)来分组统计数据。这种统计可以帮助我们理解数据随时间变化的趋势,从而为决策提供支持。在本指南中,我们将通过具体的MySQL查询示例,演示如何实现这些按时间维度的分组统计。
2024-02-21 09:24:58
2562
原创 MYSQL性能优化方案
以及数据库连接串配置的参数,连接串参数可以重点关注serverTimezone、rewriteBatchedStatements、netTimeoutForStreamingResults、allowMultiQueries等参数;针对数据库配置审查,需要关注多个维度的配置参数,这些参数会影响到MySQL数据库的性能表现。下面列出了一些关键的配置项,以及如何审查和调整它们以优化数据库性能。通过审查和调整这些数据库配置,可以显著提高MySQL数据库处理大规模数据的能力,优化查询响应时间,提升整体性能。
2024-02-19 17:43:11
1011
转载 Oracle 到 TDSQL Mysql数据迁移
源端为 Oracle 11g 数据库在源端 Oracle 数据库创建测试用表 “test”.“qy”往表里插入测试数据表查询结果如下:目标端为 TDSQL 数据库,其中 kingdb 库下面只有图中 8 张表。暂时还没有名为 qy 的表,本次主要就是迁移 qy 这张表。迁移过程由于涉及不同数据库的各个方面的差异,会导致整个过程非常复杂。通常不会一帆风顺,会遇到各种意想不到的情况,所以也会面临多次失败的问题,大家一定要做好充分的心理准备。
2023-09-08 17:48:33
3269
原创 程序开发流程所需文档
下面列举的文档是根据典型的程序开发项目流程提供说明,具体的文档内容和格式可以根据项目的需求和团队的实际情况进行调整和扩展。
2023-07-07 11:18:02
4245
原创 Spring Framework中缓存模块的SpEL使用设计
Spring Framework中缓存模块的SpEL使用设计非常灵活,可以根据具体的应用场景自由地构建SpEL表达式。通过SpEL解析器、SpEL上下文和SpEL表达式这三个组件,我们可以方便地使用SpEL表达式实现动态生成缓存键、缓存值等。
2023-04-14 12:01:56
423
原创 JDK 8 和 JDK 17 的区别和新特性
本文介绍了Java Development Kit (JDK) 8和JDK 17之间的区别和差异,以及它们各自的优势和特点。JDK 8是一种较老的JDK版本,它在性能和稳定性方面得到了广泛的验证和应用。JDK 17是最新版本的JDK,它包括许多新的特性和改进,如基于类的记录(Records)、弱引用垃圾回收器(ZGC)等,这些新特性和改进为Java开发者提供了更多的选择和机会,同时也需要不断学习和更新自己的知识和技能,以适应Java技术的发展和变化。文章提供了部分简单代码使用示例
2023-04-04 11:49:18
13763
1
原创 vue项目,根据文件名,判断文件类型
https://blog.youkuaiyun.com/weixin_37861326/article/details/81702050
2021-07-02 14:39:46
3462
原创 Android studio异常关机,导致的项目文件显示内容混乱
问题导致:昨天笔记本忘记充电,as正在编译,然后然后就关机over了。重启之后就是各种文件内容混乱。万能清除缓存并重启也并没用什么卵用。如下图:产生原因说了,该谈谈解决方案点击下图的清除缓存就好了如果还是不行就看下方案二关闭as后,把.AndroidStudio3.5\system\caches目录下的文件删掉,重启as就欧克了。...
2020-02-26 11:07:48
472
原创 高德地图不显示定位点
高德地图不显示定位点先展示下效果图自己尝试过很多次,加了这个属性后就生效了,希望对大家有用// 显示定位层并且可以触发定位,默认是flaseaMap.setMyLocationEnabled(true);MyLocationStyle mls = new MyLocationStyle(); //设置是否显示定位小蓝点,用于满足只想使用定位,不想使用定位小蓝点的场景,设置false...
2019-11-05 09:08:35
4072
原创 Android 修改特殊字体样式
废话不多说,先上图 1、在assets下新建一个fonts文件,把字体样式 .TTF文件 放入 2、代码部分 @BindView(R.id.tv_tv) TextView tvTv; @BindView(R.id.tv_tv1) TextView tvTv1; ...
2019-04-17 19:17:37
1779
原创 Win10系统,鼠标右键点击office软件图标就会卡住,资源管理器无响应
这个问题困扰了我很久查阅过很多篇解决方案,我简单列举两个方法: 方案一 软件冲突引起的,一般以华硕电脑为主,卸载Foxit PhantomPDF的软件(福昕阅读器) 方案二 进入资源管理器点击查看,把【详细信息窗格】这个取消 希望以上两个方案能解决大家的问题!...
2019-02-27 10:04:08
5534
6
原创 String转化为date类型,从而获取星期几
//String转化为Date类型,从而获取时间 //StringtimeStr = "2018-10-30"public String getStringOfDateWeek(String timeStr){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");//定义日期格式 ...
2018-10-30 17:35:57
2980
原创 java中public、private、protected的区别
1、public公共,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问2、private私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问3、protected保护,加上这个修饰的类或属性,只能在类和同包访问,别的包不能访问作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √...
2018-05-17 08:58:23
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人