自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 mybatis druid postgresql statement超时原理原理

#PgStatement executeInternal方法启动 Timer定时任务 超时启动取消请求任务,取消任务达到时间发送取消给pg进程。##connection.addTimerTask 方法把取消任务放到定时调度线程。BaseStatementHandler设置超时。configuration 设置超时。

2024-08-18 09:08:15 44

原创 linux下tomcat nio 底层源码调用系统函数处理流程

linux tomcat使用nio 调用jvm native C++ 底层调用系统函数源码原理。##poller 线程从队列取出PollerEvent,通过调用ctl 添加到linux红黑树。##native accept0方法 在jvm 底层实现。##接受socket 给poller的selector。##EPoll native 方法在jvm c实现。##Acceptor接受socket。##EPoll native 方法。

2024-08-17 17:10:05 86

原创 JAVA Thread interrupt interrupted在底层jvm源码实现原理

#os_posix.cpp代码。中断unpark唤醒线程。##jvm 层C++代码 jvm.cpp代码。##java层 native代码。##thread.cpp代码。##Thread.c代码。

2024-08-13 18:15:29 170

原创 druid连接池max-wait实现机制原理

/ send signal to CreateThread create connection 唤醒连接池生产者。##yaml配置 max-wait: 6000不与设置得过大,如果遇到慢sql导致http请求线程数暴涨,出现系统反应卡顿,请求相应慢、超时。notEmpty.awaitNanos(estimate) 进入park。##源码 poolingCount 池中无连接。

2024-08-10 12:32:32 215

原创 ubuntu22.04下Postgresql 源码编译安装

##postgresql-15.2.tar.gz下载源码包wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.gz##更新apt源sudo apt update##安装依赖sudo apt install -y make autoconf automake libtool pkg-config g++ flex bison libreadline-dev zlib1g-dev libssl-dev libxml2-dev

2024-08-10 11:53:15 373

原创 Spring boot logback日志框架加载初始化源码

/取出配置文件log xml配置。##实例化xml配置节点日志对象ch.qos.logback.core.rolling.RollingFileAppender。##添加到appenderList集合容器,循环调用输出日志到文件或控制台。##日志对象存到这个InterpretationContext上下文。##Spring boot 集成logback日志框架。

2024-08-08 18:49:32 431

原创 java native newInstance0方法在jvm底层实现原理

jvm.cpp实现这个方法JVM_NewInstanceFromConstructor。newInstance0底层实现逻辑。使用构造器反射对象实例。

2024-08-08 18:08:58 325

原创 Spring boot 系统出现请求卡顿缓慢排查解决方案

写一个切面,切controller service dao mapper层,看是哪层出现问题,在具体排查。系统出现请求卡顿缓慢,使用jstack,jmap,jstat都没查看到问题。查看日志,配合jstack线程栈 看哪个方法最耗时长。

2024-08-08 16:36:30 303

原创 Spring boot tomcat使用自定义线程池监控线程数量告警

Spring boot tocmat 使用自定义线程池。自定义线程池TomcatMonitorConfig。线程池 接近最大线程数量 警戒值告警。

2024-08-08 16:18:29 232

原创 Tomcat 最大连接数实现原理

spring boot 内置tomcat设置连接数 max-connections: 5。##初始化连接数量connectionLimitLatch。##借助AQS类 连接数不能大于限制数量。##Acceptor接收连接的时候加1。

2024-08-08 13:46:30 342

原创 Spring boot tomcat 读写超时时间设置

yaml配置 connection-timeout: 20000。

2024-07-30 16:01:29 185

原创 java的Unsafe类native方法unpark park在底层jvm中实现原理

java的Unsafe类native方法unpark park在底层jvm中实现原理。

2024-07-19 14:18:45 444

原创 Spring 定时任务Scheduler监控异常和超时取消

2、自定义ThreadPoolTaskScheduler设置核心数大小,包装Runnable任务对象。1、定义一个执行任务。

2024-07-19 13:57:06 238

