1、2011年7月28日,甲骨文发布java7.0的正式版。,Java的发明人-James Gosling詹姆斯高斯林,为什么要开发Java?,应当使用面向对象程序设计方法学-OOP应当允许同一程序在不同的计算机平台执行-跨平台应当包括内建的对计算机网络的支持-支持网络应当被设计成安全地执行远端代码-支持分布式应当易于使用,并借鉴以前那些面向对象语言(如C+)的长处-安全、高速等,Java技术分主要三部分,Java语言Java运行环境Java类库-API,Java与其它语言的联系,Java确实是从C语言和C+语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变
2、量声明,操作符形式,参数传递,流程控制等方面和C语言、C+语言完全相同。C#与JavaC#的语法基本与Java一样C#来源于微软的VisualJ,因涉及到版权问题,微软重新研制了C#,以与Java抗衡PHP与Java二者都可用于Web开发的,但PHP主要用于Web开发,而不怎么用于企业级的面向业务管理的开发PHP是PHP是解释执行的服务器脚本语言,Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的运行速度远高于PHP。适合开发中小型的Web应用,开发的速度比较快。Java的应用领域更广泛采用Java的Web开发技术,需要使用的是面向对象的系统设计方法,而PH
3、P先期还是采用面向过程的开发方法,不支持OOP。不过最新的PHP版本已经开始支持OOP了。,Java与C及C+的区别,Java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变。程序运行中 Java系统自动对内存进行扫描,对长期不用的空间作为”垃圾”进行收集,使得系统资源得到更充分地利用.按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了由于内存管理方面的差错而导致系统出问题。而C语言通过malloc()和free()这两个库函数来分别实现分配内存和释放内存空间的,C+语言中则通过运
4、算符new和delete来分配和释放内存。在C和C+这种机制中,程序员必须非常仔细地处理内存的使用问题。一方面,如果对己释放的内存再作释放或者对未曾分配的内存作释放,都会造成死机;而另一方面,如果对长期不用的或不再使用的内存不释放,则会浪费系统资源,甚至因此造成资源枯竭。Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。Java不用goto语句,而是用try-catch-finally异常处理语句来代替goto语句处理出错的功能。Java不支持头文件,而C语言和C+语言中都用头文件来声明类的原型、全局变量、库函数等,这种采用头文件的结构使得系统的运行
5、维护相当繁杂。Java不支持宏定义。Java只能使用关键字final来定义常量。,Java与C及C+的区别,Java对每种数据类型都分配固定长度。比如,在Java中,int类型总是32位的,而在C语言和C+语言中,对于不同的平台,同一个数据类型分配不同的字节数,同样是int类型,在PC机中为二字节即16位,而在VAX-11中,则为32位。这使得C语言造成不可移植性,而Java则具有跨平台性(平台无关性)。类型转换不同。在C语言和C+语言中,可通过指针进行任意的类型转换,常常带来不安全性,而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。结构和联合的处理。Java中
6、根本就不允许类似C语言的结构体(struct)和联合体(union)包含结构和联合,所有的内容都封装在类里面。Java不再使用指针。指针是C语言和C+语言中最灵活,也最容易产生错误的数据类型。由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C+中的私有成员,从而破坏安全性。而Java用“引用”的方式,对指针进行完全地控制,程序员不能直接进行任何指针操作。避免平台依赖。Java语言编写的类库可以在其它平台的Java应用程序中使用,而不像C+语言必须运行于单一平台。在B/S开发方面,Java要远远优于C+。,Java的优势和劣势,优势:J
7、ava适合团队开发,软件工程可以相对做到规范。由于Java语言本身的极其严格语法的特点,Java语言无法写出结构混乱的程序。这将强迫程序员的代码软件结构的规范性。这是一个很难比拟的优势。劣势:J2EE的架构很完美,可以做出今人很满意大型软件系统,但是很不适合互联网模式的持续不断修改,持续的修修补补将导致架构的破坏。,Java语言的主要特点,面向对象Java的特点之一就是面向对象,是程序设计方法的一种。“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。代码和数据的实际集合体叫做“对象”。一个对象可以想像成绑定了很多“行为(代码)”和“状态(数据)”的物体
8、。对于数据结构的改变需要和代码进行通信然后操作,反之亦然。面向对象设计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。跨平台Java语言的第二个特性就是跨平台性,也就是说使用Java语言编写的程序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行。这个特
9、性经常被称为“一次编译,到处运行”。自动垃圾回收(Garbage Collection)C+语言一个比较致命的缺点之一是大多数C+编译器不支持垃圾收集机制。Java语言则不同,上述的情况被自动垃圾收集功能自动处理。对象的创建和放置都是在存储器堆栈上面进行的。当一个对象没有任何引用的时候,Java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放存储器以避免存储器泄漏。,Java语言的主要特点,支持B/S机制开发JSP动态网页技术Servlets服务器端处理技术支持多线性开发在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程
10、:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。支持分布式开发Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于
11、网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。安全性Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。,Java基础技术内容,Java语言概述Java语言基础类与对象继承与接口数组与字符串Ja
12、va的异常处理机制输入输出及数据库操作多线程图形用户界面设计,Java高级技术内容介绍,Java数据库程序设计数据库技术概述SQL语言JDBC编程接口Java Web服务器Servlet服务器小程序JSP动态网页技术Internet数据库应用实例JavaBean组件设计JavaBean组件JavaBean测试工具BDKJavaBeanAPIJavaBean属性,Java平台体系,Java SE(J2SE)(Java2 Platform Standard Edition)标准版的Java开发平台它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支
13、持Java Web 服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。Java EE(J2EE)(Java 2 Platform,Enterprise Edition)面向企业的Java开发平台企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。Java ME(J2ME)(Ja
14、va 2 Platform Micro Edition)面向嵌入设备开发平台这个版本以前称为J2ME,也叫K-JAVA。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。,Java SE架构图,Java SE与Java EE的区别,Java SE,EJB,Servlet,XML,JSP,Java EE,Java EE的组成解释,EJB EJB是Enterprise Java Beans的缩写,称为Java 企业Bean。EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB(Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。在J2EE里,EJB是Java的核心代码,分别是会话
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1