记录面试
1、数据库连接池的好处
博客摘自:https://www.cnblogs.com/FengZeng666/p/11610806.html
基本原理:在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法。
作 用:
- 资源重用。由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,增进了系统环境的平稳性(减少内存碎片以及数据库的临时进程、线程数量)
- 更快的系统响应速度。数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池内备用 。此时连接池的初始化已完成。对于业务请求处理而言,直接利用现有可用连接,避免了数据库初始化和释放过程的时间开销,从而缩减了系统整体响应时间。
- 新的资源分配手段。对于多应用共享一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接技术。
- 统一的连接管理,避免数据库连接泄露
2、核心线程池和最大线程池的区别
当提交一个新任务到线程池时
首先线程池判断基本线程池(corePoolSize)是否已满?没满,创建一个工作线程来执行任务。满了,则进入下个流程;
其次线程池判断工作队列(workQueue)是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程;
最后线程池判断整个线程池(maximumPoolSize)是否已满?没满,则创建一个新的工作线程来执行任务,满了,则交给饱和策略来处理这个任务;
如果线程池中的线程数量大于 corePoolSize 时,如果某线程空闲时间超过
keepAliveTime,线程将被终止,直至线程池中的线程数目不大于
corePoolSize;如果允许为核心池中的线程设置存活时间,那么核心池中的线程空闲时间超过 keepAliveTime,线程也会被终止。
3、SpringBoot读取外部配置文件的方法
- 内部读取配置文件
-- 利用@Configuration这个注解直接用@Value读取配置文件信息。 - 外部Jar包方式读取配置文件 --启动命令读取
-- 使用命令 java -jar springBootDemo-0.0.1-SNAPSHOT.jar --spring.config.location=D:\Jayson\config\application.properties (配置文件路径) - 外部War包方式读取配置文件
-- 在中(catalina.bat)中108行编辑一下即可
set title=iline-web
set JAVA_OPTS=%JAVA_OPTS% -DconfigDir=D:\jayson\config -Dredis.config.type=file
set JRE_HOME=D:\Program Files\Java\jdk1.8.0_181\jre
setlocal

浙公网安备 33010602011771号