1.JavaSE、JavaEE、javaME的区别
①se写桌面应用,ee写web应用,me写移动应用。但现在me被安卓取代了。
②ee用的很少,用的都是在ee上面衍生出来的spring。
③Java SE(Java Platform,Standard Edition)
可以开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。是EE,和ME的基础
Java EE (Java Platform,Enterprise Edition)
是为开发企业环境下的应用程序提供的一套解决方案。 该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web应用程序开发。
Java ME(Java Platform,Micro Edition)
是为开发电子消费产品和嵌入式设备提供的解决方案。 该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
2.JDK与JRE的区别
①JDK(Java Development toolKit java开发工具包)
JDK是提供给JAVA开发人员使用的,其中包含了JAVA的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了
②JRE(Java Runtime Environment java运行环境)
包括JAVA虚拟机和JAVA程序所需的核心类库,如果想要运行一个开发好的JAVA程序,计算机中只要安装JRE即可
注意:
需要开发Java程序,应该选择安装JDK;安装了JDK之后,就包含了JRE也可以运行Java程序;如果只是运行Java程序,需要在计算机上安装JRE
3.JRE和JVM的关系
JRE包含JVM,JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要其他的类加载器,字节码验证器以及大量的基础类库,JRE除了包含JVM之外, 还包含运行Java程序的其他环境支持
4.安装JDK的时候注意点
①安装只需要安装Devepment Tools和Source Code,不需要安装Public JRE
Devepment Tools: JDK的核心,包含贬义Java程序的必须的命令工具,这个选项里已经包含了运行Java程序的JRE,这个JRE会安装在JDK安装目录的子目录里,这也是无需安装Public JRE的原因
public JRE:一个独立的JRE系统,会单独安装在系统的其他路径下。公共JRE会向IE浏览器和系统中注册Java的运行环境,通过这种方式系统的任何应用程序都都可以使用公共JRE。由于现在网页上上执行Applet的机会越来越少,而且完全可以使用JDK目录下的JRE来运行Java程序,因此没有太大的意义安装Public JRE。
Source Code:这个选项会安装Java的所有核心类的源代码
②系统默认会安装在C:\Program Files路径下,但是不推荐安装在有空格的目录下,这样可能导致未知的异常
5.JDK安装路径下目录
①bin:该路径下存放了JDK的各种工具命令,常用的javac,java命令就放在该路径下
②db:该路径是安装Java DB的路径
③include:一些平台特定的头文件
④jre:该路径下安装的就是运行java程序所必须的JRE环境
⑤lib:该路径下存放的就是JDK工具命令的实际运行程序
6.设置PATH环境变量:建议在用户变量下新建名为PATH的环境变量,值为C:\Java\jdk1.8.0_91\bin (自己安装JDK的路径)
用户变量和系统变量没有太大的差别,只是系统变量的路径排在用户路径变量之前。如果PATH系统变量里包含了java命令,而PATH用户变量的路径里也包含java命令,则优先执行Path系统变量路径里的java命令
7.关于CLASSPATH环境变量
注意:1.5以上版本的JDK不需要设置CLASSPATH这个环境变量
如果要设置CLASSPATH环境变量,一定不要忘记在CLASSPATH环境变量中增加一点(.),一点代表当前路径,用以强制java解释器在当前路径下搜索Java类
(1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径)
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
8.main方法
如果需要用java命令直接运行一个java类,这个java类必须包含main方法,这个main方法必须使用public和static来修饰,必须使用void声明该方法的返回值,而且该方法的参数类型只能是一个字符串数组,而不能使用其他形式的参数,对于main方法前面的public和static修饰符位置可以互换,但其他部分是固定的
注意:定义main方法时,不能写成Main方法,如果写成Main编译时不会出错但是运行时会提示找不到main方法
public static void main(String args[])
{
//自己的代码
}