Nicksxs's Blog
https://nicksxs.me/icon.png
What hurts more, the pain of hard work or the pain of regret?
2024-03-03T14:14:39.743Z
https://nicksxs.me/
Nicksxs
Hexo
Java 线程池系列-第四篇
https://nicksxs.me/2024/03/03/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E5%9B%9B%E7%AF%87/
2024-03-03T14:14:39.000Z
2024-03-03T14:14:39.743Z
<p>这一篇主要补充两个内容,第一部分就是获取任务的逻辑<br>首先是状态判断,如果是停止了,SHUTDOWN或更大的了,就需要减小工作线程数量<br>并返回 null,使得工作线程 worker 退出,然后再判断线程数量和超时,同样如果超过了就会返回
Java 线程池系列-第三篇
https://nicksxs.me/2024/02/24/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E4%B8%89%E7%AF%87/
2024-02-24T15:09:57.000Z
2024-02-24T15:09:57.350Z
<p>第三篇我们要来讲下 Worker 这个“打工人”,线程池里实际在干活的同学<br>Worker 实现了 Runnable 接口,所以在前面介绍的 <code>addWorker</code> 中<br>线程启动其实就调用了下面的 run 方法,而 run
Java 线程池系列-第二篇
https://nicksxs.me/2024/02/18/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E4%BA%8C%E7%AF%87/
2024-02-18T10:47:52.000Z
2024-02-18T10:47:52.382Z
<p>介绍了线程池的目的和实现概述,以及如何初始化的,我们就来开始看看线程池最重要的执行过程<br>老规矩,还是先把注释翻译下,这个对理解逻辑其实非常重要,后面可以循着注释的逻辑来看代码<br>第一步,如果是少于核心线程数的线程正在运行,那么尝试去开启一个新线程,并把提交的命令<
Java 线程池系列-第一篇
https://nicksxs.me/2024/02/11/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E4%B8%80%E7%AF%87/
2024-02-11T11:39:05.000Z
2024-02-11T11:52:10.080Z
<p>这一篇我们继续聊线程池,一般线程池会介绍我们的参数,我先不一样一些<br>我们先来翻译一下</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span
Java 线程池系列-准备篇
https://nicksxs.me/2024/02/04/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E5%87%86%E5%A4%87%E7%AF%87/
2024-02-04T15:10:20.000Z
2024-02-04T15:10:20.876Z
<p>Java 线程池是 Java
Leetcode 572 Subtree of Another Tree 题解分析
https://nicksxs.me/2024/01/28/Leetcode-572-Subtree-of-Another-Tree-%E9%A2%98%E8%A7%A3%E5%88%86%E6%9E%90/
2024-01-28T13:17:42.000Z
2024-01-28T13:17:42.631Z
<h2 id="题目介绍"><a href="#题目介绍" class="headerlink" title="题目介绍"></a>题目介绍</h2><p>Given the roots of two binary trees root and subRoot, return
Leetcode 25 Reverse Nodes in k-Group 题解分析-再解分析
https://nicksxs.me/2024/01/21/Leetcode-25-Reverse-Nodes-in-k-Group-%E9%A2%98%E8%A7%A3%E5%88%86%E6%9E%90/
2024-01-21T07:09:47.000Z
2024-01-21T07:22:30.416Z
<p>上一次主要是给了一个解题方案,没有具体讲解,这次又做到了就来看下几种方案,链表转置一直是我比较疑惑的问题,特别是边界处理,而这个问题要把难度加大了<br>我先讲一下我一开始的思路和解题方法,首先就是写一个转置方法,就处理 k
聊一下 Java 的日志系列三
https://nicksxs.me/2024/01/21/%E8%81%8A%E4%B8%80%E4%B8%8B-Java-%E7%9A%84%E6%97%A5%E5%BF%97%E7%B3%BB%E5%88%97%E4%B8%89/
2024-01-21T02:52:44.000Z
2024-01-21T02:52:44.047Z
<p>上周因为一些事情没有更新在这里,是因为新电脑还没到,手头没有把移动硬盘里的 time machine 恢复出来的机器,所以单独更了一篇在新建的一个 cloudflare page 服务上,总体体验还可以,就是有个小点后面可以讲一下,继续完善下 Java
聊一下 Java 的日志系列二
https://nicksxs.me/2024/01/14/%E8%81%8A%E4%B8%80%E4%B8%8B-Java-%E7%9A%84%E6%97%A5%E5%BF%97%E7%B3%BB%E5%88%97%E4%BA%8C/
2024-01-14T13:26:53.000Z
2024-01-21T03:32:56.186Z
<p>log 初始化过程,首先是在启动类里会获取 logger</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span
聊一下 Java 的日志系列一
https://nicksxs.me/2024/01/07/%E8%81%8A%E4%B8%80%E4%B8%8B-Java-%E7%9A%84%E6%97%A5%E5%BF%97%E7%B3%BB%E5%88%97%E4%B8%80/
2024-01-07T14:30:23.000Z
2024-01-22T08:05:23.637Z
<p>我们在使用 Java 的日志库的时候,比如我们现在项目在用的
php 的调试方法-查看调用堆栈
https://nicksxs.me/2023/12/31/php-%E7%9A%84%E8%B0%83%E8%AF%95%E6%96%B9%E6%B3%95-%E6%9F%A5%E7%9C%8B%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88/
2023-12-31T13:49:36.000Z
2023-12-31T13:52:02.249Z
<p>php 代码调试里的神器就是 <code>echo 111;exit;</code> 但是对于使用了接口和继承比较多的话,有时候比较难找,可能定位到了一段代码但是不知道怎么调用过来的,这时候就可以用这个方法</p>
<p>总结下来有三种,</p>
<h2
阿里云 rds 主从延迟排查
https://nicksxs.me/2023/12/24/%E9%98%BF%E9%87%8C%E4%BA%91-rds-%E4%B8%BB%E4%BB%8E%E5%BB%B6%E8%BF%9F%E6%8E%92%E6%9F%A5/
2023-12-24T12:48:08.000Z
2023-12-24T12:48:08.804Z
<p>昨天同学问我是不是数据库主从延迟有点高,可能有一分多钟,然后我就去看了rds 的监控,发现主实例上的监控显示的延迟才 1.2 秒,而且是最高 1.2 秒,感觉这样的话应该就没啥问题,然后同学跟我说他加了日志,大致的逻辑是主库数据落库以后就会发一条 mq
Tomcat 系列篇十二-番外介绍下 Tomcat 的上传文件限制
https://nicksxs.me/2023/12/17/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E5%8D%81%E4%BA%8C-%E7%95%AA%E5%A4%96%E4%BB%8B%E7%BB%8D%E4%B8%8B-Tomcat-%E7%9A%84%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E9%99%90%E5%88%B6/
2023-12-17T11:17:52.000Z
2023-12-17T11:17:52.934Z
<p>最近同学在把 springboot 升级到 2.x
Tomcat 系列篇十一-介绍下 Tomcat 里的后台处理和热加载
https://nicksxs.me/2023/12/10/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E5%8D%81%E4%B8%80-%E4%BB%8B%E7%BB%8D%E4%B8%8B-Tomcat-%E9%87%8C%E7%9A%84%E5%90%8E%E5%8F%B0%E5%A4%84%E7%90%86%E5%92%8C%E7%83%AD%E5%8A%A0%E8%BD%BD/
2023-12-10T12:28:28.000Z
2023-12-10T12:28:28.303Z
<p>这部分其实之前在讲线程池的时候也有点带到了, 主要是在这个类里<br><code>org.apache.catalina.core.ContainerBase.ContainerBackgroundProcessor</code></p>
<figure
Windows 莫名重启问题解决
https://nicksxs.me/2023/12/03/Windows-%E8%8E%AB%E5%90%8D%E9%87%8D%E5%90%AF%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3/
2023-12-03T11:54:34.000Z
2023-12-03T11:54:34.680Z
<p>之前在 Windows 里用 vmware workstation 搭了个黑裙,然后硬盘直通,硬盘跑着倒还好,但是宿主机 Windows 隔一段时间就会重启,就去搜索了下,发现其实 Windows 里的事件查看器就有点像是 Linux 系统里的 dmesg 或者
Tomcat 系列篇十-介绍下 Tomcat 里的 Mapper 作用
https://nicksxs.me/2023/11/26/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E5%8D%81-%E4%BB%8B%E7%BB%8D%E4%B8%8B-Tomcat-%E9%87%8C%E7%9A%84-Mapper-%E4%BD%9C%E7%94%A8/
2023-11-26T11:02:21.000Z
2023-11-26T11:02:21.316Z
<p>Mapper 顾名思义是作一个映射作用,在 Tomcat 中会根据域名找到 host 组件,再根据 uri 可以找到对应的 context 和 wrapper 组件,但是对于当前这个环境 (Springboot) 会有一点小区别<br>之前说到<br>请求会经过
Tomcat 系列篇九-介绍下 Tomcat 里的 ContainerBase
https://nicksxs.me/2023/11/19/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E4%B9%9D-%E4%BB%8B%E7%BB%8D%E4%B8%8B-Tomcat-%E9%87%8C%E7%9A%84-ContainerBase/
2023-11-19T13:15:56.000Z
2023-11-19T13:16:29.095Z
<p>前面介绍过 Tomcat 的层次结构,</p>
<figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span
记录下一次服务器迁移
https://nicksxs.me/2023/11/12/%E8%AE%B0%E5%BD%95%E4%B8%8B%E4%B8%80%E6%AC%A1%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB/
2023-11-12T12:19:00.000Z
2023-11-12T12:19:58.559Z
<p>因为服务器续费即使是这次双十一还是太贵了,之前在 tx 买的三年 2c4g 3m 的一台服务器,原来价格是三年 800+,现在续费三年要
Tomcat 系列篇八-介绍下 Tomcat 里的线程池用处
https://nicksxs.me/2023/11/05/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E5%85%AB-%E4%BB%8B%E7%BB%8D%E4%B8%8B-Tomcat-%E9%87%8C%E7%9A%84%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%94%A8%E5%A4%84/
2023-11-05T11:38:56.000Z
2023-11-05T11:38:56.345Z
<p>线程池在 Tomcat 中也是非常重要的工具,这里我们简单介绍下 Tomcat 中的线程池,在 container 的启动过程中<br>org.apache.catalina.core.ContainerBase#initInternal</p>
<figure
Tomcat 系列篇七-介绍下 Filter 注册逻辑
https://nicksxs.me/2023/10/29/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E4%B8%83-%E4%BB%8B%E7%BB%8D%E4%B8%8B-Filter-%E6%B3%A8%E5%86%8C%E9%80%BB%E8%BE%91/
2023-10-29T11:27:03.000Z
2023-10-29T11:27:03.414Z
<p>在<br>org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext#createWebServer 的时候会调用</p>
<figure class="highlight