2022年6月19日

摘要: 前言:之前有写过关于重入锁ReentrantLock的解析,而重入锁ReentrantLock的核心在于它的两个锁非公平锁和公平锁的所继承的父类AbstractQueuedSynchronizer,接下来就是关于AbstractQueuedSynchronizer的详解,包括图文、源码。后文Abst 阅读全文
posted @ 2022-06-19 22:42 lyjlyjlyj 阅读(22) 评论(0) 推荐(0) 编辑

2022年6月14日

摘要: 前言:上一篇单线程池的随笔提到了非固定线程数的线程池,那么本文就以前文为基础,剖析Java线程池中的Executors.newCachedThreadPool()。Executors.newCachedThreadPool(),后文简称为缓存线程池。 ***Executors.newCachedTh 阅读全文
posted @ 2022-06-14 22:42 lyjlyjlyj 阅读(2264) 评论(0) 推荐(0) 编辑

2022年6月13日

摘要: Java线程池Executors.newSingleThreadExecutor() 前言:本文先就Java线程池 ThreadPoolExecutor 进行分析,然后逐步分析单线程池的源码工作流程 ThreadPoolExecutor的工作流程 我们执行以下代码: ExecutorService 阅读全文
posted @ 2022-06-13 21:13 lyjlyjlyj 阅读(2487) 评论(0) 推荐(0) 编辑

2022年6月9日

摘要: IO、NIO与Netty 前言:此文主要用于记录Netty学习之后的总结与笔记,较为浅显 Demo源码地址 1.BIO、NIO、AIO Java中有三种网络模型:BIO、NIO和AIO 1.1 BIO同步阻塞IO BIO就是Java IO包中的一系列流 import java.io.*; BIO作为 阅读全文
posted @ 2022-06-09 16:43 lyjlyjlyj 阅读(102) 评论(0) 推荐(0) 编辑

2022年5月31日

摘要: MySQL常见锁和场景分析 1.表结构和数据 数据: 2.场景分析: 阅读全文
posted @ 2022-05-31 11:12 lyjlyjlyj 阅读(29) 评论(0) 推荐(0) 编辑

2022年4月20日

摘要: 编写Dockerfile # 镜像来源的基础 FROM java:8 # 创建镜像容器时,会在Docker容器中创建对应的文件夹,因为SpringBoot内嵌的Tomcat工作路径需要这个文件夹。 VOLUME /tmp # 拷贝宿主机的文件到容器中 COPY /usr/local/xxx.log 阅读全文
posted @ 2022-04-20 21:34 lyjlyjlyj 阅读(241) 评论(0) 推荐(0) 编辑
摘要: # 拉取registry镜像 docker pull registry # 启动并挂载和映射端口 docker run --name registry -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart=always --pri 阅读全文
posted @ 2022-04-20 21:18 lyjlyjlyj 阅读(267) 评论(0) 推荐(0) 编辑
摘要: docker-gitlab-runner 安装配置 # docker安装gitlab-runner docker pull gitlab/gitlab-runner # 查看版本 docker run --rm -t -i gitlab/gitlab-runner --help # 启动并挂载 do 阅读全文
posted @ 2022-04-20 15:31 lyjlyjlyj 阅读(532) 评论(0) 推荐(0) 编辑

2021年6月3日

摘要: GC调优 参考:美团JVM调优文章 参数例子 java -jar -Xmx1024m -Xms1024m -Xmn256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/jvmlogs/ -XX:+UseParNewGC -XX:+Use 阅读全文
posted @ 2021-06-03 15:24 lyjlyjlyj 阅读(296) 评论(0) 推荐(0) 编辑

2021年4月29日

摘要: 栈 什么是栈 栈又叫堆栈,是先入后出的数据结构 栈是线程私有的,不能互相访问的,栈随着线程的创建而创建,并且在编译时就已确定了栈的大小 栈通过栈帧保存了局部变量、对象的内存引用地址、操作栈、动态链接等等 栈帧 栈帧就是栈中的最小单位,第一个方法的调用就会生成栈帧,并将其压如栈中,就是压栈。 第一个方 阅读全文
posted @ 2021-04-29 09:50 lyjlyjlyj 阅读(151) 评论(0) 推荐(0) 编辑

导航