与“tomcat”相关的TAG标签
JDK1.8JVM内存模型核心变化是永久代被元空间取代:元空间使用本地内存而非堆内存,不参与堆GC,由-XX:MetaspaceSize和-XX:MaxMetaspaceSize控制,字符串常量池仍在堆中,运行时常量池移至元空间。
新项目应选用slf4j+logback,而非java.util.logging;因JUL配置僵硬、MDC支持弱、异步难实现,而slf4j+logback灵活高效且生态完善,需确保classpath有且仅有一个绑定实现(如logback-classic)。
ClassNotFoundException是受检异常,表示JVM在类路径中未找到指定类,需显式处理;它由Class.forName()等动态加载触发,而非new实例化,常见于类名错误、类路径缺失或类加载器不可见。
连接池需预热、maxLifetime须小于数据库wait_timeout、borrowTimeout是排队超时而非SQL超时。预热确保minIdle连接可用;maxLifetime应设为wait_timeout的70%~90%;borrowTimeout需按P95耗时2~3倍设置,避免线程饥饿或误失...
Filter由Servlet容器管理,作用于所有请求;Interceptor由Spring管理,仅拦截DispatcherServlet处理的请求。Filter更底层通用,Interceptor可访问SpringBean和Controller上下文。
JAVA_HOME必须指向JDK根目录(含bin、lib、jre的父目录),不可指向jre或bin子目录;PATH需包含%JAVA_HOME%\bin或$JAVA_HOME/bin;须用java-version和javac-version双重验证;IDE需独立配置并重启。
本文介绍在多JDK版本兼容构建场景下,如何通过MavenProfile实现对jakarta.xml.bind-api等模块化API依赖的精准控制:JDK8构建时完全排除,JDK11+构建时按需显式引入。
需确认系统架构与JDK版本匹配,先用uname-m查x86_64或aarch64等,再下载对应EclipseTemurinJDK包;手动解压至/opt,配置/etc/profile.d/java.sh并生效;systemd服务需显式声明JAVA_HOME和PATH,cron或脚本开头需source该...
Flyway使用DataSource时不会自动关闭底层JDBC连接,导致连接泄漏;正确做法是改用URL/username/password构造方式,或显式释放DataSource资源。本文提供兼容Tomcat环境的适配方案及推荐实践。
双亲委派模型是JVM类加载的强制向上委托规则:先查缓存,再递归委托父加载器,仅父失败后才调用findClass自行加载,确保核心类如java.lang.Object由Bootstrap加载,保障安全沙箱。
