JAVA CPU过高异常处理

2023-10-31

1、首先用   ps   aux|grep   jar包名字     找到进程的PID, 直接top命令也能看到CPU最高的进程PID

2、用 top   -Hp   进程PID  获取CPU占用高的线程(下图中PID的1091,1063就是线程ID),网上的文章用   ps   -mp  进程PID  -o  THREAD,tid,time 也可以

Threads: 105 total,   0 running, 105 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.4 us,  0.8 sy,  0.0 ni, 97.6 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32781008 total, 11521252 free, 16629800 used,  4629956 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 15713740 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                   
 1091 root      20   0   11.8g   2.8g  14804 S  1.3  9.0  10:26.33 java                                                                                      
 1063 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.02 java                                                                                      
 1064 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:26.79 java                                                                                      
 1065 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.10 java                                                                                      
 1066 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.97 java                                                                                      
 1067 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.98 java                                                                                      
 1068 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.90 java                                                                                      
 1069 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.67 java                                                                                      
 1070 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.03 java                                                                                      
 1071 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.04 java                                                                                      
 1072 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.00 java                                                                                      
 1073 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:46.23 java                                                                                      
 1074 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:46.86 java                                                                                      
 1075 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:13.22 java                                                                                      
 1076 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.00 java                                                                                      
 1077 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:18.34 java                                                                                      
 1088 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:11.60 java                                                                                      
 1089 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.42 java                                                                                      
 1090 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.02 java                                                                                      
 1092 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.87 java                                                                                      
 1105 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.72 java                                                                                      
 1106 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.11 java                                                                                      
 1107 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.71 java                                                                                      
 1108 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.75 java                                                                                      
 1109 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.72 java                                                                                      
 1110 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.75 java                                                                                      
 1111 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.73 java                                                                                      
 1112 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.72 java                                                                                      
 1113 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.72 java                                                                                      
 1114 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.72 java                                                                                      
 1115 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.74 java                                                                                      
 1116 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.70 java                                                                                      
 1117 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.74 java                                                                                      
 1118 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.72 java                                                                                      
 1119 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.70 java                                                                                      
 1120 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.71 java                                                                                      
 1121 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.70 java                                                                                      
 1122 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.75 java                                                                                      
 1123 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.72 java                                                                                      
 1124 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.70 java                                                                                      
 1125 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.74 java                                                                                      
 1126 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:01.71 java                                                                                      
 1127 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.99 java                                                                                      
 1133 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.08 java                                                                                      
 1134 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.10 java                                                                                      
 1135 root      20   0   11.8g   2.8g  14804 S  0.0  9.0   0:00.02 java                   
