安装了jdk,从哪里启动
发布时间:2025-05-22 19:54:53 发布人:远客网络
一、安装了jdk,从哪里启动
1、jdk是不需要启动的,如果电脑上安装了eclipse等软件,当编译运行java代码时会自动调用jdk,这点你是不用担心的。
2、jdk的全称是Java Developer's Kit(java开发工具包),在安装的过程中需要把jdk和jre分开安装在同一文件夹的不同子文件夹下,一定要分开安装。
3、JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库,但是如果电脑上安装了MyEclipse软件,不安装jdk也是可以编写java程序的,因为MyEclipse自带了jdk,所以不需要安装。
4、但是需要注意的是MyEclipse自带的jdk版本可能较低,如果想要更高版本的jdk可以自行安装,在把MyEclipse的编译运行环境改为此电脑的jdk就行了。
二、java中如何启动一个新的线程
1、1):定义一个继承自Java.lang.Thread类的类A.
2、2):覆盖A类Thread类中的run方法。
3、3):我们编写需要在run方法中执行的操作:run方法中的代码,线程执行体。
4、4):在main方法(线程)中,创建一个线程对象并启动线程。
5、注意:不要调用run方法。如果run方法被称为对象调用方法,则仍然只有一个线程,并且没有启动新线程。
6、1):定义要在java.lang.Runnable接口中实现的类A.请注意,A类不是线程类。
7、2):覆盖A类Runnable接口中的run方法。
8、3):我们编写需要在run方法中执行的操作:在run方法中,线程执行。
9、4):在main方法(线程)中,创建一个线程对象并启动线程。
10、Thread t= new Thread(new A());
11、1):从设计上分析,Java中类是单继承的,如果继承了Thread了,该类就不能再有其他的直接父类了.
12、2):从操作上分析,继承方式更简单,获取线程名字也简单.(操作上,更简单)
13、3):从多线程共享同一个资源上分析,继承方式不能做到.
14、1):从设计上分析,Java中类可以多实现接口,此时该类还可以继承其他类,并且还可以实现其他接口,设计更为合理.
15、2):从操作上分析,实现方式稍微复杂点,获取线程名字也比较复杂,得使用Thread.currentThread()来获取当前线程的引用.
16、3):从多线程共享同一个资源上分析,实现方式可以做到(是否共享同一个资源).
17、String name= Thread.currentThread().getName();
三、怎么启动Java程序
1、在Android中启动Java程序其实有很多种方式,现总结如下
一、在Android应用程序中发送Intent启动Android应用程序
2、一、在Android应用程序中发送Intent启动Android应用程序
3、这个方式最简单,最常用。在此不在累述。关于Intent的更多内容请阅读《Intent技术简介》
4、二、在shell控制台通过am命令发送Intent来启动Android应用程序
5、在Android的shell控制台通过am命令发送Intent来启动Android应用程序
6、关于此的详细内容请参考《Android命令am详解》
7、三、在shell控制台直接通过davlikvm命令启动一个JAVA程序。
8、该方式有个天生的缺点,即在其中,很多Android的JNI无法调用。因为Android的很多JNI其实是需要手动注册的。
9、关于请参考《基本Dalvik VM调用》
10、四、在shell控制台直接通过运行app_process程序启动一个JAVA程序
11、在app_process程序中,会对Android的JNI进行手动注册的,能很好的使用Android的API,因此通过运行app_process程序启动一个JAVA程序,是一个比较完美的方式。app_process程序是一个C程序,源码位于frameworks\base\cmds\app_process。
12、关于使用请参考《Android命令am详解》以及shell脚本frameworks\base\cmds\am\am和frameworks\base\cmds\pm\pm
13、CLASSPATH指定了程序的位置,com.android.commands.pm.Pm则说明了程序的入口为com.android.commands.pm.Pm,即入口函数main()所在的类,"$@"就是传递给main()函数的参数,只是这里"$@"本身又是个shell传入的参数而已
14、总结:需要注意的是CLASSPATH中的文件必须是dalvik文件格式的,关于此的转换请参考《基本Dalvik VM调用》当然CLASSPATH中的文件可以是apk文件,只是apk中至少应该有个拥有main()入口函数的类。