查找占用资源高的JAVA代码】的更多相关文章

1. /tmp/hsperfdata_$USER目录 $USER是启动JAVA进程的用户,这里保存的所有用户启动的JAVA进程. 这些都JAVA进程的PID,里面存放的是JVM进程信息.你所用的jsp.jstack.jmap这些工具都会读取这个目录中对应PID的文件获取连接信息.有时候你会发现这样的错误 这种情况是你使用的是一个JAVA的线程号而不是一个进程号.因为jstack.jps.jmap这些工具都是使用进程号的.如果你提供了一个根本不存在的进程号呢?它会告诉你无此进程. 这种情况是你使用…
与linux下top命令直接显示进程下线程资源占用不同,Windows下默认任务管理器只能显示出进程的资源占用,jconsle等工具也只能显示出java进程资源占用,无法显示出进程能具体线程的资源占用,为此需要用到一个工具processExplorer. 1.用任务管理器或jconsle工具占用资源最高的java进程pid: 2.用processExplorer工具找到这个进程下线程的资源占用情况,找到占用资源最高的线程id,将其转换为16进制显示: 3.jconsle或jstack java进…
--SQL SERVER 占用资源高的SQL语句: --查询占用cpu高的前 50 个 SQL 语句 SELECT total_cpu_time,[total_physical_Reads], total_execution_count, number_of_statements, s2.text --(SELECT SUBSTRING(s2.text, statement_start_offset / 2, ((CASE WHEN statement_end_offset = -1 THEN…
http://blog.csdn.net/aishangyutian12/article/details/52699938 第一章  Java开发中通用的方法和准则 建议1:不要在常量和变量中出现易混淆的字母: (i.l.1:o.0等). 建议2:莫让常量蜕变成变量: (代码运行工程中不要改变常量值). 建议3:三元操作符的类型务必一致: (不一致会导致自动类型转换,类型提升int->float->double等). 建议4:避免带有变长参数的方法重载: (变长参数的方法重载之后可能会包含原方…
1.先用top查询某进程的线程CPU占用情况,定位到cpu占用高的进程pid 2.根据pid定位具体的线程top -p PID -H ,找出占用cpu最大的pid,此处占用cpu比较平均,我们随便选择一个线程进行定位即可 3.用jstack PID> 28137.log 将具体的线程导入到文件中 4.在文件中搜索线程id(需要转成16进制小写) 如 上图中的28249的16进制为6e59 在 28137.log 文件中查找 6e59即可定位到具体的具体的堆栈代码…
在这里总结一下查找Linux.Java环境下最耗CPU性能的代码段的方法.基本上原理就是使用top命令查看最耗cpu的进程和线程(子进程).使用jstack把java线程堆栈给dump下来.然后,在堆栈信息中查找出对应的代码块.具体操作如下: 一.查找最耗cpu的进程 执行:top 输出: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND root 3320m 689m 10m S : java root 2694m 21m S :28.…
1. Java 命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符.此外,一般应采用小写字母,但类名.接口名以及任何非初始单词的第一个字母要大写. 1.1 一般概念 * 尽量使用完整的英文描述符 * 采用适用于相关领域的术语 * 采用大小写混合使名字可读 * 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一 * 避免使用长的名字(小于 15 个字母是个好主意) * 避免使用类似的名字,或者仅仅是大小写不同的名字 * 避免使用下划线(除静态常量等) 1.2 示范 * 包(P…
第一步: 查看消耗CPU最高的进程PID [lolaage@web2 tomcat-ns]$ top top - 13:23:32 up 42 days, 19:11,  3 users,  load average: 1.01, 0.86, 0.78 Tasks: 153 total,   2 running, 151 sleeping,   0 stopped,   0 zombie %Cpu(s): 16.3 us,  0.8 sy,  0.0 ni, 82.8 id,  0.0 wa, …
1.根据进程号查看线程 ps -mp pid -o THREAD,tid,time 2 把tid值转成16进制 printf "%x\n" tid 3.根据上面获取到的16进制数据查看线程状态 jstack pid |grep tid -A 30…
上述标题读者朋友应该也注意到了是让接口的职责保持单一,而不是实现者单一. 设计模式六大原则之单一原则: 定义 不要存在多于一个导致类变更的原因.**通俗的说,即一个类只负责一项职责. 下面以一个电话模型做参考:拨打一次电话一般包括如下几个过程: 拨号  通话 回应 挂机 从职责上分两个含义:1.拨号和挂机是通信协议上的范畴  2.通话和回应是数据交互的范畴. 所以在设计接口的时候 可以考虑把他们分开对待 但实现类不建议单独实现一个,因为这间接会导致一定程度的复杂性,最后其实还是要有一个类来组合实…