[root@abc ~]# ps -mp 1063 -o THREAD,tid,time
USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
root      1.7   -    - -         -      -     - 00:14:52
root      0.0  19    - futex_    -      -  1063 00:00:00
root      0.0  19    - futex_    -      -  1064 00:00:26
root      0.0  19    - futex_    -      -  1065 00:00:01
root      0.0  19    - futex_    -      -  1066 00:00:00
root      0.0  19    - futex_    -      -  1067 00:00:00
root      0.0  19    - futex_    -      -  1068 00:00:00
root      0.0  19    - futex_    -      -  1069 00:00:01
root      0.0  19    - futex_    -      -  1070 00:00:00
root      0.0  19    - futex_    -      -  1071 00:00:00
root      0.0  19    - futex_    -      -  1072 00:00:00
root      0.0  19    - futex_    -      -  1073 00:00:46
root      0.0  19    - futex_    -      -  1074 00:00:46
root      0.0  19    - futex_    -      -  1075 00:00:13
root      0.0  19    - futex_    -      -  1076 00:00:00
root      0.0  19    - futex_    -      -  1077 00:00:18
root      0.0  19    - futex_    -      -  1088 00:00:11
root      0.0  19    - futex_    -      -  1089 00:00:00
root      0.0  19    - futex_    -      -  1090 00:00:00
root      1.2  19    - futex_    -      -  1091 00:10:33
root      0.0  19    - futex_    -      -  1092 00:00:01
root      0.0  19    - futex_    -      -  1105 00:00:00
root      0.0  19    - futex_    -      -  1106 00:00:00
root      0.0  19    - futex_    -      -  1107 00:00:01
root      0.0  19    - futex_    -      -  1108 00:00:01
root      0.0  19    - futex_    -      -  1109 00:00:01
root      0.0  19    - futex_    -      -  1110 00:00:01
root      0.0  19    - futex_    -      -  1111 00:00:01
root      0.0  19    - futex_    -      -  1112 00:00:01
root      0.0  19    - futex_    -      -  1113 00:00:01
root      0.0  19    - futex_    -      -  1114 00:00:01
root      0.0  19    - futex_    -      -  1115 00:00:01
root      0.0  19    - futex_    -      -  1116 00:00:01
root      0.0  19    - futex_    -      -  1117 00:00:01
root      0.0  19    - futex_    -      -  1118 00:00:01
root      0.0  19    - futex_    -      -  1119 00:00:01
root      0.0  19    - futex_    -      -  1120 00:00:01
root      0.0  19    - futex_    -      -  1121 00:00:01
root      0.0  19    - futex_    -      -  1122 00:00:01
root      0.0  19    - futex_    -      -  1123 00:00:01
root      0.0  19    - futex_    -      -  1124 00:00:01
root      0.0  19    - futex_    -      -  1125 00:00:01
root      0.0  19    - futex_    -      -  1126 00:00:01
root      0.0  19    - futex_    -      -  1127 00:00:01
root      0.0  19    - sk_wai    -      -  1133 00:00:00
root      0.0  19    - futex_    -      -  1134 00:00:00
root      0.0  19    - futex_    -      -  1135 00:00:00
root      0.0  19    - futex_    -      -  1136 00:00:00
root      0.0  19    - futex_    -      -  1139 00:00:01
root      0.0  19    - futex_    -      -  1140 00:00:04
root      0.0  19    - futex_    -      -  1141 00:00:00
root      0.0  19    - futex_    -      -  1142 00:00:00
root      0.0  19    - ep_pol    -      -  1143 00:00:05
root      0.0  19    - futex_    -      -  1144 00:00:00
root      0.0  19    - futex_    -      -  1146 00:00:01
root      0.0  19    - futex_    -      -  1148 00:00:00
root      0.0  19    - futex_    -      -  1149 00:00:00
root      0.0  19    - futex_    -      -  1153 00:00:00
root      0.0  19    - futex_    -      -  1154 00:00:00
root      0.0  19    - futex_    -      -  1155 00:00:02
root      0.0  19    - futex_    -      -  1156 00:00:00
root      0.0  19    - futex_    -      -  1157 00:00:00
root      0.0  19    - futex_    -      -  1158 00:00:00
root      0.0  19    - ep_pol    -      -  1162 00:00:01
root      0.0  19    - futex_    -      -  1163 00:00:01

3、用计算器把线程ID转换为16进制,   网上的文章用    printf "%x\n"   线程ID    也能输出16进制的值

 

4、 把进程每个线程的堆栈输出到文件,  jstack  进程PID  >> ABC.TXT

5、 在ABC.TXT文件中查找 16进制的线程ID,找到后查看自己代码的包名,比如像下面这样的包名, java.util或者com.alibaba之类的肯定不会有问题了, 找其他属于自己写的代码的包即可。

"System Clock" #17 daemon prio=5 os_prio=0 tid=0x00007fe5b58c0000 nid=0xd108 runnable [0x00007fe54a425000]
   java.lang.Thread.State: RUNNABLE
	at java.util.concurrent.ScheduledThreadPoolExecutor.reExecutePeriodic(ScheduledThreadPoolExecutor.java:346)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:296)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

"Druid-ConnectionPool-Destroy-389247924" #16 daemon prio=5 os_prio=0 tid=0x00007fe5b606e800 nid=0xd106 runnable [0x00007fe54abdd000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.Long.valueOf(Long.java:840)
	at com.alibaba.druid.filter.stat.StatFilter.connection_close(StatFilter.java:255)
	at com.alibaba.druid.filter.FilterChainImpl.connection_close(FilterChainImpl.java:181)
	at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.close(ConnectionProxyImpl.java:115)
	at com.alibaba.druid.util.JdbcUtils.close(JdbcUtils.java:73)
	at com.alibaba.druid.pool.DruidDataSource.shrink(DruidDataSource.java:2797)
	at com.alibaba.druid.pool.DruidDataSource$DestroyTask.run(DruidDataSource.java:2562)
	at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2549)

