摘要:
Tomcat源码学习第3篇 - Bootstrap的启动过程 上一篇我们看了Tomcat中各个组件的init过程,初始化赋值好了,那么接下来就该轮到start了,话不多说,马上进入主题~ 1. Bootstrap.start() 通过start方法我们可以看到他是通过反射调用了 Catalina.s 阅读全文
摘要:
一. 源码下载 PS: 多图预警 在开始阅读源码之前,我们需要先构建一个环境,这样才能便于我们对源码进行调试,具体源码我们可以到官网进行下载(这里我以8.5.63版本为例)。 二. 项目导入 下载并解压 apache-tomcat-8.5.63-src.zip。 然后进入 apache-tomcat 阅读全文
摘要:
一、新建项目工程 新建一个spring项目 填写 Group 和 Artifact 信息 这步可以直接跳过,后面再按需导入 选择工程地址 二、配置 pom.xml <dependencies> <!-- spring相关包 --> <dependency> <groupId>org.springfr 阅读全文
摘要:
学好算法很重要,然后要学好算法,大量的练习是必不可少的,LeetCode是我经常去的一个刷题网站,上面的题目非常详细,各个标签的题目都有,可以整体练习,本公众号后续会带大家做一做上面的算法题。 官方链接:https://leetcode-cn.com/problemset/all/ 一、题意 难度: 阅读全文
摘要:
学习目标 API String类 StringBuilder类 内容 1.API 1.1API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将 阅读全文
摘要:
学好算法很重要,然后要学好算法,大量的练习是必不可少的,LeetCode是我经常去的一个刷题网站,上面的题目非常详细,各个标签的题目都有,可以整体练习,本公众号后续会带大家做一做上面的算法题。 官方链接: https://leetcode-cn.com/problemset/all/ 一、题意 难度 阅读全文
摘要:
目标 线程的命名 线程的父子关系 Runnable 内容 1. 线程的命名 在构造线程的时候可以为线程指定一个有意义的名称,这是一种比较好的做法。尤其是在一个线程比较多的程序中,为线程赋予一个包含特殊意义的名称有助于问题的排除与线程的跟踪,方便开发者在程序出错时进行回溯。 1.1. 线程的默认命名 阅读全文
摘要:
目标 线程的生命周期 线程的状态定义 线程的状态转移 内容 1. 线程的生命周期说明 上一篇文章中,我们简单的描述了同步与异步的差异以及线程的基本使用。那么今天我们就来了解一下线程的生命周期。 在调用了 Thread 类对象的 start 方法来启动 Java 线程后,对应的底层操作系统线程不能马上 阅读全文
摘要:
SpringCloud整合Seata报错no available server to connect. 源码跟踪 通过控制台提示来到 NettyClientChannelManager 类中, 全局搜索 no available server to connect. 找到方法入口 进入 getAva 阅读全文
摘要:
本文章主要是记录这几个组件的组合搭建, 以单机环境为例, 集群环境有待后续尝试. 一. Nacos 下载地址: https://github.com/alibaba/nacos/releases 1. 创建数据库(MySQL): nacos_config, 运行 conf 文件夹下 nacos-my 阅读全文