Java运行的基本环境由两个部分组成:一个是Java Virtual Machine即Java虚拟机,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口。
Java API 是一个大的已经做好的软件集合,这个集合里有许多开发时所需要的控件,用来辅助开发。Java API和JVM整合在一起处于机器硬件之上。也就是说,Java平台把一个Java应用程序从硬件系统分离开从而很好的保证了程序的独立性。
为了更好的适应开发的需要,Java的设计者们为我们提供了三种Java平台:Java 2 Micro Edition (J2ME ), Java 2 Standard Edition (J2SE)和 Java 2 Enterprise Edition (J2EE). 每一个版本都提供了丰富的开发工具箱以适应不同的开发需要。
Java平台的核心JVM的具体结构:
为了让编译产生的字节码可以更好的解释与执行,一共把JVM分成了主要的6块:JVM解释器,指令系统,寄存器,栈,存储区,碎片回收区。
JVM解释器就是这个虚拟机的处理字段码的CPU。
JVM指令系统同硬件计算机很相似。一条指令分成 *** 作码和 *** 作数两部分组成。 *** 作码为8位二进制数, *** 作数可以根据需要而定。 *** 作码是为了说明一条指令的功能,所以JVM可以有多达256种不同的 *** 作指令。
JVM有自己的虚拟寄存器,这样就可以快速的和JVM的解释器进行数据交换。为了功能的需要,JVM设置了常用的4个32位寄存器:pc(程序计数器),optop( *** 作数栈顶指针),frame(当前执行环境指针),vars(指向当前执行环境中第一个局部变量的指针)。
JVM栈是指令执行的时候数据和信息存储的场所和控制中心,它提供给JVM解释器运算所需要的信息。
JVM存储区就是为了把编译过后的字节码等信息存储起来。
JVM碎片回收是指将那些使用过后的Java类的具体的实例从内存进行回收,这就使得开发人员免去了自己编程控制内存的麻烦和危险。随着JVM的不断升级其碎片回收的技术和算法也更加合理。比较经典的算法有引用计数、复制、标记-清除和标记-整理。
在JVM1.4.1版以后产生了一种叫分代收集技术,简单的来说就是利用对象在程序中生存的时间划分成代,以这个为标准进行碎片回收。关于碎片回收将在以后的文章中专门讲解。
软件环境:一般包括数据库(mysql、sqlserver),运行的中间件,即应用服务器,如tomcat、weblogic、webphere。
以及运行的 *** 作系统环境,如windows,unix(AIX,solaris),各版本的linux等,但是java是运行在java虚拟机即jvm上的, *** 作系统的影响不大。
硬件环境:一般是项目运行在的硬件素质(服务器)。如pc server,ibm、hp的小型机等等。
开发工具:有ibm开源的eclipse及衍生的myeclipse,sun的netbeans、或者收费的好用的IntelliJ IDEA等等。
扩展资料:
分类
计算机的 *** 作系统根据不同的用途分为不同的种类,从功能角度分析,分别有实时系统、批处理系统、分时系统、网络 *** 作系统等。
实时系统主要是指系统可以快速的对外部命令进行响应,在对应的时间里处理问题,协调系统工作。 批处理系统在1960年左右出现,可以将资源进行合理的利用,并提高系统的吞吐量。
分时系统可以实现用户的人机交互需要,多个用户共同使用一个主机,很大程度上节约了资源成本。 分时系统具有多路性、独立性、交互性、可靠性的优点,能够将用户-系统-终端任务实现。
批处理系统出现于20世纪60年代,批处理系统能够提高资源的利用率和系统的吞吐量。
网络 *** 作系统是一种能代替 *** 作系统的软件程序,是网络的心脏和灵魂,是向网络计算机提供服务的特殊的 *** 作系统。借由网络达到互相传递数据与各种消息,分为服务器及客户端。
而服务器的主要功能是管理服务器和网络上的各种资源和网络设备的共用,加以统合并控管流量,避免有瘫痪的可能性,而客户端就是有着能接收服务器所传递的数据来运用的功能,好让客户端可以清楚的搜索所需的资源。
参考资料:百度百科- *** 作系统
eclipse、NetBeans、Intellij IDEA、JDK、Java Workshop、Sun Java Studio这些不叫做开发环境而是开发工具。
以下为主流开发工具介绍:
1、Eclipse:一个开放源代码的、基于Java的可扩展开发平台。
2、NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。
3、IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。在IDE的编辑器和工具的生产力增强功能,其设立是最值得注意的。不像其他IDE,它需要付费才能使用。
4、MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。
5、EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。
扩展资料
NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE已经支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。
整个 Netbeans 平台提供对桌面应用程式常用的服务,允许开发者集中于仅限于他的应用程式的逻辑设计。当基于NetBeans 平台的应用被执行,平台主要类别的main方法便会被执行。可用的模组会被放置在存储器中,并且开始执行任务。通常模组会只在被需要时,其代码才会被装进内存。
参考资料:百度百科 - 开发工具
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)