A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郝亚平 黑马帝   /  2011-11-8 20:11  /  2198 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面是自己写的继承Thread类来实现并发的小东东。能够看到线程之间在“强占CPU”。。

//继承Thread类
class BaseThread extends Thread{
        private String name;
        BaseThread(String myname){
                this.name = myname;
        }
       //重载run()方法,在这里写并发执行代码
        public void run(){
                for (int i=0;i<100;i++){
                        System.out.println(name+"执行标识:"+"->"+i);
                }
        }
}


public class TestThread{
        public static void main(String args[]){

            //程序内开辟两个新的执行路径
            BaseThread bt1= new BaseThread("线程1");
            BaseThread bt2= new BaseThread("线程2");
           //启动线程
            bt1.start();
            bt2.start();

            for (int i=0;i<100;i++){
                System.out.println("主线程执行标识:"+"->"+i);
            }
        }
}

在Eclipse下面可以编译通过,正确执行显示结果。
但是当自己在CMD里面操作时,采用javac工具编译.java也可以生成TestThread.Class和BaseThread.Class两个文件,
而当用java命令去执行.class时,就报错了。错误信息如下,自己就不明白了,Eclipse下可以,为什么命令下就这样啦。。希望给点提示呀。。。谢谢。

Exception in thread "main" java.lang.NoClassDefFoundError: TestThread/class
Caused by: java.lang.ClassNotFoundException: TestThread.class
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: TestThread.class.  Program will exit.


8 个回复

倒序浏览
我在cmd命令下运行你的代码怎么没出现你上面的错误呀你再试试
回复 使用道具 举报
柴永菲 发表于 2011-11-8 20:27
我在cmd命令下运行你的代码怎么没出现你上面的错误呀你再试试

恩。真的吗。那我的,是怎么了啊。无语哇。继续找原因中。再试试。呵呵
回复 使用道具 举报
找不到.class,如果是在当前路径下找不到.class文件的话,用绝对路径试试。。可能是环境变量没设置正确
回复 使用道具 举报
贺行之 发表于 2011-11-8 20:48
楼主没有设置classpath系统参数,鉴定完毕= =

Yeah,works。。。非常谢谢啦:~
回复 使用道具 举报
贺行之 发表于 2011-11-8 21:02
刚打电话去了,楼主,在环境变量里新建一个classpath变量,设置值指向JDK目录里的\lib\tools.jar,就可以解决了 ...

恩。谢谢。
回复 使用道具 举报
郝亚平 黑马帝 2011-11-8 21:58:08
7#
风之末端 发表于 2011-11-8 20:59
找不到.class,如果是在当前路径下找不到.class文件的话,用绝对路径试试。。可能是环境变量没设置正确 ...

恩。谢谢。是环境变量classpath没有配置呀。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马