java高级软件工程师-衡山人才网
欢迎来到 衡山县人才网 !人气最火爆的衡山县人才网站,求职招聘热线 0734-8213466

衡山人才网

衡山人才网
人气火爆的衡山县人才网站
官网电话:0734-8213466
 热门搜索: 文员  司机  会计  跟单  普工  销售  外贸  助理 
您当前的位置:衡山县人才网 > 资讯 > 就业资讯 >java高级软件工程师

java高级软件工程师

  Java简介

  Java语言是一个面向对象的。Java语言提供类、接口和继承等原语为了简单起见只支持类之间的单继承但支持接口之间的多继承并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定而C++语言只对虚函数使用动态绑定。总之Java语言是一个纯的面向对象程序设计语言。

  Java语言是分布式的。Java语言支持Internet应用的开发在基本的Java应用编程接口中有一个网络应用编程接口(java net)它提供了用于网络应用编程的类库包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

  Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

  Java语言是安全的。Java通常被用在网络环境中为此Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外Java对通过网络下载的类具有一个安全防范机制(类ClassLoader)如分配不同的名字空间以防替代本地的同名类、字节代码检查并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

  Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件)然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

  Java语言是可移植的。这种可移植性来源于体系结构中立性另外Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性Java编译器是用Java实现的Java的运行环境是用ANSI C实现的。

  Java语言是编译解释型的。如前所述Java程序在Java平台上被编译为字节码格式然后可以在实现这个Java平台的任何系统中运行。在运行时Java平台中的Java解释器对这些字节码进行解释执行执行过程中需要的类在联接阶段被载入到运行环境中。

  Java是高性能的。与那些解释型的高级脚本语言相比Java的确是高性能的。事实上随着JIT(Just-In-Time)编译器技术的发展Java的运行速度可以和优化过的本地代码相媲美。

  Java语言是多线程的。在Java语言中线程是一种特殊的对象它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程其一使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程其二从Thread类派生出子类并重写run方法使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口因此任何一个线程均有它的run方法而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行并提供多线程之间的同步机制(关键字为synchronized)。

  Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境也可以通过网络来载入所需要的类。这也有利于软件的升级。另外Java中的类有一个运行时刻的表示能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

  和C/C++的差异熟悉C语言和C++语言的读者一定想搞清楚这个问题实际上Java确实是从C语言和C++语言继承了许多成份甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明操作符形式参数传递流程控制等方面和C语言C++语言完全相同.尽管如此Java和C语言C++语言又有许多差别主要表现在如下几个方面

  (1)Java中对内存的分配是动态的它采用面向对象的机制采用运算符new为每个对象分配内存空间而且实际内存还会随程序运行情况而改变。程序运行中Java系统自动对内存进行扫描对长期不用的空间作为”垃圾”进行收集使得系统资源得到更充分地利用.按照这种机制程序员不必关注内存管理问题这使Java程序的编写变得简单明了并且避免了由于内存管理方面的差错而导致系统出问题。而C语言通过malloc()和free()这两个库函数来分别实现分配内存和释放内存空间的C++语言中则通过运算符new和delete来分配和释放内存。在C和C++这种机制中程序员必须非常仔细地处理内存的使用问题。一方面如果对己释放的内存再作释放或者对未曾分配的内存作释放都会造成死机;而另一方面如果对长期不用的或不再使用的内存不释放则会浪费系统资源甚至因此造成资源枯竭。

  (2)Java不在所有类之外定义全局变量而是在某个类中定义一种公用静态的变量来完成全局变量的功能。(3)Java不用goto语句而是用try-catch-finally异常处理语句来代替goto语句处理出错的功能。(4)Java不支持头文件而C和C++语言中都用头文件来定义类的原型全局变量库函数等这种采用头文件的结构使得系统的运行维护相当繁杂。

  (5)Java不支持宏定义而是使用关键字final来定义常量在C++中则采用宏定义来实现常量定义这不利于程序的可读性。

  (6)Java对每种数据类型都分配固定长度。比如在Java中int类型总是32位的而在C和C++中对于不同的平台同一个数据类型分配不同的字节数同样是int类型在PC机中为二字节即16位而在VAX-11中则为32位.这使得C语言造成不可移植性而Java则具有跨平台性(平台无关性)。

  (7)类型转换不同。在C和C++中可通过指针进行任意的类型转换常常带来不安全性而在Java中运行时系统对对象的处理要进行类型相容性检查以防止不安全的转换。

  (8)结构和联合的处理。在C和C++中结构和联合的所有成员均为公有这就带来了安全性问题而在Java中根本就不包含结构和联合所有的内容都封装在类里面。

  (9)Java不再使用指针。指针是C和C++中最灵活也最容易产生错误的数据类型.由指针所进行的内存地址操作常会造成不可预知的错误同时通过指针对某个内存地址进行显式类型转换后可以访问一个C++中的私有成员从而破坏安全性。而Java对指针进行完全地控制程序员不能直接进行任何指针操作。

  (10)避免平台依赖。Java语言编写的类库可以在其它平台的Java应用程序中使用而不像C++语言必须依赖于Windows平台。

  (11)在B/S开发方面Java要远远优于C++。

上一篇:聚惠算 下一篇:证券经纪人待遇
免责声明: 本网部分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请立即联系管理员我们会予以更改或删除相关文章保证您的权利。对使用本网站信息和服务所引起的后果,本网站不作任何承诺
微信公众号
打开微信 "扫一扫"
每天多点职场经验