之前学习java仅仅是单纯的学习,老师要求学习。所以就学习。可是没有细致考虑过java的一些特别之处,比方,我们为什么要学习java而不是其它的语言,它必定有选择它的特点。所以,从如今開始,仅仅有埋头苦学的日子已经过去,接下来的几个月里,都是埋头苦学加上抬头看路了。

前两天九期忙忙活活的前后准备了好几次面试,晚上闹得家里也不得安宁,于是趁着小左和张薄在沙发上用功的准备面试题的时候,我也随便查了一下java的面试题,发现。关考java特点的就有好几道,要知道面试题和应试教育有一个共同的优点就是。能频繁考到的肯定都是重点。于是今天整理了下java的特点。

java是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就很流行。发展迅速。对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网。同一时候拥有全球最大的开发人员专业社群。在全球云计算和移动互联网的产业环境下。Java更具备了显著优势和广阔前景。

那么,java有哪些特点呢?

Java语言是易学的。

Java语言的语法与C语言和C++语言非常接近,使得大多数程序猿非常easy学习和使用Java。还有一方面,Java丢弃了C++中非常少使用的、非常难理解的、令人迷惑的那些特性,如操作符重载、多继承、自己主动的强制类型转换。特别地,Java语言不使用指针。而是引用。并提供了自己主动的废料收集,使得程序猿不必为内存管理而担忧。

Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,仅仅支持类之间的单继承。但支持接口之间的多继承,并支持类与接口之间的实现机制(keyword为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的性能还是较优的。

Java语言是原生支持多线程的。在Java语言中。线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口。因此,不论什么一个线程均有它的run方法,而run方法中包括了线程所要执行的代码。

线程的活动由一组方法来控制。Java语言支持多个线程的同一时候执行,并提供多线程之间的同步机制(keyword为synchronized)。

Java语言是动态的。Java语言的设计目标之中的一个是适应于动态变化的环境。Java程序须要的类可以动态地被加载到执行环境。也可以通过网络来加载所须要的类。

这也有利于软件的升级。

另外。Java中的类有一个执行时刻的表示,能进行执行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也降低了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可执行的特性使得它可以提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

当然,进一步想,java的这些特点都源于它的各种机制,想要知道java的工作机制,敬请期待!

java总结(1)——java的特点的更多相关文章

  1. java head space/ java.lang.OutOfMemoryError: Java heap space内存溢出

    上一篇JMX/JConsole调试本地还可以在centos6.5 服务器上进行监控有个问题端口只开放22那么设置的9998端口 你怎么都连不上怎么监控?(如果大神知道还望指点,个人见解) 线上项目出现 ...

  2. 【Java大系】Java快速教程

    感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品.James Gosling领 ...

  3. 《深入理解Java虚拟机》Java内存区域与内存溢出异常

    注:“蓝色加粗字体”为书本原语 先来一张JVM运行时数据区域图,再接下来一一分析各区域功能:   程序计数器 程序计数器(program Counter Register)是一块较小的内存空间,它可以 ...

  4. Tomcat报java.lang.OutOfMemoryError: Java heap space错误停止运行如何解决

    最近开发的一个商业项目,部署完成后,经常出现Tomcat挂掉的现象,报的异常是:java.lang.OutOfMemoryError: Java heap space,上网google了一下,了解了一 ...

  5. MyCAT报java.lang.OutOfMemoryError: Java heap space

    早上同事反映,mycat又假死了,估计还是内存溢出,查看了一下错误日志. INFO | jvm | // :: | java.lang.OutOfMemoryError: Java heap spac ...

  6. 【Java】实战Java虚拟机之五“开启JIT编译”

    今天开始实战Java虚拟机之五“开启JIT编译” 总计有5个系列 实战Java虚拟机之一“堆溢出处理” 实战Java虚拟机之二“虚拟机的工作模式” 实战Java虚拟机之三“G1的新生代GC” 实战Ja ...

  7. Java提高篇——Java 异常处理

    异常的概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用Syst ...

  8. Java import以及Java类的搜索路径

    如果你希望使用Java包中的类,就必须先使用import语句导入.import语句与C语言中的 #include 有些类似,语法为:    import package1[.package2-].cl ...

  9. [Java] SoapUI使用Java获取各时间日期方法

    import java.util.*; import java.text.SimpleDateFormat; // current date String dateNew = today() // t ...

  10. Tomcat 启动项目报错 java.lang.OutOfMemoryError: Java heap space

    近日使用myeclipse 部署web项目,启动tomcat时报错: SEVERE: Error waiting for multi-thread deployment of directories ...

随机推荐

  1. ORACLE自定义顺序排序

    ORACLE可以借助DECODE函数,自定义顺序排序: select * from ( select 'Nick' as item from dual union all select 'Viki' ...

  2. taglib的uri问题

    最开始我在代码中看到这样的代码(运行正常): <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/fu ...

  3. 一个activity

    package com.example.administrator.Activity; import android.content.Context;import android.content.In ...

  4. poj2452

    题意:就是说给你一段区间,要你找出一段最长的区间,在这段区间的所有数都大于区间的第一个数.小于区间的最后一个数......输出区间的长度,若是长度为0则输出-1. 4 5 4 3 6 4 6 5 4 ...

  5. PHP MysqlI操作数据库

    1连接数据库. //procedural style $mysqli = mysqli_connect('host','username','password','database_name'); / ...

  6. C语言 · 完美的代价

    基础练习 完美的代价   时间限制:1.0s   内存限制:512.0MB        锦囊1 使用贪心算法. 锦囊2 从左到右枚举每个字符,移动对应字符.个数为单的字符放中间.   问题描述 回文 ...

  7. 一、think in java 第一章

    一.面向对象程序设计方式: 1.万物皆为对象. 将对象视为奇特的变量,它可以存储数据,也可以要求它在自身上执行操作. 2.程序是对象的集合,它们通过发送消息来告知彼此所要做的. 要请求一个对象,就必须 ...

  8. JavaScript中的Boolean 方法与Number方法

    <html> <head> <script type="text/javascript"> //创建 var str = "aaafg ...

  9. HTML文档的经常使用标记

    一.HTML文档中经常使用的标记有文字标记.段落标记.列表标记.超链接标记.图像标记.表格标记.框架标记和多媒体标记,以下对这些经常使用标记进行介绍: 1.文字标记:文字是网页重要的组成部分之中的一个 ...

  10. JavaScript(一):JavaScript简介

    一.什么是JavaScript JavaScript是一种具有面向对象能力的.解释性的程序设计语言.更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言.因为他不需要在一个语言环境下运行 ...