一、现象复现

web程序跑起来很卡顿,十几分钟都跑步起来,而且页面刷新十几秒都没有反应。

三月 23, 2019 11:58:22 上午 com.mchange.v2.log.MLog <clinit>
信息: MLog clients using java 1.4+ standard logging.
三月 23, 2019 11:58:22 上午 com.mchange.v2.c3p0.C3P0Registry banner
信息: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
2019-03-23 11:59:17,128 [RMI TCP Connection(5)-127.0.0.1] INFO  org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService  'threadPoolTaskExecutor'
三月 23, 2019 12:01:10 下午 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@57e63bbb -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
[WebappClassLoader@554b4ee7] weaveinfo Join point 'method-execution(java.sql.Connection com.mysql.jdbc.NonRegisteringDriver.connect(java.lang.String, java.util.Properties))' in Type 'com.mysql.jdbc.NonRegisteringDriver' (NonRegisteringDriver.java:306) advised by around advice from 'com.yy.aomi.sdk.mysql.aj.DriverAj' (DriverAj.java)
三月 23, 2019 12:01:16 下午 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@57e63bbb -- APPARENT DEADLOCK!!! Complete Status: Managed Threads: 3Active Threads: 3Active Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@294eaedf (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6792b35 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@78332a43 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)Pending Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@e7630a4com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@52925fe3com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1d7de607com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@7c7db6d9com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@43315ae2com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@31c6820com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@71a3eb9a
Pool thread stack traces:Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,RMI Runtime]java.lang.Class.forName0(Native Method)java.lang.Class.forName(Class.java:264)com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:100)com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:132)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,RMI Runtime]java.net.URI$Parser.charAt(URI.java:2876)java.net.URI$Parser.scan(URI.java:2995)java.net.URI$Parser.checkChars(URI.java:3019)java.net.URI$Parser.parseHierarchical(URI.java:3105)java.net.URI$Parser.parse(URI.java:3053)java.net.URI.<init>(URI.java:673)java.net.URI.<init>(URI.java:774)java.io.File.toURI(File.java:735)org.apache.catalina.loader.WebappClassLoaderBase.getURI(WebappClassLoaderBase.java:3870)org.apache.catalina.loader.WebappClassLoaderBase.findResourceInternal(WebappClassLoaderBase.java:3408)org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3140)org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1373)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1861)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)com.mysql.jdbc.NonRegisteringDriver.ajc$preClinit(NonRegisteringDriver.java:1)com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java)java.lang.Class.forName0(Native Method)java.lang.Class.forName(Class.java:264)com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:100)com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:132)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,RMI Runtime]java.lang.Class.forName0(Native Method)java.lang.Class.forName(Class.java:264)com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:100)com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:132)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)三月 23, 2019 12:01:16 下午 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 5, acquireRetryAttempts -> 60, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1br1hqka11at3cg6qe335i|644766ea, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1br1hqka11at3cg6qe335i|644766ea, idleConnectionTestPeriod -> 60, initialPoolSize -> 10, jdbcUrl -> jdbc:mysql://bigdragon.mysqlpl.yy.com:8066/dragon_v3_1?useUnicode=true&characterEncoding=utf-8&sessionVariables=group_concat_max_len=204800, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 10, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 100, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
三月 23, 2019 12:02:17 下午 com.mchange.v2.async.ThreadPoolAsynchronousRunner processReplacedThreads
警告: Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@294eaedf (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().
三月 23, 2019 12:02:17 下午 com.mchange.v2.async.ThreadPoolAsynchronousRunner processReplacedThreads
警告: Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6792b35 (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().
三月 23, 2019 12:02:17 下午 com.mchange.v2.async.ThreadPoolAsynchronousRunner processReplacedThreads

二、原因

不小心在重写的方法头点击了debug标志,造成程序运行缓慢。

IDEA的debug方法头坑相关推荐

  1. jest+enzyme针对 react16+ typescript UT代码的debug方法

    在 Jest 单测中进行 debugger 目前有两种方法: 1. VSCode 提供的 Debugger 功能: 2. Chrome Node DevTools 针对第一种,直接上链接:https: ...

  2. Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积。编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积

    *8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积.编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积 题目 题目描述与运行示例 破题 代码 题目 题目描述 ...

  3. Java黑皮书课后题第8章:8.18(打乱行)编写一个方法,使用下面的方法头打乱一个二维int型数组的行。编写一个测试程序,打乱下面的矩阵

    8.18(打乱行)编写一个方法,使用下面的方法头打乱一个二维int型数组的行.编写一个测试程序,打乱下面的矩阵 题目 题目描述 破题 代码 题目 题目描述 8.18(打乱行)编写一个方法,使用下面的方 ...

  4. Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序

    *8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序.这个方法首先按行排序,然后按列排序 题目 题目描述 破题 代码 运行实例 题目 题目描述 *8.16(对二维数组排序)编写一个 ...

  5. Java黑皮书课后题第8章:*8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和。编写一个程序,读取一个4*4的矩阵,显示主对角线和

    *8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和.编写一个程序,读取一个4*4的矩阵,显示主对角线和 题目 题目描述与运行示例 破题 ...

  6. Java黑皮书课后题第8章:*8.1(求矩阵中各列数字的和)使用下面的方法头编写一个方法,求矩阵中特定列的所有元素的和。编写一个测试程序,读取3*4矩阵,显示每列元素的和

    *8.1(求矩阵中各列数字的和)使用下面的方法头编写一个方法,求矩阵中特定列的所有元素的和.编写一个测试程序,读取3*4矩阵,显示每列元素的和 题目 题目描述与运行示例 破题 代码 题目 题目描述与运 ...

  7. Java黑皮书课后题第7章:**7.34(对字符串中的字符排序)使用以下方法头编写一个方法,返回一个排序好的字符串。编写一个测试程序,提示用户输入一个字符串,显示排序好的字符串

    **7.34(对字符串中的字符排序)使用以下方法头编写一个方法,返回一个排序好的字符串.编写一个测试程序,提示用户输入一个字符串,显示排序好的字符串 题目 题目描述 破题 代码 运行实例 题目 题目描 ...

  8. Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字

    7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值.编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字 题目 题目描述与运行示例 破题 代码 21.11.11 ...

  9. Java黑皮书课后题第7章:*7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头

    7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数.指定如下方法头 题目 题目描述 可变长参数列表 破题 代码 运行实例 题目 题目描述 7.13(随机数选择器) ...

最新文章

  1. Git 简介1-常用术语
  2. linux 加密可逆,RSA加密是可逆的吗
  3. 验证身份证和中文名字
  4. 2021-11-16数据结构
  5. 岗位推荐 | 微软小冰团队招聘数据挖掘/算法工程师实习生
  6. [原]调试PInvoke导致的内存破坏
  7. linux qtopia-2.2.0编译,qtopia-2.2.0在linux上的安装(基于mini2440)
  8. 苹果7手机严重卡顿_苹果手机仅配备4GB运存都不会卡顿,安卓系统为何要更多内存?...
  9. Qt 翻译文件的加载
  10. 了解Objective-C中NSAutoreleasePool使用方法
  11. 解决U盘无法格式化的问题
  12. Python中文编程
  13. java访问邮箱 apache,关于apache common-mail发邮件,部分邮箱无法接收有关问题
  14. 计算机软件职称高校四川,四川省人社厅:今年部分高校职称自主评审
  15. 大数据时代:架构师该具备什么?
  16. 基于SSM或SpringBoot的JavaWeb项目——写作分析系统
  17. java sci论文,SCI论文中那些容易被混淆的部分!你写错过吗?
  18. 服务器请求微信后台(api.weixin.qq.com)过慢处理
  19. 腾讯汤道生:上云赋智的终极价值是服务于人
  20. vi 与 vim 有什么区别呢,它们之间有什么关系?

热门文章

  1. 算法设计与分析——算法思想总结
  2. c++的assert函数
  3. Leetcode周赛复盘——第 71 场力扣双周赛与第 279 场力扣周赛
  4. [JavaWeb-JavaScript]JavaScript_Global全局对象
  5. [PAT乙级]1020 月饼
  6. poj2182 Lost Cows-线段树
  7. Long Path CodeForces - 407B(动态规划+思维+公式推导)
  8. 准确率、召回率、F1、mAP、ROC、AUC
  9. 2019-03-18-算法-进化(实现strStr())
  10. 采蘑菇的克拉莉丝(树链剖分)