5、如果你搜索CPU高的线程,搜到如下的线程,那也是你的代码有问题,系统内存不够,启动了垃圾回收,然后你的代码又拼命的分配内存就会造成GC线程CPU占用过高,这个时候, 你自己包名的线程CPU不一定高,继续查找执行自己代码的线程,看看他们在执行哪些代码,这些代码应该就是有问题的代码了。


"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fe5b4020800 nid=0xd0ec runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fe5b4022800 nid=0xd0ed runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007fe5b4024800 nid=0xd0ee runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007fe5b4026000 nid=0xd0ef runnable 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA CPU过高异常处理 的相关文章

  • _pickle.UnpicklingError: A load persistent id instruction was encountered,but no persistent_load fu

    错误如图所示 出错原因 通常问题出现在测试和验证阶段 错误原因 模型训练使用的pytorch和测试验证使用的pytorch不是同一个版本 解决办法 在同一环境下进行模型的训练和测试 对两个环境安装相同的pytorch版本
  • Webrtc从理论到实践九: 官方demo源码走读(peerconnection_client)(下)

    系列文章目录 Webrtc从理论到实践一 初识 Webrtc从理论到实践二 架构 Webrtc从理论到实践三 角色 Webrtc从理论到实践四 通信 Webrtc从理论到实践五 编译webrtc源码 Webrtc从理论到实践六 Webrtc
  • Linux中gcc的详解用法及其可重定位目标文件

    1 gcc组成 gcc是一组编译工具的总称 包括 C编译器 C 编译器 源码预处理程序和库文件 2 gcc编译 1 生成一个程序 gcc hello c o hello 把hello c编译成一个可执行程序 如果gcc hello c 不指
  • 第五届模式识别与人工智能国际会议-PRAI 2022

    第五届模式识别与人工智能国际会议 PRAI 2022 将于2022年8月19 21日在四川成都召开 PRAI 2022 本次会议由成都理工大学主办 IEEE 上海交通大学 天津大学 电子科技大学 西安微电子技术研究所 四川轻化工大学 江苏大
  • 有什么不违法却赚钱的野路子?

    昨天音乐账号挣了561多 无需才艺不用露脸 方法分享给大家 赶紧收藏起来 只需要找到近期热度比较高的歌曲 搜集各个爆火的翻唱版本 将它们拼剪成一个视频发布到今日头条上面 只要视频有播放量 今日头条就会给你收益 一万的播放量可以获得几十块钱不
  • 指令延迟隐藏

    一 指令延迟隐藏 1 延迟和延迟隐藏 指令延迟指计算指令从调度到指令完成所需的时钟周期 如果在每个时钟周期都有就绪的线程束可以被执行 此时GPU处于满符合状态 指令延迟被GPU满负荷计算状态所掩盖的现象称为延迟隐藏 延迟隐藏对GPU编程开发
  • 安装docker报错

    安装docker报错如下 解决办法 rm f var run yum pid
  • Kubernetes -K8S安装部署及SpringCloud应用

    k set image deploy kubia nodejs luksa kubia v2 一 Kubernetes 一键安装Kubernetes集群 集群方案 使用三台物理机或VMware虚拟机来搭建集群环境 一台主控服务器 两台工作节
  • 微信报错:40001: invalid credential, access_token is invalid or not latest rid: xxx(附带存储access_token代码)

    我使用的是redis作为存储服务器 来存储access token 代码亲测没有任何问题 在做微信公众号模板推送的时候用到了access token 但是有时推送成功 有时失败 报错显示为 40001 invalid credential
  • unity中vs编辑代码时没有自动补全的解决方案之一

    点击 unity编辑器中的 Edit选项 gt preferences gt External Tools 把选项改成这个就ok
  • Lambda 实战-集合分组统计

    package com lingoace edu util import lombok Data import java util ArrayList import java util List import java util LongS
  • ◆考试题目◆◇NOIP模拟赛◇turtle(乌龟)

    NOIP模拟赛 turtle Description 一只乌龟由于智商低下 它只会向左或向右走 不过它会遵循主人小h的指令 F 向前走一步 T 掉头 现在小h给出一串指令 由于小h有高超的计算能力 他可以马上知道乌龟最后走到哪里 为了难倒小
  • bitlocker 恢复密钥

    开机出现问题 需要bitlocker 恢复密钥 登录Microsoft官网自己的账号 我的Microsoft账户 有问题电脑的详细信息 登录 找到对应密钥填入
  • STANet基于时空自注意力的神经网络--变化检测模型

    STANet基于时空自注意力的神经网络检测模型 A spatial temporal attention based method and a new dataset for remote sensing image change dete
  • C#----使用继承选择器创建继承窗体

    欢迎大家提出意见 一起讨论 转载请标明是引用于 http blog csdn net chenyujing1234 代码 VS2008 http www rayfile com zh cn files 68b23066 9aab 11e1
  • mos管驱动电路设计

    对于开关电源来说 驱动电路作为控制电路和功率电路的接口 其作用至关重要 本文就将详细探讨开关电源的驱动电路的参数设计以及驱动芯片的选型 常用的mos管驱动电路结构如图1所示 驱动信号经过图腾柱放大后 经过一个驱动电阻Rg给mos管驱动 其中
  • 集合nim(C++)

    题目 给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S 现在有两位玩家轮流操作 每次操作可以从任意一堆石子中拿取石子 每次拿取的石子数量必须包含于集合 S 最后无法进行操作的人视为失败 问如果两人都采用最优策略 先手是否必胜
  • RFID标签打印机在加工制造业中的应用

    1 行业背景 在物联网家电制造 机械制造 电子元器件 电器等产品加工制造行业中 通常都需要打印标签直接贴到产品上 如 铭牌标签 条码序列号标签 合格证标签 电路图标签 RFID标签等等 传统的部分企业的这些标签是印刷后粘贴到产品上 但是随着
  • 从小白到专家的五个阶段,你处在哪里?

    专家和新手的区别在哪里 每一个程序员都有一个梦想 成为领域内的专家 专家和新手有什么不同 1970年代左右 德雷福斯兄弟通过对飞行员 国际著名象棋大师的技能习得进行研究 他们发现专家和新手在技能调用上有很大的不同 并提出了德雷福斯模型 Dr
  • OpenStack中glance对接swift

    OpenStack中glance对接swift 一 环境介绍 二 查看数据库中glance相关信息 1 查询数据库glance用户密码 2 登录数据库 3 查询glance相关数据库 4 查询glance数据库表 5 查询image loc