原创 DBeaver操作MySQL无法同时执行多条语句的解决方法

DBeaver选择数据库连接,在【驱动属性】中将允许执行多条语句置为True。

2024-07-10 16:16:43 254

原创 baomidou多数据源切换注解@DS没有效果

Transactional导致 conHolder不为空,获取到数据库连接是事务切面设置进去的数据库连接。##原因 方法上有@Transactional注解。baomidou多数据源切换注解@DS没有效果。##spring事务设置的进去数据库连接。##ds为空,取到默认的数据源。

2024-07-06 22:05:58 380

原创 InetAddress.getLocalHost().getHostAddress()阻塞导致整个微服务崩溃

InetAddress.getLocalHost().getHostAddress()阻塞导致整个微服务崩溃。##解决方案 /etc/hosts里面配置要一致。这段代码执行时间大于5秒。

2024-07-06 12:26:27 366

原创 android源码下载编译模拟器运行

vim repo #修改repo文件googleapis替换为清华大学镜像源。.bashrc最后一行加入 export REPO_URL='

2024-06-02 08:54:06 779

原创 android studio修改字体大小

android studio修改菜单栏、工具栏字体大小。android studio修改编辑框字体大小。

2024-05-31 09:50:17 632

原创 ubuntu20.04 终端 设置字体大小

##ubuntu20.04 Terminal 终端 设置字体大小##打开Terminal 终端,点击Preferences设置字体大小##点击unnamed选项卡,打钩Custom font 设置 字体大小

2024-05-25 10:31:33 452

原创 virtual box ubuntu20 全屏展示

#进入终端。

2024-05-25 10:24:00 329

原创 ideal 启动 多个 相同 工程

spring相同项目在idea多次运行。

2024-05-24 10:11:06 195

原创 手动修改docker中oceanbase-ce容器cpu资源使用上限

echo 50000 > cpu.cfs_quota_us # 配额为周期的一半,即50%echo 100000 > cpu.cfs_period_us # 假设周期为100ms。

2024-05-18 16:41:06 355

原创 java 入口函数 static main方法如何被jvm执行调用

jvm执行java 入口函数 public static void main方法。java 入口函数 static main方法如何被jvm执行调用。

2024-05-18 09:45:31 319

原创 java 线程执行原理,java线程在jvm中执行流程

#系统调用创建线程 os::create_thread(this, thr_type, stack_sz);java 线程执行原理,java线程在jvm中执行流程。##通过java jni回调run方法。从jvm视角看java线程执行过程。

2024-05-16 16:02:05 397

原创 linux 查看java线程与linux线程关系

由此就可以查看哪个java线程最耗cpu资源。从而排除cpu 100%问题。ps显示pid和java nid 计算。可以使用计算器转换16进制。##linux查看java进程。##linux查看java线程。##linux查看java堆栈。

2024-05-16 09:34:51 262

原创 JAVA内部类是否如何访问外部类的私有方法、私有成员变量

在内部类构造器上面传入InnerClassMethodThis参数和内部类增加一个内部类成员变量InnerClassMethodThis。内部调用外部类私有方法public void innerMethod() 实际上调用的是编译器生成的access$000方法。内部类访问外部类私有方法或者私有成员方法,编译器是帮我们生成了一个静态方法给内部类调用。JAVA内部类是否如何访问外部类的私有方法。从代码已经看不出什么了。

2024-05-11 16:27:17 275 2

原创 redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程

9、处理对应redis 命令 processCommandAndResetClient。10、处理客户端写事件 handleClientsWithPendingWrites。8、processMultibulkBuffer 处理客户端请求数据。6、回调函数处理连接请求 readQueryFromClient。5、处理读事件AE_READABLE。11、拉取写回调 数据准备写回客户端。12、调用系统函数给客户端写回数据。1、AE_READABLE事件。4、添加客户端cfd读写事件。

2024-04-13 20:09:38 197

原创 ubuntu22下使用vscode调试redis7源码环境搭建

【代码】ubuntu22下使用vscode调试redis7源码环境搭建。

