码迷,mamicode.com
首页 > 其他好文 > 详细

记录面试

时间:2020-04-02 18:23:49      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:work   maximum   snap   响应时间   lin   避免   连接池   进入   通过   

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

记录面试

标签:work   maximum   snap   响应时间   lin   避免   连接池   进入   通过   

原文地址:https://www.cnblogs.com/coding-4-fun/p/12621068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!