java创建进程执行代码 java 创建进程( 二 )


123456789101112
class MyThread extends Thread{private static int num = 0;public MyThread(){num++;}@Overridepublic void run() {System.out.println("主动创建的第"+num+"个线程");}}
创建好java创建进程执行代码了自己的线程类之后,就可以创建线程对象了,然后通过start()方法去启动线程 。注意,不是调用run()方法启动线程,run方法中只是定义需要执行的任务,如果调用run方法,即相当于在主线程中执行run方法,跟普通的方法调用没有任何区别,此时并不会创建一个新的线程来执行定义的任务 。
1234567891011121314151617181920
public class Test {public static void main(String[] args){MyThread thread = new MyThread();thread.start();}}class MyThread extends Thread{private static int num = 0;public MyThread(){num++;}@Overridepublic void run() {System.out.println("主动创建的第"+num+"个线程");}}
在上面代码中,通过调用start()方法,就会创建一个新的线程了 。为了分清start()方法调用和run()方法调用的区别,请看下面一个例子java创建进程执行代码:
1234567891011121314151617181920212223
public class Test {public static void main(String[] args){System.out.println("主线程ID:"+Thread.currentThread().getId());MyThread thread1 = new MyThread("thread1");thread1.start();MyThread thread2 = new MyThread("thread2");thread2.run();}}class MyThread extends Thread{private String name;public MyThread(String name){this.name = name;}@Overridepublic void run() {System.out.println("name:"+name+" 子线程ID:"+Thread.currentThread().getId());}
JAVA如何生成可执行程序?创建可执行的 JAR 文件包
制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法 。
Java 程序是由若干个 .class 文件组成的 。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运
行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下
去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序 。
因此 , 许多人说,Java 是一种方便开发者苦了用户的程序设计语言 。
其实不然 , 如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了 。在 Windows 下
安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开 。那么 , 对于一个
可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由
hh.exe 打开的) 。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包 。
创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:
jar cvfm test.jar manifest.mf test
这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf 。因为要创建可
执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的
JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST 。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了
Main-Class 一项 。这在 MANIFEST 中书写格式如下:
Main-Class: 可执行主类全名(包含包名)
例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类
(定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:
Main-Class: test.Test 回车
这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该
行以一个回车符结束即可 。创建了 manifest.mf 文件之后,我们的目录结构变为:

推荐阅读