随机推荐

  • HikariCP MBean (JMX) Monitoring and Management

    The JMX MBean for HikariCP exposes Idle Connection count Active Connections in use Total Connections The number of threa
  • 本地下载的软件包制作成本地repo源并使用apache发布

    背景 在前面的博客中 介绍了如何使用apt mirror同步远程的repo源 本文将介绍如何利用本地已经缓存的软件包制作成本地repo源 并对外提供源服务 应用目标 在应用中 有时候会遇到类似问题 远程的软件源太慢 而如果同步远程的软件源到
  • 国标GB28181协议视频平台EasyGBS内网访问正常,公网无法访问是什么原因?

    国标视频云服务平台EasyGBS可支持通过国标GB28181协议 接入多路视频源设备 实现视频流的接入 转码 处理与分发等功能 对外输出的视频流格式包括RTSP RTMP FLV HLS WebRTC等 平台视频能力丰富灵活 包括监控直播
  • XML中PCDATA与CDATA的区别

    XML中PCDATA与CDATA的区别 2011 02 10 19 27 25 分类 XML 标签 xml中pcdata与cdata的区别 字号 大中小 订阅 所有 XML 文档中的文本均会被解析器解析 只有 CDATA 区段 CDATA
  • C语言自定义类型详解(结构体 枚举 联合)

    目录 1 结构体类型 1 1声明 1 2结构的自引用 1 3结构体变量的定义和初始化 1 4结构体内存对齐 1 4 1结构体的对齐规则 1 4 2编译器的默认对齐数修改 1 5结构体传参 1 6结构体实现位段 位段的填充 可移植性 1 6
  • unity的asmdef报错GUID(这个报错记得重现一下,报错信息作为标题记录一下)

    这应该是unity给这个程序集分配的guid unity基于2020开发的科骏插件1 0 8 放到了2017 首先出现的这个报错 解决方法是将这个asmdef删除 asmdef简单来说是 库的描述信息文件 相关参考 初步理解Unity的as
  • SPI协议代码

    软件模拟SPI程序代码 文章目录 SPI协议简介 SPI接口介绍 SPI数据传输方向 SPI传输模式 通过两个单片机模拟SPI来加深理解 硬件连接方式 SPI模式 程序思路 主机C代码 波形 从机C代码 波形 概述 通过两个MCU STM3
  • Mybatis系列七:映射文件-自定义结果集

    一 案例1
  • 使用Clion进行Qt项目开发

    使用Clion进行Qt项目开发 创建项目并指定Qt CMake prefix path为Qt安装路径下的E Qt Qt5 9 1 5 9 1 mingw53 32 配置编译工具链 添加外部工具 找到Setting gt Tool gt Ex
  • 使用hexo和git实现多地更新和配置博客源文件

    使用hexo写博客的一个问题就是源文件都是在本地的 如果换了电脑需要更新博客时就会比较麻烦 目前 觉得比较靠谱的办法就是用github来管理了 主要的思路是 利用git分支实现 hexo生成的静态博客文件默认放在master分支上 hexo
  • 面向对象程序设计的基本概念

    原文链接 面向对象设计 类和对象 1 面向对象程序设计的基本概念 Java是一种面向对象的编程语言 面向对象编程 英文是Object Oriented Programming 简称OOP 那什么是面向对象编程 面向对象其实是现实世界模型的自
  • 计算机图形学【GAMES-101】1、矩阵变换原理Transform(旋转、位移、缩放、正交投影、透视投影)

    快速跳转 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMap 环境光遮
  • 【从零开始学爬虫】采集京东商品信息

    l 采集网站 场景描述 采集京东电视分类中的所有商品信息 使用工具 前嗅ForeSpider数据采集系统 免费版本下载链接 http www forenose com view forespider view download html 入
  • vlc控制台命令总结

    本机摄像头和麦克风 dshow vdev USB Camera dshow adev 麦克风 USB Microphone 播放本机摄像头 vlc dshow dshow vdev USB Camera dshow adev 麦克风 USB
  • 2023毕业设计-(java)音乐网站播放器+音乐网站管理系统+音乐网站后台(附下载链接)

    音乐网站播放器 点我下载源码和sql文件 介绍 音乐网站播放器 音乐网站管理系统 音乐网站后台 源码 数据库文件 软件架构 使用vue springboot mybatis plus mysql技术的前后端分离项目 前端 安装教程 需要有n
  • Java 网络安全

    1 常见的 Web 攻击 1 1 CSRF攻击 1 1 1 CSRF如何防护 1 2 XSS 攻击 1 2 1 XSS 攻击分类 1 2 2 XSS 防护 1 3 DOS 攻击 1 3 1 防护 1 4 SQL 注入 1 4 1 SQL 注
  • Allegro中走线长度的设置

    PROPAGATION DELAY PROPAGATION DELAY这个设定主要用来对Net绝对长度的设定 如要求设定一组Net的长度要在Min Mil到 Max Mil之间的话 就可以用这种设定来完成 要求走线Net长度在Min与Max
  • 如何去除页面上的空格

    let a this nsrsbh this nsrsbh replace s s g 左边是处理完以后的 let a 也就是a这个变量才是处理过的 结果是 页面上写空格不会再出现报错的情况了
  • 关于php unset的随笔

    我们可能都知道C 在使用了构造函数后再使用析构函数来释放内存 那么PHP需不需要使用unset来进行变量释放内存呢 偶然的 我们遇到 out of memory 的错误 但是服务器内存明明还有很多 memory limit也是得很大 但是就
  • JAVA CPU过高异常处理

    1 首先用 ps aux grep jar包名字 找到进程的PID 直接top命令也能看到CPU最高的进程PID 2 用 top Hp 进程PID 获取CPU占用高的线程 下图中PID的1091 1063就是线程ID 网上的文章用 ps m