2024-04-13 09:52:43 296

原创 redisson与redis集群检测心跳机制原理

1、ClusterConnectionManager.scheduleClusterChangeCheck 创建延时定时调度任务。通常用于那些需要异步执行任务的场景,它提供了一个线程池来执行提交的任务。3、processSelectedKeys() 处理网络事件。任务在未来的某个时间点执行。,但更加通用,可以用于执行非I/O任务和I/O任务。redisson与redis集群检测心跳机制原理。是 Netty 中用于管理一组。接口的一部分,它允许你安排一个。4、更新redis集群状态。

2024-04-12 15:19:04 353

原创 jdk11 运行环境下,netty 反射报错,模块访问报错

【代码】jdk11 运行环境下,netty 反射报错,模块访问报错。

2024-04-09 20:46:40 1102

原创 spring cloud gateway openfeign 联合使用产生死锁问题

spring event 事件 onApplicationEvent(ApplicationEvent event)

2024-04-08 14:27:25 684

原创 java对象是怎么在jvm中new出来的,在内存中查看java对象成员变量字段属性值

java对象是怎么在jvm中new出来的。查看java对象字段属性在内存中的值。java 对象 创建 流程。计算器转换10十进制数字。

2024-04-06 12:07:55 284

原创 openjdk11 java static字段是放到new的对象上,还是类对象上。是在元数据空间,还是堆空间

java static字段是放到new的对象上?是在元数据空间,还是堆空间?6、查看堆区地址,0x7148b8000地址在堆区上。./jps ##查看GDBDebug进程ID号。查看openjdk11源码,证明真相。

2024-03-30 16:21:55 188

原创 opejdk11 java 启动流程 java main方法怎么被jvm执行

10、执行GetStaticMethodID方法查找类的main方法,执行CallStaticVoidMethod方法调用java main方法函数。8、执行JavaMain方法,执行InitializeJVM方法初始化java虚拟机。5、执行CallJavaMainInNewThread方法。4、执行ContinueInNewThread方法。6、创建线程执行ThreadJavaMain方法。7、执行ThreadJavaMain方法。2、执行JLI_Launch方法。3、执行JVMInit方法。

2024-03-30 10:32:49 279

原创 jdk11中自定义java类在jvm是如何被查找、加载

以下说明的是MiDept类是如何被java classloader 和 jvm加载步骤。10、返回klass镜像对应java的class类对象。jdk11中java类在jvm是如何被1查找、2加载。1、对应jni的findLoadedClass0方法。4、从文件中加载klass。7、加载完成返回klass。4、字典中查找klass。9、添加klass到字典。5、返回klass实例。6、创建klass实例。在native层函数。在native层函数。

2024-03-26 18:23:09 326

原创 IntelliJ IDEA 标签栏多行显示

IntelliJ IDEA 标签栏多行显示。

2024-03-14 14:11:15 416

原创 VS CODE标签栏多行显示

VS CODE标签栏多行显示。

2024-03-14 14:08:15 196

原创 docker 创建oceanbase数据库

#obclient客户端使用租户集群密码连接proxy 2883 数据库 oceanbase。##调整资源单元(Resource Unit, RU)的日志磁盘大小。##创建资源单元(Resource Unit, RU)##使用tenant_1租户连接oceanbase库。##创建资源池(Resource Pool)##docker拉取oceanbase镜像。##docker启动oceanbase容器。##使用mysql客户端连接testdb。##进入oceanbase容器。##创建数据库testdb。

2024-01-23 13:49:11 664

原创 java使用easyexcel读取excel内容

#读取excel工具类ReadExcelUtils。使用阿里巴巴easyexcel读取excel内容。##实体类TableExcelInfo。java 代码读取excel内容。

2024-01-22 18:41:54 584

原创 WPS 该数字文本类型,可能导致计算结果错误 解决方案

WPS 该数字文本类型,可能导致计算结果错误 解决方案。##点击数据-分列 一直下一步。

2024-01-22 10:52:01 1681

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除