A. java运行库是什么
对于java初学者来说,往往不懂区分jdk和jre的区别,实际上这两个东西差别很大的,有必要了解一下:
·SDK(Software Development Kit)一般指软件开发包,可以包括函数库、编译程序等。
·JDK(Java Development Kit)是面向JAVA开发人员使用的SDK,它提供了Java的开发环境和运行环境。
·JRE(Java Runtime Enviroment)是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
如果安装了JDK,会发现你的电脑有两套JRE,一套位于j2sdk\jre, 另外一套位于 C:\Program Files\Java\j2re1.4.1_01目录下,后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。
而且在安装JDK时可以选择是否安装这个位于 C:\Program Files\Java 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:\Program Files\Java 目录下安装唯一的一套JRE(供浏览器来使用)。
JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的Java PC机,都具有运行Java程序的功能。所以我们可以说,只要你的电脑安装了JRE,就可以正确运行Jav a应用程序。
1、为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放置在 \lib\tools.jar 里。从下面例子可以看出,先将tools.jar改名为tools1.jar,然后运行javac.exe,显示如下结果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 这个意思是说,你输入javac.exe与输入 java -cp c:\jdk\lib\tools.jar com.sun.tools.javac.Main 是一样的,会得到相同的结果。从这里我们可以证明javac.exe只是一个包装器(Wrapper),而制作的目的是为了让开发者免于输入太长的指命。而且可以发现\lib目录下的程序都很小,不大于2 9K,从这里我们可以得出一个结论。就是JDK里的工具几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附的工具来开发Java程序,也必须要自行附一套JRE才行,所以位于C:\Program Files\Java目录下的那套JRE就是用来运行一般Java程序用的。
2、如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在java.exe身上。Java.exe的工作就是找到合适的JRE来运行Java程序。 Java.exe依照底下的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查询注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。
3、介绍JVM JRE目录下的Bin目录有两个目录:server与client。这就是真正的jvm.dll所在。 jvm.dll无法单独工作,当jvm.dll启动后,会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。
也可以参考下面的介绍:
转自: http://www.javanb.com/java/1/17269.html
Java语言的发展经历
(1)Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。
(2)开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之间的通信与协同工作。设计中采用了虚机器码(Virtual Machine Code)方式
(3)中性浏览器HotJava的诞生。不依赖于任何硬件平台和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。
(4)在以网络为中心的计算时代,不支持HTML和Java,就意味着应用程序的应用范围只能限于同质的环境。
(5)未来的计算方式,每个HomePage的实质是一个多媒体应用程序,这些程序用Java来开发。Java应用程序运行在异质的机器、异质的操作系统之上,甚至于电冰箱、烤面包箱、防盗电子设备之中, 用Internet把所有的电子设备连接起来,通过TCP/IP进行信息的交流。未来可能进行代理(Agent)交换,代理有一定的智能性,那便是信息交换的更高级阶段。
Java工业
(1)Java Card
(2)Embedded System
(3)Java Applet
(4)Java Application
(5)Java OS
Java平台技术
Java不仅仅是一种语言,更重要是一种区别于传统系统,遵循"网络就是计算机"信条的平台技术。Java平台将面向对象系统扩展成包括程序和数据的网络计算机(NC),而这个平台的核心就是Java虚拟机,许多使Java成为万能开发平台的属性都源于Java虚拟机的概念和实现。以下是如干重要概念:
(1)Java虚拟机:从底层看,Java虚拟机就是以Java字节码为指令组的软CPU。
(2)字节码:字节码是Java虚拟机的指令组(很象CPU上的微码)。
(3)即用即装入:一个.class文件可以引用许多其它.class文件(在Java语言中,通过import, implement或extends语句实现),当运行的类需要其他类时,Java虚拟机即从网络或本地文件系统装入.class文件。
(4)Java认证器:认证器包括四个阶段的操作:类文件认证、类型系统认证、字节码认证和运行时类型与访问检查。此外,认证器在检查期间还能识别算法操作的上溢和下溢等其他可能发生在运行期间的程序错误。
(5)Java效率和(Just-In-Time)JIT及时编译技术:JIT编译器在程序开始执行前把所有字节码翻译成本地机器码,然后再将翻译后的机器码放在CPU上运行。
Java可移植特性
(1)JAVA作为一种编程语言:源代码可移植性
(2)JAVA作为一个虚拟机:硬件平台可移植性
(3)JAVA作为一种虚拟的操作系统(OS)和图形用户界面(GUI):操作系统移植性
Java语言特性
(1)面向对象:无全局变量或函数
(2)分布式:Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,象本地一样。
(3)取消了C语言的:结构,指针,#define语句,多重继承,全局变量和函数,GOTO语句 ,操作符重载,自动类型转换等等
(4)安全健壮:例如,边界检查,类型检查,字节码认证,自动的指针和内存管理 (5)结构中立:为了建立Java作为网络的一个整体
(6)垃圾收集器:虚拟机自动启动的一个线程来完成不用内存的回收,免去delete.
Java开发工具 (1)JDK:Java开发工具包 (2)Symantec café:第一个推出具有完全特性的集成开发环境的公司是Symantec。
(3)Java Workshop:Sun公司1996年中推出的全部用Java实现的集成开发环境。
(4)Visual J++:微软推出的Visual Stutio组建之一
(5)Jbuilder:Borland公司推出的Windows和linux平台的开发环境。
B. 介绍J2EE、J2SE、J2SE的区别。
j2ee和j2se的区别:
1)J2EE是Java2enterprise edition,是Java的一种企业版,用于企业级的应用服务开发。
J2EE是在J2SE的基础上添加了一系列的企业级应用编程接口,J2EE包含有很多的技术,其中有jsp,servlet,jdbc,jme等13种技术。J2EE主要是用来做B/S结构的应用程序,也就是说是基于浏览器和服务器的。
2)J2SE是Java2standard edition,是Java的标准版,用于标准的应用开发。
Java(计算机编程语言):是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
C. java开发环境是不是DW
java开发环境是不是DW。学习java开发推荐千锋教育,多年来深耕java开发教育,深得学子信赖。
DW里的不是JAVA,而是叫做javascript,javascript是服务器用来解析的脚本文件。JAVA跟javascript是两种不一样的东西,JAVA是系统编程语言,JAVASCRIPT是计算机编程语言,也就是脚本语言。JAVA的开发环境有很多,比较常用的是netbeans, eclipse。
想要了解更多关于java开发的相关信息,推荐咨询千锋教育。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。课程包含HTML5大前端培训、JavaEE+分布式开发培训、Python人工智能+数据分析培训、全链路UI/UE设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Unity游戏开发培训、网络安全培训、区块链培训、影视剪辑包装培训、游戏原画培训、全媒体运营培训。
D. 如何安装java环境 百度经验
右键打开我的电脑复->属性制->高级->环境变量
2.新建系统变量JAVA_HOME和CLASSPATH
变量名(N):JAVA_HOME
变量值(V):C:Program FilesJavajdk1.7.0(这里的地址是根据你自己javaJDK的保存目录而定的)
变量名(N):CLASSPATH
变量值(V):.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;(java_home你就把它看成替换上面设置的java_home变量值就行)注意前面的 .;别丢了
3.选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把jdk安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角英文的分号和已有的路径进行分隔。
变量名(N):Path
变量值(V):%JAVA_HOME%in;%JAVA_HOME%jrein;
如果还不行请贴出你的jdk安装目录,其他配置路径我来帮你写。
E. java,公司有三种开发环境,分别为开发,测试,UAT,请问具体的区别体现在代码的哪里
一般指的开发环境,测试环境,UAT环境;顾名思义:跟环境有关系,代码只是配置的环境地址和参数不同。
F. 一个java项目中的软件环境、硬件环境、开发工具具体指的什么啊
软件环境:一般包括数据库(mysql、sqlserver),运行的中间件,即应用服务器,如tomcat、weblogic、webphere,以及运行的操作系统环境,如windows,unix(AIX,solaris),各版本的linux等,但是java是运行在java虚拟机即jvm上的,操作系统的影响不大。
硬件环境:一般是项目运行在的硬件素质(服务器)。如pc server,ibm、hp的小型机等等。
开发工具:有ibm开源的eclipse及衍生的myeclipse,sun的netbeans、或者收费的好用的IntelliJ IDEA等等。
(6)javacard开发环境扩展阅读:
java的编程环境:
JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK。
另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境。
JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。
G. 用java做程序的软件环境、硬件环境和开发环境怎么写啊简历上要求写的。
软件环境:jdk1.5 + tomcat6 + mysql
硬件环境:小机(服务器)
开发环境:myeclipse + tomcat6 + mysql + jdk1.5
H. java智能卡是什么卡,与cpu卡、准cpu卡,以及和我们经常说的智能卡有什么区别
Java Card API的产生与发展
1996年10月29日,Sun公司宣布完成了Java Card API(Java卡应用程序接口)的规范化工
作。1997年7月,Sun 又推出Java Card API的更新版本。
Java Card API是一个规范化的Java语言大型应用程序接口,它充分利用了智能卡技术使
电子商业、网络存取、分布式程序、游戏程序以及认证等网络功能的实现成为可能。
JavaSoft公司的总裁Alan Baratz对此评价说:"Java卡应用程序不仅可以在任何智能卡
上运行,而且Java程序员还能运用相同的工具开发针对智能卡、页面管理程序、网络计算机
、个人计算机及容错服务器的大型应用程序。"Java Card API为智能卡开发人员提供关键的
Java功能,它是一个工业标准语言,并为智能卡开放了应用程序接口,允许大型应用程序运行
在所有符合ISO7816标准的智能卡上。Java语言的可扩展性以及平台的独立性为生成智能卡
大型应用程序提供了一个理想的环境。到目前为止,智能卡操作人员还一直在编写不具有互
操作性及可移植性的专用应用程序,Java的引入将会改变这一格局。智能卡开发人员可以利
用日益增多的Java开发工具,通过Java Card API编译大型应用程序。JavaSoft公司正在与智
能卡工业的主要公司合作开发一种易于使用的工具,使这些大型应用程序能够在智能卡环境
中运行。