Java初学,基础知识

最近开始学习Java,学习过程中找到的一些资料和笔记,说来惭愧,作为一名程序员,在过去两年时间里,博客园的博客丝毫未见增长,至今始对笔记这些重视起来。

1、JAVA  SEJAVA  EEJAVA  ME有什么区别?

Java的发展到现在已经不单纯仅仅是一种语言,从更加广泛的范围上来说,Java代表了一个技术体系。在这个体系中,JAVA SEJAVA EEJAVA ME则分别代表了不同的方向。

Java SE全称为:Java Standard Edition J2SE也就是Java SE)标准版

Java SE版本为Java程序提供了最基本的环境,是Java技术的核心和基础。Java EEJava ME都建立在Java SE的基础之上。

重点学习:集合类、文件操作、I/O流、线程、序列化和GUI窗体编程等内容

 

Java EE全称为:Java Enterprise Edition J2EE也就是 Java EE)企业版

Java EE是基于服务器分布式企业应用提供开发和运行环境,是目前Java应用最广泛的部分。Java EE不仅继承了Java SE的许多优点,同时还提供了EJBJSPServletXML的全面支持,降低了企业级开发的复杂度。

重点学习:JSPServeletJDBCEJB以及StrutsSpringHibernate等轻量级框架

 

Java ME全称为:Java Micro Editon J2ME也就是Java ME)微缩版

Java ME为嵌入式应用提供开发和运行环境

重点学习:配置(Configuration)和简表(Profile)等

 

2、JAVA语言的运行机制如何?

 

计算机高级编程语言按照程序的执行方式分为:编译型语言和解释型语言

    编译型语言:专门的编译器,针对特定的操作系统将源程序代码一次性编译为计算机能识别的语言(CC++

解释型语言:使用专门的解释器,将源程序代码逐条地解释成特定平台的机器指令,解释一句执行一句(PHPASP等)

 

Java字节码具有平台无关性,所以可以跨平台,只是Java虚拟机需要对应相应平台

Java语言并不属于以上分类,Java是编译型和解释型的综合体

首先,Java采用通用的编译器将源程序编译为与平台无关的字节码文件(class文件)

然后,Java虚拟机(JVM)对字节码文件解释执行

下图为Java代码的具体的执行过程:

 

3什么是JVM?有什么作用?工作机制?

定义:

     JVMJava Virtual Machine)意思为Java虚拟机。可在实际计算机上模拟各种计算机功能。有自己完善的硬件架构,例如处理器、堆栈和寄存器等还具有相应的指令系统。

 

作用:

     JVM中类的装载是由类加载器(ClassLoader)和它的子类实现,其负责在运行时查找和装入类文件的类。

     1JVMJava字节码的执行引擎,Java程序的执行提供必要的支持。

     2优化Java字节码,使之转化为更有效率的机器指令。

     3JVM屏蔽了与具体操作系统相关的信息,Java程序生成能够在JVM上运行的字节码文件(class文件),JVM负责将每一条要执行的字节码送给解释器,解释器再将相应的字节码转化为对应平台的机器指令并执行,由此实现跨平台。(不同平台,不同的JVM

 

工作原理:

JVM在整个JDK中处于最底层,负责与操作系统的交互,用来屏蔽操作系统环境,提供一个完整的操作系统环境。

操作系统中的JVM通过JDK中的java.exe来实现,主要通过以下步骤:

(1)创建JVM装载环境和配置

(2)装载jvm.dll

(3)初始化jvm.dll

(4)调用JNIEnv实例装载并处理class

(5)运行Java程序

 

4、什么是JREJ2RE)?

简介:JREJava Runtime Enviroment的简称,及Java运行时环境,是Java程序运行的必要环境集合,主要由:Java虚拟机、Java平台核心类以及若干支持文件组成。

Sun公司的JRE产品包括:Java Runtime EnviromentJava Plug-in Java Runtim Enviroment两部分,是可以运行、测试和传输应用程序的Java平台。

如果需要在浏览器中运行Java Applet程序,JRE需要辅助软件:Java Plug-in。该软件可以使Java AppletJavaBeans组件在使用Sun公司的JRE环境的浏览器环境中运行。该软件可以在NavigatorIE中,微软自带的虚拟机对Java环境支持并不完全,最好安装一个Sun公司的JRE或者JDK

 

JRE的版本管理:

同一台计算机上安装多个不同版本的JRE并不影响程序的运行,因为控制台使用java.exe工具执行java程序时,操作系统将按照如下顺序查找JRE环境:

(1)先查找当前目录下是否有JRE

(2)再查找父目录下是否有JRE

(3)接着再在环境变量PATH指定的路径中查找JRE

(4)注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Enviroment\查看 CurrentVersion的键值指向哪一个JRE

最常用的是在PATH中查找JRE环境,一般情况下,每一种Java软件在运行之前都会在批处理文件之中临时设置PATH值,然后把自己使用的JRE路径放置在PATH路径的最前端,所以肯定会使用自带的JRE,不会造成版本混乱

 

JRE的基础类库:

JRE自带的基础类库主要在JRE\lib\rt.jar文件中,该文件包括JAVA 2平台中运行的所有类库,与JRE的版本一致。

程序运行时,ClassLoader查找和加载程序引用到的基类库和其他类库

基类库:ClassLoader会自动到rt.jar中加载(操作系统通过PATH环境变量定位JRE,再确定基类库的位置)

其他的类库:ClassLoader在环境变量CLASSPATH中指定的路径搜索,按照先来先到的原则搜索,放在CLASSPATH前面的类库优先被搜到

由此可知:在JAVA程序启动之前,先设置好PATHCLASSPATH的环境变量

posted @ 2015-01-24 13:20  米多鲜森  阅读(151)  评论(0编辑  收藏  举报