面试官:来说说Tomcat的启动过程是什么样子的

域名2025-11-05 05:47:134412
面试官:来说说Tomcat的启动过程是什么样子的
面试复制publicstatic void main(String[] args) {        //对象初始化        if (daemon == null) {            Bootstrap bootstrap = new Bootstrap();            try {                bootstrap.init();            } catch (Throwable var3) {                handleThrowable(var3);                var3.printStackTrace();                return;            }            daemon = bootstrap;        } else {            Thread.currentThread().setContextClassLoader(daemon.catalinaLoader);        }        try {            String command = "start";            if (args.length > 0) {                command = args[args.length - 1];            }            if (command.equals("startd")) {                args[args.length - 1] = "start";                //加载                daemon.load(args);                //启动                daemon.start();            } else if (command.equals("stopd")) {                args[args.length - 1] = "stop";                //停止                daemon.stop();            } else if (command.equals("start")) {                daemon.setAwait(true);                //加载并且启动                daemon.load(args);                daemon.start();                if (null == daemon.getServer()) {                    System.exit(1);                }            } else if (command.equals("stop")) {                daemon.stopServer(args);            } else if (command.equals("configtest")) {                daemon.load(args);                if (null == daemon.getServer()) {                    System.exit(1);                }                System.exit(0);            } else {                log.warn("Bootstrap: command "" + command + "" does not exist.");            }        } catch (Throwable var4) {            Throwable t = var4;            if (var4 instanceof InvocationTargetException && var4.getCause() != null) {                t = var4.getCause();            }            handleThrowable(t);            t.printStackTrace();            System.exit(1);        }    }  1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.
本文地址:http://www.bhae.cn/news/013d4399943.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

电脑主机备件安装教程(手把手教你安装电脑主机备件,让你的电脑更强大)

Redis 分布式锁进化史解读+缺陷分析

史上最全的MySQL高性能优化实战总结!

设置表格列宽—在富文本编辑器中的实现

适马30mmf1.4镜头的魅力与表现(探索适马30mmf1.4镜头的优点和应用领域)

一文彻底搞懂线程安全问题

不可错过的实用前端工具,你知道几个?

Vue2剥丝抽茧-响应式系统之NextTick

友情链接

滇ICP备2023000592号-9