- 博客(90)
- 收藏
- 关注
原创 Java 线程池详解
参考:https://github.com/spring-projects/spring-integration/blob/main/spring-integration-core/src/main/java/org/springframework/integration/util/CallerBlocksPolicy.java。当线程池无法接受更多任务时,会根据设定的拒绝策略来处理新任务。如果在指定时间内无法放入队列,则可能丢弃任务。是一个自定义的拒绝策略,它会在任务无法立即执行时让。
2024-09-04 15:40:05
823
原创 @ConfigurationProperties 注解分析
ConfigurationProperties 是 Spring Boot 提供的一个非常实用的注解,用于将中的属性。这使得配置文件中的可以方便地映射到 Java 类的上。
2024-09-01 11:24:09
409
原创 CompletableFuture详解
在JAVA8开始引入了全新的类,它是Future接口的一个实现类。也就是在Future接口的基础上,额外封装提供了一些执行方法,用来解决Future使用场景中的一些不足,对流水线处理能力提供了支持。当我们需要进行异步处理的时候,我们可以通过方法,传入一个具体的要执行的处理逻辑函数,这样就轻松的完成了CompletableFuture的创建与触发执行。方法名称作用描述静态方法,用于构建一个对象,并异步执行传入的参数,允许执行函数有返回值runAsync静态方法,用于构建一个。
2024-08-06 16:48:59
14415
1
原创 压力测试和线程监控方式
使用CompletableFuture不仅不会降低方法的并发度,反而能够提高系统的并发性能。如果需要进一步控制并发度,可以通过调整线程池大小来实现。通过这些手段,你可以更准确地评估使用CompletableFuture之后系统性能的变化情况。
2024-08-06 10:31:14
472
原创 SpringBoot项目接口可以承受的调用次数
在测试时,你应当逐步增加并发用户数量和请求频率,同时监控系统资源使用情况(如CPU使用率、内存使用、线程数等),直到找到系统的瓶颈点。压力测试可以通过模拟不同的并发用户数量和请求频率来测试系统的极限和稳定性。此外,考虑到系统可能的扩展性和冗余设计,通常还会采用水平扩展(增加服务器节点)和垂直扩展(提升单台服务器的硬件配置)的策略来提高接口的处理能力。最后,值得注意的是,即使在理想条件下得到了一个最大调用量的数字,这个数字也会随着系统环境的变化而变化,因此定期进行性能测试和优化是非常必要的。
2024-08-05 10:02:28
399
原创 在Linux系统上安装Conda安装教程
为了加快后续包的下载速度,你可以设置conda使用国内的镜像源。至此,你就完成了Miniconda在Linux系统上的安装和基本配置,可以开始创建虚拟环境、安装软件包等操作了。替换为你的Miniconda实际安装路径。请替换版本号和URL以匹配你需要的版本。
2024-05-11 14:57:07
798
2
原创 并行流学习
参考:https://juejin.cn/post/6844903830254010381?流是可以并行执行的,当流中存在大量元素时,可以显著提升性能。并行流底层使用的, 它由方法提供。在我的机器上,公共池初始化默认值为 3。集合支持方法来创建元素的并行流。或者你可以在已存在的数据流上调用中间方法parallel(),将串行流转换为并行流,这也是可以的。如您所见,并行流使用了所有的中的可用线程来执行流式操作。在持续的运行中,输出结果可能有所不同,因为所使用的特定线程是非特定的。让我们通过添加中间操作。
2024-04-15 10:40:54
393
原创 微服务中无服务状态和有服务状态分析
在微服务架构中,无状态服务(Stateless Service)和服务状态(Stateful Service)是两种截然不同的设计和服务管理方式。
2024-04-11 10:12:32
1227
原创 springboot组件的单例模式和分布式分析
Spring容器默认会将所有的@Component、@Service、@Repository和@Controller注解标记的类作为单例对象进行实例化,这意味着在整个Spring IoC容器的生命周期内,对应类型的Bean只会被初始化一次,并且所有对该Bean的请求都会返回同一个实例。在单机环境下,Spring Boot应用中的单例Bean能够有效避免不必要的资源消耗和状态冲突,同时简化编程模型,比如在处理共享资源时,由于只有一个实例存在,所以很容易实现全局范围内的状态管理。
2024-04-11 10:01:48
857
原创 Undertow简介
Undertow 是一个高性能、灵活且轻量级的和,由 Red Hat 公司开发并维护。作为 WildFly 应用服务器的默认 Web 容器,Undertow 以其卓越的性能、低资源消耗、高度可定制性和可嵌入性而在业界广受好评。
2024-04-03 16:17:53
1123
原创 c++jni调用
JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言(如C++)编写的代码之间进行交互。当你需要在Java应用程序中调用C++编写的本地代码时,通常遵循以下步骤:编写Java接口: 首先,在Java端编写一个。在这里,basic_mediafile_encrypt被声明为native方法,表示该方法将在C++代码中实现。
2024-03-27 14:53:34
543
原创 JUC 知识总结
在 SemaphoreExample 类的 main 方法中,我们创建了 5 个线程来尝试访问共享资源,但由于 Semaphore 的限制,只有 3 个线程可以并发访问资源。其他线程将被阻塞,直到有线程释放了许可证。当线程需要访问一个共享资源时,它必须首先获取一个许可证(通过调用 acquire() 方法),如果许可证可用,则线程可以继续执行并访问资源。限制对资源的并发访问数量:例如,如果你有一个数据库连接池,并且你希望同时只有一定数量的线程可以访问数据库,你可以使用 Semaphore 来实现这一点。
2024-02-26 17:19:20
383
原创 Netty
此外,Channel 接口中的 read() 方法用于从当前的 Channel 中读取数据到第一个 inbound 缓冲区中。所有与 Channel 关联的 I/O 操作都是异步的,这意味着一旦调用 I/O 操作,它会立即返回,而不保证所请求的 I/O 操作在调用结束时已完成。以上信息仅供参考,如需了解更多关于 io.netty.channel.Channel 的信息,建议查阅 Netty 的官方文档或相关教程。,无论是实体之间的连接、程序之间的连接、文件之间的连接还是设备之间的连接。
2024-02-26 16:52:29
262
原创 Linux用到的命令
这个命令的作用就是创建一个以.tar.gz结尾的包文件,然后调用gzip程序将当前目录下的pm文件夹压缩到这个以.tar.gz结尾的文件里面去。
2024-02-19 17:51:59
1156
1
原创 流媒体知识总结
各种流媒体协议都是将视频分解为多个块,然后发送给视频播放端,播放端接收、重新组合、完成播放。根据传输是否,还有和顺序流式传输的区别。接下来我们就介绍常用的几种常用技术:RTP、RTSP、RTMP、HLS、SRT、WebRTC。
2023-12-21 16:52:20
1130
原创 DateUtils,Date,Calendar函数用法详解
这个例子将返回一个新的日期对象,它的值是当前日期的下一天的开始时间。如果当前日期是2021年8月1日,则返回的日期对象将是2021年8月2日的开始时间(即2021年8月2日00:00:00.000)。解析:将给定的日期向上舍入到最接近的一天的开始时间。也就是说,它会将给定的日期的时、分、秒和毫秒设置为0,并将日期加1天。
2023-11-23 15:54:13
268
原创 MySQL常用函数
借助INET6_ATON函数,检查以下地址“ 10.16.25.0”的等效VARBINARY表示形式。由于它是有效的IPv4地址,我们将以VARBINARY形式获得结果。参考文章:https://vimsky.com/examples/usage/inet6_aton-function-in-mysql.html。它以VARBINARY(二进制)数据类型返回地址的数值:IPv6地址为VARBINARY(16),IPv4地址为VARBINARY(4)。输入由字符串表示的IPv4或IPv6地址。
2023-11-21 14:25:56
141
原创 十进制转换成2进制
ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169960944816800227457337%2522%252C%2522scm%2522%253A%252220140713.130102334…即:十进制转二进制,基数就是2,用2整除一个十进制正整数,可以得到一个商和余数;然后把先得到的余数作为二进制数的低位有效位,把后得到的余数作为二级制的高位有效位,依次排列起来。注:计算机内部表示数的字节单位是定长的,如8位,16位,32位。
2023-11-10 18:04:49
372
1
原创 IOC - 基于注解管理Bean
spring默认不使用注解装配Bean,我们需要在启动类上添加注解开启SpringBeans 的自动扫描功能。开启此功能后,spring会自动扫描指定的包及其子包下的所有类,如果类上使用了@Component注解,就将该类装配到容器中。组件扫描使得spring可以使用注解方式完成bean管理,包括创建对象,包括注入属性。
2023-11-10 17:18:35
124
原创 如何提交代码到测试分支
切记:不可以合并测试分支到自己正在开发分支,否则可能会合并别人的bug过来,自己的开发分支只可以有自己的代码和发布分支的代码。1、切换到测试分支,拉取最新代码。2、merge 开发分支。
2023-09-11 11:12:31
105
原创 MySQL中concat()、concat_ws()、group_concat()函数使用技巧与心得
参考链接:https://zhuanlan.zhihu.com/p/257399676首先我们来建立一个测试的表和数据,代码如下。
2023-09-06 17:11:19
160
原创 运行python脚本
步骤一:下载python,参考教程:https://blog.youkuaiyun.com/maiya_yayaya/article/details/131450517。步骤二:安装gitPython。
2023-08-29 17:19:51
83
原创 Kafka使用教程
参考:https://blog.youkuaiyun.com/zhizhi120/article/details/127727810。
2023-08-28 16:19:47
645
原创 shardingsphere分库分表
在 FROM 的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。,则此两张表互为绑定表关系。绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率会大大提升。注意上面标黄的地方,是均,意思就是后面t_order和t_order_item表的分片规则要一模一样,根据同一个字段分片。在水平拆分的数据库中真实存在的物理表,即上个示例中的t_order_0 到 t_order_9。相同结构的水平拆分数据库(表)的逻辑名称,是。2、在不配置绑定表关系时,假设分片键。表的分片计算将会使用。
2023-08-24 15:31:29
107
原创 正则表达式总结
转自:https://juejin.cn/s/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B8%AD%E7%9A%84%20d%2B正则表达式中的 d+ 表示匹配一个或多个数字,其中 d 表示数字的意思。因此,d+ 可以匹配一个或多个连续的数字字符。例如,正则表达式 \d+ 可以匹配字符串 “12345” 中的所有数字字符。其中,符号 + 表示匹配前面的表达式一次或多次。因此,d+ 表示匹配一个或多个数字字符。如果要匹配零个或多个数字字符,则可以使用符号
2023-08-07 10:44:09
1723
转载 ‘origin/dev‘ is not a commit and a branch ‘dev‘ cannot be created from it
git
2022-09-01 17:27:24
225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人