使用tomcat java进程占用cpu偏高的原因
2013-10-28 10:32
387 查看
一个方法内部有两个线程共享内部类对象的时候,这个方法的局部变量如果能被访问,
则就成为临界资源,导致程序不稳定,所以必须是final的。
反正总而言之,java就是不允许你在局部内部类里面更改所在方法的局部变量就是了
public class MyBase {
public AnoClass func(final int i){
return new AnoClass(){
int j=i;
{
System.out.println("Anonymous Inner class");
}
public void func(){
System.out.println("Inner AnoClass");
}
};
}
/**
* @param args
*/
public static void main(String[] args) {
MyBase mybase = new MyBase();
AnoClass anoClass = mybase.func(5);
anoClass.func();
}
}
class AnoClass{
public void func(){
System.out.println("AnoClass.");
}
}
则就成为临界资源,导致程序不稳定,所以必须是final的。
反正总而言之,java就是不允许你在局部内部类里面更改所在方法的局部变量就是了
public class MyBase {
public AnoClass func(final int i){
return new AnoClass(){
int j=i;
{
System.out.println("Anonymous Inner class");
}
public void func(){
System.out.println("Inner AnoClass");
}
};
}
/**
* @param args
*/
public static void main(String[] args) {
MyBase mybase = new MyBase();
AnoClass anoClass = mybase.func(5);
anoClass.func();
}
}
class AnoClass{
public void func(){
System.out.println("AnoClass.");
}
}
相关文章推荐
- 使用tomcat java进程占用cpu偏高的原因
- linux下查找java进程占用CPU过高原因
- linux下查找java进程占用CPU过高原因
- linux下查找java进程占用CPU过高原因
- 解决:Linux下Java占用CPU突然升高,即使用空的tomcat也不会降低
- linux系统中使用tomcat容器java进程自动关闭jvm crash的原因
- 如何找到占用cpu最高的java线程?tomcat所在线程是守护线程吗?如何在linux中断一个Java进程中的线程,如何让一个守护线程不被结束
- Linux下Java进程占用CPU超较高原因分析
- JAVA进程高CPU占用故障排查
- 读取 cpu百分比 进程占用cpu百分比的JAVA实现方式
- 生产环境下JAVA进程高CPU占用故障排查
- 关于使用WindowsUpdate 或 Windows 自动升级时碰到的 svchost.exe 进程 CPU 资源占用过高的问题的相关信息
- CentOS中分析java占用大量CPU资源的原因
- java进程cpu占用过高处理步骤
- 详解IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式)
- Tomcat 发布程序使用cmd查看端口占用、相应进程、杀死进程等的命令
- java 获取进程ID 物理内存 cpu使用百分比(linux环境)
- 生产环境下JAVA进程高CPU占用故障排查
- php-cgi进程占用cpu资源过大原因分析及解决
- 找出System进程占用100%CPU的原因