在生产环境中,使用Executors提供的快捷方法(如newFixedThreadPool、newCachedThreadPool等)创建线程池是不推荐的,主要原因如下: 推荐做法 建议在生产环境中使用ThreadPoolExecutor类手动创建线程池,并根据业务需求进行详细配置。例如: 通过这种方式,可以更精确地控 […]
在生产环境中,使用Executors提供的快捷方法(如newFixedThreadPool、newCachedThreadPool等)创建线程池是不推荐的,主要原因如下: 推荐做法 建议在生产环境中使用ThreadPoolExecutor类手动创建线程池,并根据业务需求进行详细配置。例如: 通过这种方式,可以更精确地控 […]
TCP的三次握手 TCP连接的建立时,双方需要经过三次握手,具体过程如下: (1)第一次握手:Client进入SYN_SENT状态,发送一个SYN帧来主动打开传输通道,该帧的SYN标志位被设置为1,同时会带上Client分配好的SN序列号,该SN是根据时间产生的一个随机值,通常情况下每间隔4ms会加1。除此之外,SYN […]
1. 引言 存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性。本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用、修改、删除等操作。 2. 存储过程与存储函数 MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。与一般的SQL语句需要先编 […]
问题 之前一直用的2021版的IDEA,最新想尝尝鲜,升级到了2024版,升级之后发现代码滚动各种不流畅。 寻找&解决 一开始以为是IDEA内存没给够,直接给了8G,重启之后发现还是不行。 接着又琢磨着是不是插件太多了,毕竟新版idea功能比老版多太多了,默认插件也是多了不少,把能禁用的全都禁用之后,发现还是不 […]
问题背景 问题是,咱们常常说:发生OOM,程序就会挂。 很多情况是:发生OOM了,JVM没有挂。 回顾一下OOM与异常 来看一下 OutOfMemoryError,说到底,OutOfMemoryError 也只是一个java中的异常而已, OutOfMemoryError 属于Error一系非检查异常, 其继承关系如下 […]
用Python做langflow的时候,遇到一个奇怪的问题: Mac 英特尔芯片的本子,导入hnswlib依赖的时候报错 环境:python3 错误信息: Building wheels for collected packages: hnswlib Building wheel for hnswlib (pyproj […]
前段时间发现线上有部分实例出现Redis异常,异常如下: "stack_trace": "org.redisson.client.WriteRedisConnectionException: Unable to send command! Node source: NodeSource [slot=null, addr […]
OHCache介绍 缓存框架OHC基于Java语言实现,并以类库的形式供其他Java程序调用,是一种以单机模式运行的堆外缓存。 OHC简介 缓存的分类与实现机制多种多样,包括单机缓存与分布式缓存等等。具体到JVM应用,又可以分为堆内缓存和堆外缓存。 OHC 全称为 off-heap-cache,即堆外缓存,是一款基于J […]
1、安装 vsftpd sudo yum install -y vsftpd 2、设置 vsftpd 开机自启动 sudo systemctl enable vsftpd 3、启动 FTP 服务 sudo systemctl start vsftpd 4、确认服务是否启动 sudo netstat -antup | g […]
背景 我们使用RocketMQ时,一般Consumer启动都是使用的@PostConstruct注解。(@PostConstruct:用于在执行任何初始化时执行依赖注入后需要执行的方法。),或者使用bean的方式配置。 配置如下: 生产者配置 在配置类中配置所有生产者,在业务中注入使用,将生产者的启动和销毁绑定到 Be […]
原因 最近写了一个python脚本,由于使用了分库分表,所以需要根据分表字段动态计算数据库以及表名,一开始直接在SQL中使用了%s占位符,后来发现报错,提示SQL语句语法错误,仔细一看才发现原来是直接把库名和表名外都加了单引号,导致语法错误,但是又不想直接去拼接SQL,毕竟有些费劲儿,所以就网上寻觅着换了种方法。 解决 […]
在任何文件夹下创建一个可执行脚本文件 命令如下: vi autoSSH.sh 文件内容如下: #!/usr/bin/expect -f set user root set host 192.168.0.1 set password 123456 set port 12345 set timeout -1 spawn s […]
IDEA下载源码报:Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven Importing JDK settings and restart IntelliJ IDEA Maven中 […]
什么是NanoId nanoid库和uuid库一样都可以生成唯一识别码,但是nanoid相比uuid要更轻量级。 用法 可以引用下方的jar包,或者项目中直接自己创建工具类。 引用jar包的POM依赖如下: <dependency> <groupId>com.aventrix.jnanoid&l […]
背景 mysql分页查询是我们常见的需求,但是随着页数的增加查询性能会逐渐下降,尤其是到深度分页的情况。我们可以把分页分为两个步骤: 定位偏移量 获取分页条数的数据 所以当数据较大页数较深时就涉及一次需要耗费较长时间的操作。所以mysql深度分页的问题该如何解决呢? 首先我们来看一个简单的查询: SELECT * FR […]
黄沙百战穿金甲,不破楼兰终不还。